API Testi Nedir, Nasıl Yapılır? Adım Adım Başlangıç Rehberi

API Testi Nedir, Nasıl Yapılır? Adım Adım Başlangıç Rehberi

Bir uygulamayı test ederken her şey kusursuz görünebilir.

Butonlar çalışır, ekranlar açılır, formlar gönderilir.

Peki ya arka planda ne oluyor?

Bir kullanıcı sipariş oluşturduğunda bilgiler gerçekten kaydediliyor mu? Ödeme tutarı doğru hesaplanıyor mu? Yetkisiz bir kullanıcı başkasının verilerine erişebiliyor mu?

Kullanıcının görmediği bu katman, çoğu zaman en kritik hataların ortaya çıktığı yerdir. İşte API testleri tam olarak bu noktada devreye girer.

Bu yazıda API testi nedir, API testine nasıl başlanır, hangi kontroller yapılmalıdır ve başlangıç seviyesinde hangi araçlar kullanılabilir birlikte inceleyeceğiz.

Kısaca: API testi nedir?

API, farklı sistemlerin birbiriyle iletişim kurmasını sağlayan bir arayüzdür.

Basit bir benzetmeyle; restoranda müşteri ile mutfak arasındaki garson neyse, uygulamalar arasındaki iletişimde API de odur.

Müşteri siparişi garsona verir, garson mutfağa iletir ve sonucu geri getirir. API’ler de benzer şekilde bir sistemden aldığı isteği diğer sisteme iletir ve yanıtı geri döndürür.

API testi ise bu iletişimin doğru şekilde gerçekleşip gerçekleşmediğini kontrol etmeye yardımcı olur.

Neden önemli?

Bir ekran sorunsuz görünebilir. Ancak API seviyesinde yanlış veri kaydediliyor, eksik bilgi dönüyor veya güvenlik açığı bulunuyor olabilir. Bu tür problemler çoğu zaman kullanıcı fark etmeden önce API testleri sırasında ortaya çıkar.

API testine nereden başlanır?

1. Dokümantasyonu inceleyin

Eğer mevcutsa Swagger dokümantasyonu, Postman Collection veya teknik dokümanları inceleyerek başlayın.

Öncelikle şu soruların cevaplarını öğrenmeye çalışın:

  • Endpoint nedir?
  • Hangi HTTP metodları kullanılıyor?
  • Hangi alanlar zorunlu?
  • Beklenen yanıt yapısı nasıl?

Dokümantasyonu anlamak, test sürecinin temelini oluşturur.

2. Önce normal senaryoyu doğrulayın

Teste her zaman sistemin beklenen şekilde kullanıldığı senaryolarla başlamak faydalıdır.

Örneğin bir sipariş oluşturma API’sinde:

  • Geçerli kullanıcı bilgileri
  • Doğru ürün bilgileri
  • Beklenen veri formatı

kullanıldığında sistem başarılı bir sonuç dönmelidir.

Önce sistemin normal koşullarda çalıştığından emin olun, ardından farklı senaryolara geçin.

3. Negatif test senaryoları oluşturun

Gerçek kullanıcılar her zaman beklediğimiz şekilde davranmaz.

Bu nedenle API testlerinde hatalı kullanım senaryolarını da doğrulamak gerekir.

Örneğin:

  • Eksik parametre gönderme
  • Boş veri gönderme
  • Negatif değer gönderme
  • Çok uzun karakter dizileri kullanma
  • Hatalı veri tipi gönderme

Birçok kritik hata bu tür testler sırasında ortaya çıkar.

4. Yetkilendirme ve güvenlik kontrollerini test edin

API’nin yalnızca doğru kullanıcıların erişimine izin verdiğinden emin olun.

Kontrol edilebilecek bazı senaryolar:

  • Token olmadan erişim
  • Süresi dolmuş token kullanımı
  • Başka kullanıcıya ait verilere erişim denemesi
  • Yetkisiz işlem gerçekleştirme girişimi

Bu tür durumlarda sistemin uygun hata mesajları döndürmesi beklenir.

5. Sadece status code’a odaklanmayın

API testine yeni başlayanların sık yaptığı hatalardan biri yalnızca HTTP durum kodlarını kontrol etmektir.

Elbette 200, 400 veya 404 gibi yanıtlar önemlidir. Ancak test burada bitmez.

Şunları da kontrol etmek gerekir:

  • Dönen veri doğru mu?
  • Response yapısı beklendiği gibi mi?
  • Zorunlu alanlar mevcut mu?
  • Hata mesajları anlamlı mı?

200 OK dönmesi, her şeyin doğru çalıştığı anlamına gelmeyebilir.

API testlerinde kontrol listesi

Bir endpoint’i test ederken aşağıdaki maddeler işinizi kolaylaştırabilir:

✅ HTTP status code doğru mu?

✅ Response süresi kabul edilebilir seviyede mi?

✅ Dönen veri beklenen içerikle eşleşiyor mu?

✅ JSON yapısı doğru mu?

✅ Hata mesajları anlaşılır mı?

✅ Yetkilendirme kuralları doğru çalışıyor mu?

✅ Hassas bilgiler gereksiz şekilde dönüyor mu?

✅ Aynı istek tekrarlandığında tutarlı sonuç veriyor mu?

Basit bir API test örneği

Bir sipariş detay API’sini ele alalım.

İstek gönderildiğinde:

GET /api/orders/123
Authorization: Bearer <token>

beklenen sonuç sipariş detaylarının başarılı şekilde dönmesidir.

API testleri yalnızca başarılı senaryoları doğrulamaktan ibaret değildir.

→ Beklenen: 200 OK + sipariş detayları
→ Token yoksa: 401 Unauthorized
→ Başka kullanıcının siparişi: 403 Forbidden

Örneğin şu soruların da cevabını ararız:

  • Token olmadan istek gönderildiğinde ne olur?
  • Geçersiz sipariş numarası gönderildiğinde ne olur?
  • Kullanıcı başka bir müşterinin siparişine erişebilir mi?

Bu kontroller, yalnızca ekranları değil iş kurallarını ve yetkilendirme mekanizmalarını da doğrulamaya yardımcı olur.

API testi için hangi araçlar kullanılabilir?

Farklı ihtiyaçlara yönelik birçok araç bulunuyor.

Postman

API testine başlamak isteyenler için en yaygın araçlardan biridir.

  • Kolay kullanım
  • Görsel arayüz
  • Collection desteği
  • Test senaryoları oluşturabilme

cURL

Terminal üzerinden hızlı API çağrıları yapmak için kullanılabilir.

Özellikle basit kontroller ve hızlı doğrulamalar için oldukça pratiktir.

Playwright

UI testlerinin yanında API testleri de gerçekleştirebilir.

Özellikle uçtan uca test senaryolarında tercih edilir.

Proxyman

Mobil uygulamaların ağ trafiğini incelemek ve API çağrılarını analiz etmek için kullanılır.

Sık Sorulan Sorular

API testi yapmak için kod yazmak gerekir mi?

Hayır. Postman gibi araçlarla temel API testleri kod yazmadan da yapılabilir.

API testi ile UI testi arasındaki fark nedir?

UI testi kullanıcı ekranlarını doğrularken, API testi ekranların arkasındaki veri alışverişini ve iş mantığını kontrol eder.

REST API testi nedir?

REST mimarisini kullanan servislerin doğrulanmasıdır. Günümüzde API testlerinin büyük bölümü REST servisler üzerinde gerçekleştirilir.

API testinde en önemli kontrol nedir?

Tek bir doğru cevap yoktur. Ancak yalnızca status code’a bakmak yeterli değildir. Dönen verinin doğruluğu ve yetkilendirme kontrolleri en kritik noktalar arasında yer alır.

Sonuç

API testleri, yazılım kalitesinin önemli parçalarından biridir.

Kullanıcı arayüzü sorunsuz görünse bile arka planda kritik hatalar bulunabilir. Bu nedenle yalnızca ekranları değil, ekranların arkasında gerçekleşen veri alışverişini de doğrulamak gerekir.

İster Postman gibi basit araçlarla başlayın ister daha ileri seviyede otomasyon çözümleri kullanın, temel amaç değişmez: Sistemin beklenen şekilde çalıştığından emin olmak.