smaple.tr
api testi

API Test Süreçleri ve Araçları: Kapsamlı Test Rehberi [2026]

Mehmet Kurtipek
July 24, 2026
10 min read
api testi
Postman
api otomasyon
rest test
api kalite

API Test, Yazılım Kalitesinin Omurgası

Modern yazılımlar, API'lar (Application Programming Interfaces) üzerine inşa edilir. Mobil uygulama, web tarayıcısı, üçüncü taraf sistemler - hepsi sunucuyla API aracılığıyla iletişim kurar. Eğer API hatalıysa veya yavaşsa, tüm yazılım kalitesi etkilenir.

2024 araştırması gösteriyor ki, yazılım hatalarının 60-70%'i API seviyesinde başlar. UI testleri bunu kaçırabilir (tarayıcı hatalı yanıtı gizleyebilir), ama API testleri çıkın.

API test neden çok önemli?

  • Performans: UI testleri bağlantı gecikmelerini gizleyebilir. API testleri ağ seviyesinde yanıt sürelerini ölçer.
  • Güvenlik: Kimlik doğrulama, yetkilendirme, veri şifrelemesi - API seviyesinde doğrulanmalı.
  • Entegrasyon: Üçüncü taraf servislerin (ödeme, kimlik doğrulama, raporlama) API'larının çalışıp çalışmadığını sadece API testleri kontrol edebilir.
  • Hız: API testleri UI testlerinden 100 kat daha hızlı koşar.

API Test Türleri

1. Fonksiyonel API Test

API'nın tasarlandığı şekilde çalışıyor mu? Giriş verisi gönder, beklenen çıktıyı al.

Örnek: /api/users/123 adresine GET isteği gönder, kullanıcı bilgisini JSON olarak al. Dönen JSON'da expected alanlar var mı (id, name, email)? Veri doğru mu?

Fonksiyonel test, her API endpoint'i ve her kod yolu için yazılmalıdır. Başarılı senaryo kadar başarısız senaryolar (invalid data, authentication failure) da kapsamalıdır.

2. Entegrasyon API Test

İki veya daha fazla API'nın birlikte çalışıp çalışmadığını test eder.

Örnek: Kullanıcı kaydı (/api/users - POST) yapıldıktan hemen sonra, o kullanıcıya giriş (/api/auth/login - POST) yapılabilir mi? Kaydolmuş kullanıcının veritabanına kaydedilmesi tamamlandı mı?

Entegrasyon testleri, servislerin senkronizasyonunu ve veri akışını doğrular.

3. Performans API Test

API'nın hızı yeterli mi? Yüksek yük altında ne kadar yanıt verir?

Örnek: /api/products endpoint'i 100 saniye içinde ne kadar istek işleyebilir? Ortalama yanıt süresi kaç milisaniye?

4. Güvenlik API Test

API'nın saldırılara karşı dayanıklı mı?

  • SQL injection: API input'da SQL kodu gönder, veritabanı etkilenir mi?
  • Authentication bypass: Token olmadan API'yı çağır, yanıtlı mı?
  • Authorization flaw: Başka kullanıcının verilerine erişebilir mi?
  • Rate limiting: Aynı IP'den sınısız istek gönder, sınırlandırıyor mu?

Güvenlik testleri, daha ileri bir çalışmadır ve bazen dış uzmanlar tarafından yapılır.

5. Contract Testing

API'nın sağlayıcısı (sunucu) ile tüketicisi (istemci) arasında "kontrat" vardır. Sunucu JSON şu alanları dönderir, istemci bunları bekler. Eğer sunucu kontratı kırarsa, istemci kırılır.

Contract test, bu anlaşmayı doğrular. Sunucu geliştirici API formatını değiştiremez - test buna izin vermez.

Örnek: API /api/user/1 adresinden istek yapıldığında, dönen yanıt id, name ve email alanlarını içerir. Contract test, bu yapının hep böyle kalması garantisini verir. Sunucu geliştirici bu alanları değiştirirse, test başarısız olur.

API Test Araçları Karşılaştırması

Postman

En yaygın ve en kolay API test aracı. İnsan-dostu UI ile REST API'ları test edersiniz.

Avantajlar:

  • Kurulum yok (web tarayıcısı veya masaüstü uygulaması)
  • Harika koleksiyon yönetimi (testleri organize et, paylaş)
  • Environment yönetimi (dev, test, production ayarlarını değiştir)
  • Temel otomasyon testleri yazabilirsin (JavaScript)
  • Ekip işbirliği iyi

Dezavantajlar:

  • İleri performans testleri için uygun değil
  • CI/CD hatta entegrasyon, daha çok ek scripting gerektirir
  • Ücretsiz versiyon sınırlandırılmış
  • Kompleks test senaryoları (koşullu logic, döngüler) zor

Uygun Durumlar: Hızlı ve manuel API test gereksinimleri, API'nın başlangıçta keşfedilmesi, temel seviye otomasyon testleri için ideal seçim.

REST Assured

Java-tabanlı otomasyon test framework'ü. BDD stiliyle yazılır.

Avantajlar:

  • Java yazarsa kolayca entegre edebilir (JUnit, TestNG ile)
  • Kod temiz ve okunaklı
  • Güçlü assertion framework'ü
  • CI/CD hatta kolay entegrasyon
  • JSON Path ve XPath desteği

Dezavantajlar:

  • Sadece Java (Python, JavaScript istersen uygun değil)
  • Performans testi yerel yeteneği zayıf
  • Kurulum biraz daha kompleks

Uygun Durumlar: Java tarafında çalışan ekipler, API otomasyon testleri ihtiyacı, CI/CD pipeline entegrasyonu gereken projeler.

Karate

REST ve GraphQL API testleri için BDD framework. Gherkin dili ile yazılır (İnsan dilini andırır). Örneğin, bir kullanıcı giriş test senaryosu, API endpoint'ini belirtir, giriş bilgilerini gönderir, response status kontrolü yapar ve token döndüğünü doğrular.

Avantajlar:

  • BDD, non-teknik kişiler de yazabilir
  • REST, GraphQL, SOAP desteği
  • Mock server yapabilirsin
  • CI/CD dostu
  • Diller: Java, JavaScript

Dezavantajlar:

  • Java/JavaScript deneyimi gerekir
  • Community daha küçük

Uygun Durumlar: BDD yaklaşımını tercih eden ekipler, çoklu dil ve protokol desteğine ihtiyaç duyulanlar, iş analisti ve test uzmanlarının testler yazabileceği yapılar.

k6

Performans ve yük testi için specialized tool. JavaScript'te yazılan testler, binlerce eş zamanlı kullanıcıyı simüle edebilir.

Avantajlar:

  • Performans testleri çok kolay ve hızlı
  • Gerçekçi yük simülasyonu
  • Real-time metrik görselleştirme
  • Cloud-based scaling
  • Açık kaynak

Dezavantajlar:

  • Sadece performans testleri (fonksiyonel test zayıf)
  • Özel bir tools'a bağımlılık
  • Veri assertion'ları sınırlı

Uygun Durumlar: Yük testi ve performans testleri gereksinimleri, stres testleri, API'nın sınır kapasitesini belirleme.

Hızlı Karşılaştırma Tablosu

Özellik Postman REST Assured Karate k6
Kurulum Çok Kolay Kolay Kolay Kolay
Fonksiyonel Test Var Mükemmel Mükemmel Sınırlı
Performans Test Sınırlı Sınırlı Sınırlı Mükemmel
GUI Test Var Hayır Hayır Hayır
Otomasyon Temel Mükemmel Mükemmel Mükemmel
BDD Support Hayır Var Mükemmel Hayır
CI/CD Orta Mükemmel Mükemmel Mükemmel
Öğrenme Eğrisi Hafif Orta Hafif Orta

API Test Stratejisi

Yazılım test çerçevesini tam olarak anlamak için, Yazılım Test ve Kalite Güvence rehberi adlı ana kaynağımızı inceleyebilirsiniz.

Test Piramidinde API Testlerinin Yeri

Birim testler tabanında, entegrasyon ortada, E2E UI testleri tepede. API testleri nereye girse?

Optimal yapı:

  • Birim testleri: %60
  • API testleri: %25
  • E2E UI testleri: %15

API testleri, pahalı UI testlerinden çok daha ucuz ve hızlı. Üretim hatalarının çoğunu yakalamak için, buraya yatırım yapmalı.

Mock vs Real Services

Test ortamında gerçek üçüncü taraf servislerini çağırmak maliyetli olabilir. Ödeme ağ geçidi, SMS servisi vs. Her test koşuşunda ücret çekilmesi istemezsin.

Çözüm: Mock servisi. Sahtesini kullanarak test et. Real servisi sadece entegrasyon testinde, ve kontrollü olarak çağır.

Wiremock, Mockoon gibi araçlar, gerçekçi mock API'lar oluşturur.

Test Veri Yönetimi

API testleri, gerçekçi veri gerektirir. Ancak gerçek müşteri verileri kullanılamaz.

Çözüm:

  1. Veritabanı seeding: Test başlamadan önce veritabanı belirli verilerle doldurulur
  2. Faker kütüphanesi: Rastgele ancak tutarlı veri oluştur (Bogus.js, Faker Python, etc.)
  3. Dedicated test data: Sadece test için ayrılmış veriler

API Test Yaşam Döngüsü

1. Test Planlaması

  • Hangi endpoint'ler test edilecek?
  • Hangi senaryolar (başarı, başarısızlık, edge case)?
  • Performans hedefleri nedir (yanıt süresi, throughput)?
  • Güvenlik kontrolleri nelerdir?

2. Test Tasarımı

Her test senaryosu için:

  • Giriş: Hangi veriyi gönderecek?
  • Beklenen çıktı: Ne dönmeli?
  • Assertion: Dönen veriyi nasıl doğrulayacak?

3. Test Uygulanması

Seçilen aracın (REST Assured, Karate, vb) çerçevesinde testler yazılır.

4. Test Yürütülmesi ve Raporlama

CI/CD hatta otomatik koşturulur. Sonuçlar raporlanır: Kaç test geçti, kaç başarısız oldu, ortalama yanıt süresi nedir?

CI/CD Hatta API Testleri

Modern geliştirme, her git push'ta testlerin otomatik koşması anlamına gelir. API testleri bu hatta merkezi önemdedir.

Sıralama genellikle:

  1. Build (kodu derle)
  2. Birim testleri (hızlı)
  3. API testleri (orta hız)
  4. E2E testleri (yavaş, sadece critical path'lar)
  5. Performans testleri (gecede çalıştırılabilir)

Test başarısız olursa, kod main branch'e merge edilmez. Kalite kapısı kapalı kalır.

Yaygın Hatalar

  1. Test verisi harcaması: Her test kez gerçek veri oluşturmak, test sonunda silmek. Mock kullansı.

  2. Hardcoded değerler: Test kodu dev ortamında çalışır, production'da çöker. Environment değişkenleri kullan.

  3. Testler arasında bağımlılık: Test A başarılı olmazsa, Test B de başarısız olur. Testler bağımsız olmalı.

  4. Assertion eksikliği: API çağrısı yanıt alıyor, ama yanıtın doğru olup olmadığını kontrol etmiyor.

  5. Performans testinin ihmal edilmesi: API fonksiyonel olabilir ama yavaş. Performans de test edilmeli.

API Test Türlerinin Maliyet ve ROI Analizi

API test yatırımının geri dönüş, hızlı ve kanıtlanmıştır:

Test Türü Yazımı Maliyeti Yürütme Maliyeti Hata Bulma Oranı Aylık Bakım
Manuel API Test 1.000 USD/endpoint 200 USD/test çalışması 40% 500 USD
Otomasyon (Postman) 2.000 USD/endpoint 50 USD/test çalışması 70% 300 USD
Otomasyon (REST Assured) 3.000 USD/endpoint 30 USD/test çalışması 80% 400 USD
Contract Testing 5.000 USD/endpoint 20 USD/test çalışması 85% 600 USD

Örnek: 20 endpoint, ayda 30 kez test:

Manuel:

  • Yazım: 20.000 USD (bir kez)
  • Aylık koşu: 30 koşu x 20 endpoint x 30 dakika = 300 saat = 15.000 USD/ay
  • Yıllık: 200.000 USD

Otomasyon (REST Assured):

  • Yazım: 60.000 USD (bir kez)
  • Aylık koşu: 30 koşu x 5 dakika = 2.5 saat = 150 USD/ay
  • Yıllık: 62.000 USD

Tasarruf: 138.000 USD/yıl, ilk yıl ROI = %130%

API Test Best Practices

1. Test Data Strategy

  • Isolated Test Data: Her test, kendi veri setine sahip olmalı
  • Seed and Clean: Her test başında temiz veri, test sonu temizle
  • Faker Libraries: Realistic fake data üret (Bogus, Faker, Factory Bot)

2. Mock ve Stub Stratejisi

  • Üçüncü taraf API'lar mock'la: Ödeme sistemi, SMS gateway
  • İnternal API'lar mock'lama, API test bitene kadar
  • Production'a geçmeden real API ile integration test

3. Assertion Best Practices

  • Sadece status code kontrol etme, response body'yi de kontrol et
  • JSON schema validation: Dönen veri yapısı doğru mu?
  • Business logic assertion: "balance < 0" gibi invalid state'ler

4. Error Handling

  • 2xx (success), 4xx (client error), 5xx (server error) testleri
  • Rate limit (429), timeout (504) gibi edge case'ler
  • Error message'lar meaningful mi?

API Versioning ve Backward Compatibility

Başarılı API, backward compatible kalmalı. Eski client'lar, yeni API'yla çalışmalı.

API Versioning Stratejileri:

URL Versioning (yaygın)

  • /api/v1/users
  • /api/v2/users
  • Avantaj: Clear, explicit
  • Dezavantaj: URL's proliferation

Header Versioning (clean)

  • GET /api/users with header: Accept-Version: 2.0
  • Avantaj: URL's clean
  • Dezavantaj: Tools uyması zor

İçerik Müzakeresi (modern)

  • GET /api/users ile başlık: Accept: application/vnd.myapi.v2+json
  • Avantaj: RESTful
  • Dezavantaj: Kompleks

API test'leriniz, tüm versiyonlar için çalışmalıdır. V1 client'ı hala çalışıyor mu kontrol et.

API Test Reporting ve Metrikleri

API test'leri sonuçlanınca, raporlanmalı. İş tarafı anlaşılabilir metrikler:

  • API Availability: Kaç yüzde zaman API yanıt verdi? Hedef: %99.9+
  • Response Time: Ortalama, percentile (p95, p99)
  • Error Rate: Kaç istek başarısız? Hedef: < 0.1%
  • Throughput: Saniye başına kaç istek işlenir? Hedef: 1000+ req/sec
  • Data Accuracy: Dönen veri, beklenen veri ile eşleşti mi? Hedef: 100%

Good Dashboards:

  • Jenkins/GitLab CI: Build başarısı, test sonuçları, trend
  • Grafana: Real-time API metrikleri
  • Splunk: Error log analysis
  • DataDog/NewRelic: API performance monitoring

Yaygın API Test Hatalar

  1. Hard-coded URL'ler: Dev'de localhost:8080, prod'ta production.com

    • Çözüm: Environment variables, config files
  2. Stateful testler: Test A başarısız olursa, Test B de başarısız

    • Çözüm: Her test bağımsız, setup ve teardown yapı
  3. Network flakiness'e bağlı başarısızlık: Random timeout

    • Çözüm: Retry logic, explicit waits, timeout config
  4. Assertion eksikliği: API çağrı başarılı, ama dönüş verisi hatalı

    • Çözüm: Response body validation, schema check
  5. Performance baseline yok: Test "geçti" ama yanıt süresi 5 saatten 30 saniyeye çıktı

    • Çözüm: Performance baseline, trend monitoring

API Test Otomasyonunun İş Değeri

API test otomasyon, kaliteyi artırmanın ötesinde, hızı da artırır:

  • Geliştirme Hızı: Regression testleri otomatik olduğunda, yeni feature yazılması daha güvenli
  • Pazara Çıkış Süresi: Stabilite garantili olunca, release cycle'ı hızlandırabiliriz
  • Destek Maliyeti: Üretim hataları %60 azalır, destek ticket'ları düşer
  • Müşteri Memnuniyeti: API downtime minimum, customer satisfaction artır

Yazılım test çerçevesinin genel bağlamında API testlerinin yeri hakkında daha fazla bilgi için, Yazılım Test ve Kalite Güvence rehberi adresini ziyaret edebilirsiniz.

Smart Maple API Test Hizmetleri

API test stratejisinden uygulamaya kadar, Smart Maple yazılım geliştirme ekiplerine kapsamlı API test hizmetleri sunuyor. Postman, REST Assured, k6 ve diğer araçlarla test otomasyonu, CI/CD entegrasyonu, performans test raporlaması ve contract testing hizmetlerini gerçekleştiririz. Yazılımınızın API'larının güvenli, hızlı ve güvenilir olmasını sağlamak için smart-maple.com adresini ziyaret edin ve deneyimli ekibimizle iletişime geçin.

Related Articles

August 10, 2026

MLOps Rehberi: Makine Öğrenmesi Modellerini Production'a Taşıma

Giriş: MLOps Nedir ve Neden Önemlidir? Makine öğrenmesi modelleri geliştirmek günümüzde nispeten kolaydır. Açık kaynak kütüphaneleri kullanarak son derece başarılı modeller oluşturabiliriz. Ancak bu modelleri production ortamına taşıyarak, ölçeklendirebilir, güvenilir ve sürdürülebilir şekilde çalıştırmak tamamen farklı bir hikayedir. Araştırmalara göre, veri bilimcileri tarafından geliştirilen makine öğrenmesi modellerinin %87'si hiçbir zaman production ortamına ulaşmaz. Bu başarısızlı

Read More
August 9, 2026

LLM Fine-Tuning ve Özel Model Eğitimi Rehberi [2026]

LLM Fine-Tuning: Kurumsal Yapay Zeka Stratejisinin Temel Taşı Büyük dil modelleri (LLM), genel amaçlı metin üretimi ve anlama konusunda etkileyici performans sergiliyor. Ancak kurumsal ortamlarda belirli bir alan, terminoloji veya iş sürecine uyum sağlamaları gerektiğinde, genel bilgileri çoğu zaman yetersiz kalıyor. Bu noktada fine-tuning, yani ince ayar süreci devreye giriyor. Fine-tuning sayesinde mevcut bir temel modeli, kendi verileriniz ve ihtiyaçlarınız doğrultusunda özelleştirmek

Read More
August 8, 2026

Bilgisayarlı Görü Uygulamaları: Nesne Tespiti, OCR ve Endüstriyel AI

Bilgisayarlı Görü Uygulamaları: Endüstriyel ve Medikal AI'nin Temel Teknolojisi Bilgisayarlı görü, makine öğrenmesinin en etkili alanlarından biridir. Türkiye'de yaşanan dijital dönüşüm sürecinde, özellikle üretim, sağlık ve lojistik sektörlerinde görü tabanlı otomasyon kritik hale gelmiştir. Smart Maple olarak Ankara'da geliştirdiğimiz çözümler, son beş yılda 150+ kuruluşunun üretim verimliliğini ortalama %35 oranında artırmıştır. Bu rehberde, bilgisayarlı görü teknolojisinin iş değeri

Read More