Manual API Test Dokümanı
1. Giriş
Section titled “1. Giriş”API Nedir?
Section titled “API Nedir?”API (Application Programming Interface), iki yazılım bileşeninin birbiriyle iletişim kurmasını sağlayan bir arayüzdür.
REST API, HTTP protokolü üzerinden çalışan, kaynak odaklı bir yapıya sahiptir.
Manual API Testing Nedir?
Section titled “Manual API Testing Nedir?”Manual API Testing, otomasyon araçları kullanılmadan, Postman veya cURL gibi araçlarla API isteklerinin manuel olarak test edilmesi işlemidir.
Kullanılan Araçlar
Section titled “Kullanılan Araçlar”- Postman (Koleksiyonlar, ortam değişkenleri, test scriptleri)
- cURL (Terminal üzerinden API isteği gönderimi)
2. Test Ortamı ve Gereksinimler
Section titled “2. Test Ortamı ve Gereksinimler”| Gereksinim | Açıklama |
|---|---|
| Base URL | https://reqres.in/api |
| Auth Türü | None (örnek API) |
| Header | Content-Type: application/json |
| Body Formatı | JSON |
3. Test Senaryosu Şablonu
Section titled “3. Test Senaryosu Şablonu”| Test ID | Senaryo Adı | Endpoint | Metod | Giriş Verisi | Beklenen Sonuç | Gerçek Sonuç |
|---|---|---|---|---|---|---|
| TC001 | Kullanıcı listesini getir | /users | GET | - | Status Code = 200 | PASS |
| TC002 | Yeni kullanıcı oluştur | /users | POST | name, job | Status Code = 201 | PASS |
| TC003 | Kullanıcı güncelle | /users/2 | PUT | name, job | Status Code = 200 | PASS |
| TC004 | Kullanıcı sil | /users/2 | DELETE | - | Status Code = 204 | PASS |
4. Örnek Endpoint’ler ve Testler
Section titled “4. Örnek Endpoint’ler ve Testler”🔹 GET /users
Section titled “🔹 GET /users”Amaç: Kullanıcı listesini getirir.
✅ Postman
Section titled “✅ Postman”- Method: GET
- URL:
https://reqres.in/api/users?page=2
✅ cURL
Section titled “✅ cURL”curl -X GET "https://reqres.in/api/users?page=2" -H "accept: application/json"✅ Beklenen Sonuç
Section titled “✅ Beklenen Sonuç”- Status Code: 200
- Response Body: Kullanıcı listesi dönmeli
🔹 POST /users
Section titled “🔹 POST /users”Amaç: Yeni kullanıcı oluşturur.
✅ Postman
Section titled “✅ Postman”- Method: POST
- URL:
https://reqres.in/api/users - Body (raw - JSON):
{ "name": "Mehmet", "job": "QA Engineer"}✅ cURL
Section titled “✅ cURL”curl -X POST "https://reqres.in/api/users" -H "Content-Type: application/json" -d '{"name": "Mehmet", "job": "QA Engineer"}'✅ Beklenen Sonuç
Section titled “✅ Beklenen Sonuç”- Status Code: 201
- Response Body:
idvecreatedAtalanlarını içermeli
🔹 PUT /users/2
Section titled “🔹 PUT /users/2”Amaç: Var olan kullanıcıyı günceller.
✅ cURL
Section titled “✅ cURL”curl -X PUT "https://reqres.in/api/users/2" -H "Content-Type: application/json" -d '{"name": "Mehmet", "job": "Senior QA"}'✅ Beklenen Sonuç
Section titled “✅ Beklenen Sonuç”- Status Code: 200
- Response Body:
updatedAtalanını içermeli
🔹 DELETE /users/2
Section titled “🔹 DELETE /users/2”Amaç: Kullanıcıyı siler.
✅ cURL
Section titled “✅ cURL”curl -X DELETE "https://reqres.in/api/users/2"✅ Beklenen Sonuç
Section titled “✅ Beklenen Sonuç”- Status Code: 204
5. Postman Testleri
Section titled “5. Postman Testleri”Koleksiyon Oluşturma
Section titled “Koleksiyon Oluşturma”- Yeni bir Collection oluşturun.
- İçine
/usersendpointlerini ekleyin. - Tests sekmesinde aşağıdaki script örneklerini kullanın.
Test Script Örnekleri
Section titled “Test Script Örnekleri”pm.test("Status code is 200", function () { pm.response.to.have.status(200);});
pm.test("Response has data", function () { var jsonData = pm.response.json(); pm.expect(jsonData.data.length).to.be.above(0);});Environment Değişkenleri
Section titled “Environment Değişkenleri”{{baseUrl}}=https://reqres.in/api{{userId}}= Dinamik olarak kaydedilebilir (pm.environment.set("userId", jsonData.id);)
6. Hata Durumları
Section titled “6. Hata Durumları”| Kod | Açıklama | Örnek |
|---|---|---|
| 400 | Bad Request | Eksik parametre |
| 401 | Unauthorized | Token eksik veya geçersiz |
| 403 | Forbidden | Erişim reddedildi |
| 404 | Not Found | Geçersiz endpoint veya ID |
| 500 | Internal Server Error | Sunucu hatası |
7. Test Raporlama
Section titled “7. Test Raporlama”Postman (Collection Runner)
Section titled “Postman (Collection Runner)”- Koleksiyonu çalıştırın.
- Sonuçları JSON veya HTML formatında dışa aktarın.
Newman CLI Raporlama
Section titled “Newman CLI Raporlama”newman run Collection.json -r cli,htmlManuel Rapor Tablosu
Section titled “Manuel Rapor Tablosu”| Test ID | Sonuç | Not |
|---|---|---|
| TC001 | PASS | - |
| TC002 | PASS | ID döndü |
| TC003 | PASS | updatedAt alanı var |
| TC004 | PASS | 204 döndü |
8. Sonuç ve Öneriler
Section titled “8. Sonuç ve Öneriler”- API testleri otomasyona geçirilebilir (Postman → Newman → CI/CD).
- Manuel testlerde edge-case senaryolar önemlidir.
- Yanıt süresi, hata yönetimi ve güvenlik testleri mutlaka yapılmalıdır.