REST ASSURED CONFIGURATION: ERROR HANDLING & FAULT INJECTION IN API TESTS EĞİTİMİ

Hatayı davet et, API'nin nasıl tepki verdiğini ölç

WireMock fault tipleri, gecikme, zaman aşımı, bozuk yanıt ve devre kesici davranışını REST Assured ile test ederek API dayanıklılığını doğrulayın.

WireMock fault tipleri, gecikme, zaman aşımı, bozuk yanıt ve devre kesici davranışını REST Assured ile test ederek API dayanıklılığını doğrulayın.

3 gün İleri Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

REST Assured ile hata yönetimi ve hata enjeksiyonu: WireMock fault, zaman aşımı, bozuk yanıt ve dayanıklılık

Bu ileri seviye eğitim, API testlerinde mutlu yol dışındaki davranışları sistematik doğrulamayı öğretir. 4xx/5xx durum kodu kataloğu, RFC 7807 hata gövdesi doğrulaması, HttpClientConfig ile bağlantı ve okuma zaman aşımı, WireMock fault tipleri (CONNECTION_RESET_BY_PEER, EMPTY_RESPONSE, MALFORMED_RESPONSE_CHUNK), fixedDelay ve lognormal gecikme, senaryo tabanlı durum geçişiyle retry mantığı, Resilience4j devre kesici davranışı, bozuk girdi ve sınır değer testleri, JMeter yük altında hata oranı ve gözlem uygulanır.

Süre ve Format

3 Gün. Her gün dört modül; katılımcılar Hata Senaryoları Temeli → Taklit ve Dayanıklılık Testi → Yük, Raporlama ve Gözlem sırasıyla ilerler.

Seviye

İleri Seviye — REST Assured ile hata yönetimi ve hata enjeksiyonu: WireMock fault, zaman aşımı, bozuk yanıt ve dayanıklılık.

Öğrenme Metodu

Katılımcılar dış servis bağımlılığı olan bir API için WireMock ile zaman aşımı, 503 ve bozuk yanıt senaryoları yazar ve API'nin tepkisini doğrular.

Neden Bu Eğitim?

💥Hata Enjeksiyonu

Zaman aşımı, bağlantı kopması ve bozuk yanıtları kontrollü oluşturursunuz.

🧯Dayanıklılık Kanıtı

Retry ve devre kesicinin çalıştığını testle gösterirsiniz.

🧪Negatif Test Ustalığı

Sınır değer ve bozuk girdi senaryolarını sistematik tasarlarsınız.

Anahtar Konular

fault injectionhata enjeksiyonuWireMock faultREST Assured hata yönetimiAPI dayanıklılık testizaman aşımı testinegatif testResilience4j testkaos mühendisliğiAPI test
“Sistemin gücü, mutlu yolda değil, bozulduğu anda anlaşılır.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Java Temelleri

Sınıf, metot, koleksiyon ve generics konularında temel Java bilgisi gerekir.

2
HTTP ve JSON

HTTP metotları, durum kodları ve JSON yapısına aşinalık beklenir.

3
Maven ve IDE

Maven bağımlılık yönetimi ve IntelliJ IDEA veya Eclipse kullanımına genel hakimiyet faydalıdır.

4
Çalışma Ortamı

JDK 17+, Maven ve internet erişimi olan bir dizüstü bilgisayar hazır bulunmalıdır.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı HTTP durum kodlarını seçer ve RFC 7807 Problem Details ile hata yanıtı tasarlar, REST Assured projesini Maven ile kurar ve given/when/then kalıbıyla ilk testleri yazar, Sorgu/yol parametreli, gövdeli ve kimlik doğrulamalı uç noktaları REST Assured ile test eder ve Hatalı yanıtları, zaman aşımını ve bozuk veriyi simüle ederek dayanıklılık testi yazar.
Modül 1
Durum Kodları ve Hata Modelleri
  • 2xx, 3xx, 4xx, 5xx sınıfları: 200, 201, 202, 204, 301, 304, 400, 401, 403, 404, 409, 422, 429, 500, 503 ayrımı
  • 401 Unauthenticated ile 403 Forbidden arasındaki fark ve WWW-Authenticate başlığı
  • 400 ile 422 arasında doğrulama hatası kararı ve alan bazlı hata listesi döndürme
  • RFC 7807 application/problem+json biçimi: type, title, status, detail ve instance alanları
  • Retry-After, 429 Too Many Requests ve 503 durumlarında istemci tarafı yeniden deneme davranışı
  • Hata yanıtlarında yığın izi sızıntısı ve hassas bilgi ifşasını önleme kuralları
Modül 2
REST Assured ile İlk Testler
  • Maven bağımlılıkları: rest-assured, JUnit 5 veya TestNG ve hedef Java sürümü yapılandırması
  • given() / when() / then() söz dizimi ve BDD tarzı okunabilir test cümleleri
  • RestAssured.baseURI, basePath ve port ayarlarıyla ortama göre hedef belirleme
  • GET isteğiyle durum kodu, Content-Type ve gövdeden alan okuma (extract().path())
  • log().all(), log().ifValidationFails() ile istek ve yanıtın günlüklenmesi
  • Test API'si olarak JSON Server veya ReqRes kullanımı ve ilk test sınıfının çalıştırılması
Modül 3
REST Assured ile Farklı HTTP Uç Noktalarını Test Etme
  • pathParam, queryParam, formParam ve header ile istek parametrelerinin gönderilmesi
  • POST/PUT/PATCH gövdesini Map, JSON dizesi ve POJO (Jackson serileştirme) ile gönderme
  • DELETE ve idempotency doğrulaması: aynı isteği iki kez gönderip sonuçları karşılaştırma
  • Basic, preemptive basic, OAuth 2.0 Bearer ve API anahtarı ile kimlik doğrulama (auth())
  • multipart/form-data dosya yükleme, cookie yönetimi ve yönlendirme (redirect) davranışı
  • XML yanıtları için XmlPath ve içerik tipine göre ayrıştırıcı (parser) seçimi
Modül 4
Hata Yönetimi ve Hata Enjeksiyonu Testleri
  • Negatif test kataloğu: 400, 401, 403, 404, 409, 422 ve 500 yanıtlarının doğrulanması
  • HttpClientConfig ile bağlantı ve okuma zaman aşımı (connection/socket timeout) ayarları
  • WireMock fault tipleri: CONNECTION_RESET_BY_PEER, EMPTY_RESPONSE, MALFORMED_RESPONSE_CHUNK
  • Gecikme enjeksiyonu (fixedDelay, lognormal) ile yavaş bağımlılık davranışı
  • Yeniden deneme (retry) mantığı için senaryo tabanlı durum geçişi (scenario state)
  • Sınır değer, aşırı büyük gövde, geçersiz Unicode ve SQL/JSON enjeksiyonu benzeri bozuk girdi testleri
Günün hedefiKatılımcı WireMock ile stub, eşleştirme ve doğrulama yaparak dış bağımlılıkları taklit eder, RequestSpecification, ResponseSpecification ve katmanlı test çatısı tasarlar, Circuit breaker, bulkhead, timeout ve retry desenleriyle hata yayılımını sınırlar ve GPath ile JSON ayrıştırır ve JSON Schema Validator ile şema doğrular.
Modül 1
WireMock ile API Taklit (Mocking)
  • WireMock bağımsız sunucu ve JUnit 5 uzantısı (@WireMockTest) ile başlatma
  • stubFor, urlPathEqualTo, withQueryParam, withHeader ve withRequestBody ile istek eşleştirme
  • willReturn ile statik gövde, __files dizini ve Handlebars yanıt şablonları
  • verify(postRequestedFor(...)) ile çağrı doğrulaması ve zaman sayacı
  • Kayıt/oynatma (record & playback) ile gerçek servis yanıtlarından stub üretme
  • Senaryolar (scenarios) ile durumlu servis simülasyonu ve proxy ile kısmi taklit
Modül 2
REST Assured Test Mimarisi ve Yapılandırma
  • RequestSpecBuilder ve ResponseSpecBuilder ile ortak başlık, taban URL ve beklentilerin merkezi tanımı
  • Page Object benzeri API istemci sınıfları (service object) ve test verisi oluşturucular (builder)
  • Ortam yapılandırması: properties/YAML dosyaları, Maven profilleri ve sistem özellikleri
  • Filter arayüzü ile istek/yanıt kesme, token yenileme ve özel günlükleme
  • Test verisi yönetimi: @BeforeAll/@AfterEach ile oluştur-sil döngüsü ve bağımsız testler
  • Paralel çalıştırma, JUnit 5 etiketleri (tag) ve duman/regresyon paketlerinin ayrıştırılması
Modül 3
Dayanıklılık Desenleri: Circuit Breaker ve Retry
  • Kademeli hata (cascading failure) senaryosu ve zaman aşımı bütçesi hesaplama
  • Circuit Breaker durumları: closed, open, half-open ve eşik yapılandırması
  • Retry stratejileri: sabit, üssel geri çekilme (exponential backoff) ve jitter
  • Bulkhead ve rate limiter ile kaynak yalıtımı; thread pool ve semaphore yaklaşımları
  • Fallback ve zarif bozulma (graceful degradation): önbellekten yanıt, varsayılan değer
  • Chaos Monkey benzeri hata enjeksiyonu ile dayanıklılık davranışının doğrulanması
Modül 4
JSON Yanıt ve Şema Doğrulama
  • JsonPath / GPath ifadeleri: data.items[0].id, findAll, collect, sum, max
  • İç içe dizilerde filtreleme: items.findAll { it.price > 100 }.name
  • json-schema-validator modülü ile matchesJsonSchemaInClasspath kullanımı
  • JSON Schema Draft-07 anahtarları: required, type, format, additionalProperties, minItems
  • Yanıtı POJO'ya eşleme (as(Class)) ve nesne düzeyinde assertJ doğrulaması
  • Şema sürüm değişikliğinde kırıcı değişiklikleri yakalayan sözleşme testi stratejisi
Günün hedefiKatılımcı JMeter test planı, iş parçacığı grupları ve toplayıcılarla API yük testi yürütür, REST Assured testlerini Allure ve ExtentReports ile raporlar, CI hattına bağlar, Merkezi günlük, Prometheus metrikleri ve OpenTelemetry ile dağıtık izleme kurar ve Test piramidi, tüketici güdümlü sözleşme testi (Pact) ve Testcontainers ile test yazar.
Modül 1
JMeter ile Yük Testi
  • Test planı yapısı: Thread Group, HTTP Request Defaults, HTTP Header Manager ve CSV Data Set Config
  • Ramp-up, döngü sayısı ve eş zamanlı kullanıcı modelleme; Throughput Timer ile hız kontrolü
  • JSON Extractor ve Regular Expression Extractor ile korelasyon (token, id taşıma)
  • Assertion türleri: Response, JSON Assertion ve Duration Assertion ile SLA denetimi
  • Komut satırı (non-GUI) çalıştırma: jmeter -n -t -l -e -o ile HTML panosu üretme
  • p90/p95/p99 yanıt süreleri, hata oranı ve throughput değerlerinin darboğaz analizine bağlanması
Modül 2
Allure ve ExtentReports ile Test Raporlama
  • Allure ile @Step, @Feature, @Story ek açıklamaları ve AllureRestAssured filtresi
  • Allure sonuç dizini (allure-results), allure serve ve trend/geçmiş grafikleri
  • ExtentReports ile HTML rapor, test kategorileri ve hata ekran/yük ekleme
  • Surefire/Failsafe raporları ve JUnit XML çıktısının CI araçlarında okunması
  • Jenkins veya GitHub Actions üzerinde rapor yayınlama (artifact, Pages) ve Slack bildirimi
  • Hatalı testlerde istek/yanıt günlüğünün rapora eklenmesi ve gizli bilgilerin maskelenmesi
Modül 3
Gözlemlenebilirlik: Günlük, Metrik ve İzleme
  • Üç sütun: günlük (log), metrik ve iz (trace); yapılandırılmış JSON günlük biçimi
  • ELK/EFK yığını veya Grafana Loki ile merkezi günlük toplama ve correlation ID
  • Micrometer ve Prometheus ile RED/USE metrikleri; Grafana panoları
  • OpenTelemetry, Jaeger/Zipkin ile dağıtık iz (span) ve bağlam yayılımı (W3C traceparent)
  • SLI, SLO ve hata bütçesi tanımı; Alertmanager ile uyarı kuralları
  • Sağlık uç noktaları: liveness, readiness ve Spring Boot Actuator yapılandırması
Modül 4
Mikroservis Test Stratejisi
  • Mikroservis test piramidi: birim, bileşen, entegrasyon, sözleşme ve uçtan uca testler
  • Tüketici güdümlü sözleşme testi: Pact ile consumer test ve provider doğrulama
  • Testcontainers ile gerçek PostgreSQL, Kafka ve Redis kullanan entegrasyon testleri
  • WireMock ve Spring Cloud Contract ile bağımlı servislerin taklit edilmesi
  • Üretimde test: canary, gölge (shadow) trafik ve özellik bayraklarıyla güvenli yayın
  • Kararsız (flaky) test nedenleri ve asenkron akışların Awaitility ile test edilmesi

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Hata Modeli

Doğru HTTP durum kodlarını seçip RFC 7807 uyumlu hata yanıtları tasarlayabilirsiniz.

🧩
HTTP Uç Nokta Testi

Parametreli, gövdeli ve yetkilendirmeli uç noktalar için REST Assured testleri yazabilirsiniz.

🛠️
Hata Enjeksiyonu

Zaman aşımı, 5xx ve bozuk yanıt senaryolarını test edip hata işleme davranışını doğrulayabilirsiniz.

🔐
Test Mimarisi

Yeniden kullanılabilir spesifikasyonlarla bakımı kolay bir API test çatısı kurabilirsiniz.

📈
Dayanıklılık

Resilience4j ile circuit breaker, retry ve bulkhead desenlerini uygulayıp hata yayılımını sınırlayabilirsiniz.

🧪
JMeter Yük Testi

JMeter ile API için yük senaryosu tasarlayıp performans sonuçlarını yorumlayabilirsiniz.

🚀
Test Raporlama

Allure veya ExtentReports ile istek/yanıt detaylı test raporları üretip CI'da yayınlayabilirsiniz.

🔎
Test Stratejisi

Birim, sözleşme ve uçtan uca testleri dengeli bir mikroservis test stratejisine yerleştirebilirsiniz.

Kimler İçin Uygundur?

  • Dayanıklılık testi yapmak isteyen QA mühendisleri
  • SDET'ler
  • backend geliştiriciler ile SRE ekipleri için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Dayanıklılık testi yapmak isteyen QA mühendisleri, SDET'ler ve backend geliştiriciler ile SRE ekipleri için uygundur.
Gerçek sistemde hata enjekte edilir mi?
Hayır, WireMock ile kontrollü taklit kullanılır; üretimde kaos testi yaklaşımı kavramsal anlatılır.
Hangi hatalar test edilir?
Zaman aşımı, bağlantı kopması, boş ve bozuk yanıt, 5xx, 429 ve yavaş yanıt senaryoları.
Retry mantığı nasıl test edilir?
WireMock senaryoları (state machine) ile önce hata sonra başarı dönen sıralı stub'lar yazılır.
Eğitim sonunda sertifika verilir mi?
Eğitimi tamamlayan katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir. Üçüncü taraf kurumların sınav ve sertifikalarıyla bir bağı yoktur.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. REST Assured Configuration: Error Handling & Fault Injection Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 gün
Seviyeİleri Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

API ve Mikroservis MimarisiService Oriented Architecture (SOA) Governance Eğitimi
Yazılım Geliştirme Eğitimleri

Service Oriented Architecture (SOA) Governance Eğitimi

3 günİleriOnline / Yüz Yüze / Hibrit

SOA Governance eğitimi: servis yaşam döngüsü, UDDI ve servis kataloğu, WS-Policy, sürümleme, SLA izleme ve yönetişim olgunluk modeli uygulamalı işlenir.

Detayları Gör →
API ve Mikroservis MimarisiSOA & WCF Eğitimi
Yazılım Geliştirme Eğitimleri

SOA & WCF Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

SOA ve WCF eğitimi: ServiceContract, DataContract, ABC modeli, binding seçimi, IIS hosting, WCF güvenliği, işlem yönetimi ve CoreWCF modernizasyonu.

Detayları Gör →
API ve Mikroservis MimarisiSOA Basics Eğitimi
Yazılım Geliştirme Eğitimleri

SOA Basics Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

SOA Basics eğitimi: servis odaklı mimari ilkeleri, servis sözleşmesi, SOAP ile REST farkı, ESB, orkestrasyon ve entegrasyon desenleri başlangıç seviyesinde.

Detayları Gör →
API ve Mikroservis MimarisiSOA Design using BPM and SoaML Eğitimi
Yazılım Geliştirme Eğitimleri

SOA Design using BPM and SoaML Eğitimi

3 günİleriOnline / Yüz Yüze / Hibrit

SOA Design using BPM and SoaML: BPMN 2.0 süreç modelleme, servis aday analizi, SoaML profili, servis sözleşmesi, model dönüşümü ve WSDL üretimi eğitimi.

Detayları Gör →
API ve Mikroservis MimarisiSOAP ve WSDL Temelleri ile Web Servisleri Eğitimi
Yazılım Geliştirme Eğitimleri

SOAP ve WSDL Temelleri ile Web Servisleri Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

SOAP ve WSDL temelleri eğitimi: SOAP zarfı, WSDL yapısı, XSD, SoapUI testleri, proxy üretimi, WS-Security UsernameToken ve hata ayıklama uygulamalı işlenir.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn