🔗 Test Zinciri — Gerçek E2E Senaryolar

Test Zinciri — Gerçek E2E Senaryolar: Zincirli API testi, bir lokantanın sipariş zincirini takip eden "mutfak takip sistemi" gibi çalışır: masa siparişi girmeden mutfağa yemek ür

Zincirli API testi, bir lokantanın sipariş zincirini takip eden "mutfak takip sistemi" gibi çalışır: masa siparişi girmeden mutfağa yemek üretme isteği atılamaz, yemek teslim edilmeden ödeme alınamaz — her adım bir öncekinin state'ini taşımak zorundadır. Peki her testi bağımsız yazmak daha güvenli değil mi; neden bir testin çıktısını diğerine geçirmek gerekiyor? Çünkü "kullanıcı oluştur → giriş yap → sepete ekle → sipariş ver → sil" akışındaki her adım gerçek bir kullanıcı session'ı ve gerçek veri gerektirir — bunları stub'larla test etsen, session timeout veya foreign key constraint gibi birleşim hataları gözden kaçar. Java'da JUnit'in `@TestMethodOrder(OrderAnnotation.class)` ile test sıralama yaptığında benzer bir bağımlılık zinciri kurarsın; REST Assured'da ise her adımın response'undan `jsonPath().getString("id")` veya `jsonPath().getString("token")` ile değer taşıyıp bir sonraki isteğin header'ına veya body'sine doğrudan koyarsın. QA açısından en yüksek değer: bu zinciri bir kez yazarsan, her sprint sonunda tam "happy path" akışını tek `mvn test -Dtest=E2EFlow` komutuyla doğrularsın — manuel tıklama hatası sıfır, yeniden üretim süresi sıfır, CI raporunda adım adım sonuç görünür.

Tam E2E CRUD Zinciri (reqres.in)

Micro Lab: REST Assured assertion yazma

TODO satirini beklenen cozumdeki kritik satirla degistir. Bu gercek runtime degil; amac dogru yapinin yazilmasini kontrollu olarak pekistirmek.

Adim Adim: REST Assured assertion yazma

given() ile base URL ve auth'u kur

when().get/post/put/delete ile istegi gonder

then().statusCode() ile HTTP kodunu dogrula

body() ve Hamcrest ile JSON alanlarini kontrol et

Testi JUnit/TestNG runner ve CI pipeline'a dahil et

REST Assured ile API testi yazma ve dogrulama sirasi nedir?

🎬 Test Zinciri: Bir Testin Çıktısı, Diğerinin Girdisi

POST /users (oluştur)

Yeni ID (response'tan)