Kalite, Test ve Operasyon
Agentic Testing: Yazılım Yaşam Döngüsünde Testin Yeni Dönemi
Agentic Testing: Yazılım Yaşam Döngüsünde Yeni Dönem
Agentic testing, testi önceden yazılmış bir betik olmaktan çıkarıp hedefe göre plan yapan, uygulayan ve kendini düzelten bir agent döngüsüne çeviriyor; 2026'da yaygınlaştı ama güven hâlâ insan incelemesinden geliyor.
Agentic testing test üretimini ucuzlatır ama neyin doğru olduğunu bilmez; güven, insanın tanımladığı test oracle ve incelenen artefaktlardan gelir.
Araç üreticileri ve test ekipleri insan incelemesinin gerekliliğinde birleşiyor; tam otonom self-healing'i savunan satıcılar azınlıkta kalıyor.
Zihinsel model
Agent hızlı ve yorulmaz bir test yazarıdır; neyin doğru olduğunu ona siz söylersiniz, o kapsamı genişletir.
Neden
- Agent ekranda göreni beklenen davranış sayar; mevcut hatalı davranışı teste kilitleme eğilimi taşır.
- Healer eskimiş testle bozulmuş uygulamayı her zaman ayıramaz; yanlış elementle yeşile dönen test regresyonu gizler.
- Kod üretimi hızlandıkça darboğaz doğrulamaya kayar; Agent bu açığı kâhin sağlayarak değil, kapsamı genişleterek kapatır.
Kanıt
Ekiplerin yüzde 84'ü AI ile üretilen testleri en az bir insan incelemesinden geçiriyor.
SmartBear, State of Software Quality and Testing (2026)Katılımcıların yüzde 46'sı AI ile üretilmiş kodun sonradan production'da hata verdiğini yaşamış.
SmartBear, State of Software Quality and Testing (2026)Playwright'ın healer Agent'ı işlevi bozuk bulduğunda testi düzeltmek yerine atlanmış olarak işaretleyebiliyor.
Playwright Docs, Test Agents (2025)Karşı görüş
Arayüzü sık değişen ürünlerde bakım yükü öyle büyük ki ara sıra yanlış onaran healer bile hiç test olmamasından iyidir. Mobilde ise araç olgunluğu web düzeyinde değil, keşif maliyeti yüksek kalıyor.
Kavramlar
Pratikte
- Healer değişikliklerini otomatik merge etmeyin, PR olarak alın; gevşetilen assertion ayrı uyarı versin.
- Planner'a kabul kriterlerini ve örnek girdi-çıktı tablosunu girdi olarak verin.
- PR'da yalnızca deterministik testleri koşun; keşif modunu gece çalışan işe taşıyın.
Kod yazma hızı AI asistanlarıyla katlanırken test yazma ve bakım hızı aynı oranda artmadı; darboğaz geliştirmeden doğrulamaya kaydı. Agentic testing bu darboğaza verilen cevap: uygulamayı keşfeden, test planı çıkaran, testi üreten ve kırıldığında onaran agent'lar. Ekim 2025'te Playwright 1.56 ile planner, generator ve healer framework'ün içine girdi; 2026'da Playwright CLI, agent'lar için terminal üzerinden debug ve Trace analizi geldi, Temmuz 2026'daki 1.62 ile Playwright MCP sunucusu doğrudan pakete dahil oldu. Benimseme de rakamlara yansıdı: Stack Overflow 2026 anketinde geliştiricilerin %58'i test yazmak ya da iyileştirmek için AI kullanıyor, SmartBear'ın 2026 raporunda ise %46'sı AI ile üretilmiş kodun daha sonra production'da hata verdiğini söylüyor. Asıl soru değişmedi: agent'ın ürettiği test neyi gerçekten doğruluyor ve bu döngüde insan nerede duruyor.
Çıkarımlar
- Ajan nasıl sorusunu çözer; ne doğrulanacağını, yani test kâhinini insan tanımlamalı.
- Healer'ın her değişikliği PR olarak gelsin; gevşetilen assertion ve atlanan test ayrı metrik olsun.
- Keşif modunu her commit'te değil, gece işinde çalıştırın; PR'da deterministik testler koşsun.
- AI özelliklerini assertEquals ile değil, sürümler arası kıyaslanan eval setleriyle test edin; tutarlılık önemliyse pass^k ölçün.
- Test sayısı kalite değildir; incelenmemiş yüzlerce üretilmiş test CI'ı yavaşlatır, güveni artırmaz.
- Benimseme güveni getirmiyor: 2026'da ekiplerin %84'ü AI testlerini hâlâ insan incelemesinden geçiriyor; bu bir zayıflık değil, doğru tasarım.
Alt başlıklar
Agentic testing nedir, test otomasyonundan farkı ne
Klasik test otomasyonu deterministik bir betiktir: şu butona tıkla, şu metni bekle. Betiği insan yazar, uygulama değişince insan düzeltir. Agentic testing (ajan tabanlı test) ise bir hedefle başlar: kullanıcı sepete ürün ekleyip ödeme adımına gelebilmeli. Ajan uygulamayı keşfeder, adımları kendisi çıkarır, çalıştırır, sonucu yorumlar ve gerekirse planı günceller.
Farkı şöyle özetleyebiliriz: otomasyon nasıl sorusunu insandan alır, ajan ise ne sorusunu insandan alıp nasıl kısmını kendisi çözer. Bu, test kapsamını genişletmeyi ucuzlatıyor ama yeni bir risk getiriyor. Ajanın yorumladığı başarı, sizin kastettiğiniz başarı olmayabilir.
Pratik ayrım: agentic testing, betiksiz keşif testleri ve test üretimi için güçlü; deterministik regresyon testinin yerini almıyor, onu üretiyor ve bakımını yapıyor. Üretilen test yine de kodda duran, tekrar çalıştırılabilir bir artefakt olmalı.
Ekim 2026 itibarıyla durum
Son 12 ayda agentic testing deneysel olmaktan çıktı.
Araç tarafında Playwright 1.56 (Ekim 2025) planner, generator ve healer agent'larını getirdi. Ocak 2026'daki 1.58 Playwright CLI ve skill desteğini ekledi; Nisan 2026'daki 1.59 agent'ların test debug etmesi için --debug=cli, komut satırından Trace inceleme, ekran kaydıyla çalışma kanıtı ve LLM'e uygun kısa aria snapshot modunu sundu. Temmuz 2026'daki 1.62 ile Playwright MCP sunucusu ve CLI doğrudan Playwright paketine dahil oldu.
Benimseme tarafında Stack Overflow 2026 anketine göre (30.903 yanıt) geliştiricilerin %58'i test yazmak ya da iyileştirmek için AI kullanıyor. SmartBear'ın Q3 2026'da 1.436 kişiyle yaptığı ankette katılımcıların %65'i test kapsamının en az %41'ini AI'ın ürettiğini ya da bakımını yaptığını söylüyor; %84'ü AI testlerini en az bir insan incelemesinden geçiriyor, %46'sı AI ile üretilmiş kodun production'da hata verdiğini yaşamış.
DORA'nın Mayıs 2026 ROI raporu da aynı noktaya basıyor: AI benimsemesinin getirdiği geçici verim düşüşünün nedenlerinden biri test ve değişiklik onay süreçlerini uyarlama ihtiyacı.
Playwright Test Agents: planner, generator, healer
Ekim 2025'te yayımlanan Playwright 1.56, üç yerleşik ajan tanımı getirdi. Planner uygulamayı keşfeder ve specs klasörüne Markdown formatında bir test planı yazar; girdi olarak bir istek, ortamı hazırlayan bir seed test ve isteğe bağlı bir ürün gereksinim dokümanı alır. Generator bu planı alıp seçicileri ve doğrulamaları canlı uygulamada kontrol ederek tests klasörüne Playwright testleri üretir. Healer ise başarısız bir testi tekrar oynatır, arayüzdeki karşılık gelen elementi bulur ve bir düzeltme önerir; düzeltemezse testi atlanmış olarak işaretleyebilir.
Kurulum npx playwright init-agents komutuyla yapılıyor ve ajan tanımları VS Code, Claude Code ve opencode gibi hedefler için üretiliyor. Önemli bir not: Playwright sürümünü güncellediğinizde ajan tanımlarını da yeniden üretmeniz öneriliyor; 2026'da 1.59 ve 1.62 sürümleri agent'ların kullandığı CLI ve MCP katmanını epey değiştirdi.
Bu yapının değeri ara çıktılarda: Markdown plan insan tarafından okunup onaylanabilir, üretilen test de normal kod incelemesinden geçer. Ajan karar verir, ama kararın izi repoda kalır.
Self-healing testin karanlık yüzü
Kendini onaran test fikri cazip: buton id'si değişti, ajan yeni elementi buldu, test yeşile döndü. Ama burada ciddi bir tuzak var. Test kırıldığında iki olasılık vardır: ya test eskidir ya da uygulama bozulmuştur. Healer ajanı bu ikisini her zaman ayırt edemez.
Senaryo: ödeme sayfasında Siparişi Onayla butonu yanlışlıkla devre dışı kaldı. Healer, ekranda benzer görünen Sepete Dön butonunu bulup testi geçirirse, gerçek bir regresyonu sessizce gizlemiş olur. Bu, kırmızı testten daha tehlikeli bir yeşil testtir.
Korunma yolları somut. Healer'ın yaptığı her değişiklik otomatik merge edilmesin, pull request olarak gelsin. Doğrulama satırlarının, yani expect ifadelerinin ajan tarafından gevşetilmesi ayrı bir uyarı tetiklesin. Playwright dokümantasyonu da healer'ın işlevi bozuk bulduğunda testi atlayabildiğini söylüyor; atlanan test sayısını CI raporunda ayrı bir metrik olarak izleyin, sıfırdan farklıysa birisi baksın.
Test oracle problemi: neyin doğru olduğunu kim biliyor
Test oracle (test kâhini), bir çıktının doğru olup olmadığına karar veren mekanizmadır. Ajan bir formu doldurup gönderebilir; ama gelen 4.250 TL toplamın doğru olup olmadığını nereden bilecek? Bu bilgi kodda değil, iş kuralında yaşıyor.
Ajanın test üretiminde en zayıf olduğu yer burası. Ekranda görüneni doğrulayan, yani mevcut davranışı beklenen davranış sayan testler üretmeye eğilimli. Bu, hatalı davranışı teste kilitlemek demek. Literatürde buna snapshot körlüğü de denebilir.
Çözüm, ajana kâhini dışarıdan vermek. Ürün gereksinim dokümanını, kabul kriterlerini ya da birkaç örnek girdi ve beklenen çıktı tablosunu planner'a girdi yapın. Örneğin: 3 ürün, yüzde 10 kupon, 1.000 TL üzeri kargo bedava. Ajan bu tablodan sınır değer testleri türetebilir. İnsan kâhini tanımlar, ajan kapsamı genişletir; iş bölümü bu şekilde sağlıklı.
Ajanı test etmek: eval ve deterministik olmayan sistemler
Agentic testing'in ikinci anlamı, ajanların kendisini test etmek. LLM tabanlı bir özellik aynı girdiye her seferinde aynı cevabı vermez; assertEquals burada çalışmaz. Bunun yerine eval (değerlendirme) setleri kullanılıyor: temsilci girdiler, kabul edilebilir çıktı aralığı ve bir puanlama yöntemi.
Puanlama üç katmanda yapılabilir. Deterministik kontroller: çıktı geçerli JSON mu, zorunlu alan var mı, yasaklı kelime geçiyor mu. Model tabanlı değerlendirme: başka bir modelin bir rubriğe göre puanlaması, yani LLM-as-judge. İnsan değerlendirmesi: küçük ama düzenli bir örneklem.
Pratik eşik: Anthropic'in Ocak 2026 tarihli eval rehberi gerçek hatalardan türetilmiş 20-50 görevle erken başlamayı öneriyor; set büyüdükçe her prompt veya model değişikliğinde CI'da çalıştırıp geçme oranını sürümler arası kıyaslayın. Aynı rehber pass@k (k denemeden en az biri başarılı) ile pass^k (k denemenin hepsi başarılı) ayrımını da hatırlatıyor; müşteriye dönük bir akışta tutarlılık, yani pass^k daha anlamlı. Tek bir başarısız vakaya değil, oranın düşmesine bakın. Üretimde görülen her hatayı yeni bir eval vakasına çevirmek, setin zamanla gerçekçi kalmasını sağlar.
Yaşam döngüsüne yerleştirmek: insan, CI ve maliyet
Agentic testing'i SDLC'ye eklerken en sık hata, onu her commit'te tam keşif modunda çalıştırmak. Keşif pahalı ve yavaştır; her çalıştırma model çağrısı demek. Daha iyi bir yerleşim üç katmanlı: pull request'te sadece ajanın daha önce ürettiği deterministik testler koşar; gece çalışan bir işte planner yeni akışları keşfeder ve aday test önerir; healer yalnızca kırılan testler için tetiklenir.
İnsan rolü kaybolmuyor, yer değiştiriyor. Test mühendisi betik yazmaktan çok plan onaylıyor, kâhin tanımlıyor ve ajanın önerdiği değişiklikleri inceliyor. Bu bir beceri değişimi: test tasarımı, risk analizi ve alan bilgisi daha değerli hale geliyor.
Anti-pattern: ajanın ürettiği yüzlerce testi incelemeden repoya almak. Test sayısı kalite metriği değildir. Bin tane yüzeysel test, on tane kritik akış testinden daha az güven verir ve CI süresini uzatır.
Son gelişmeler
Ekim 2026 itibarıyla
Önce kendi cevabını düşün, sonra aç.
Agentic testing test mühendislerini gereksiz kılar mı?
Betik yazma işinin bir kısmını azaltır ama test tasarımını, risk analizini ve kâhin tanımını ortadan kaldırmaz. Ajanın ürettiği plan ve düzeltmeleri değerlendiren birine her zamankinden çok ihtiyaç var. Rol betik yazarlığından test stratejistliğine kayıyor.
Ajanın ürettiği teste nasıl güveneceğiz?
Diğer kodlara nasıl güveniyorsak öyle: inceleme ve kanıtla. Üretilen test repoda duran, okunabilir bir artefakt olmalı ve Pull Request sürecinden geçmeli. SmartBear'ın 2026 anketinde katılımcıların %84'ü en az bir insan incelemesi kullanıyor, yalnızca %3'ü AI'ın kendi kendini doğrulamasına güveniyor. Ek olarak mutation testing gibi yöntemlerle testin gerçekten hata yakalayıp yakalamadığını ölçebilirsiniz.
Her test koşusunda model çağrısı yapmak pahalı değil mi?
Keşif ve onarım modunu sürekli çalıştırırsanız pahalı olur. Ajanı test üretmek ve kırılanı onarmak için kullanıp, CI'da deterministik testleri koşturursanız maliyet büyük ölçüde üretim anına sıkışır. Kural: ajan test yazar, CI testi çalıştırır.
Mobil uygulamalarda da bu yaklaşım işliyor mu?
Prensip aynı ama araç olgunluğu web kadar değil; Playwright web odaklı ve 2026'daki agent özelliklerinin çoğu tarayıcı tarafında. Mobilde emülatör yönetimi, cihaz çeşitliliği ve yavaş geri bildirim döngüsü agent'ın keşif maliyetini artırıyor. Kritik akışlarla dar başlayıp kâhini net tanımlamak mobilde daha da önemli.
Notun kaynakları
Sunum stili
11 slayt. Tıklarsan sunum o slayttan başlar.
Slayt notları
Agentic testing'i iki anlamda ele alıyorum: agent ile test yazmak ve agent'ın kendisini test etmek.
AI asistanlarıyla üretilen her satırın birinin onu doğrulaması gerekiyor. Test tarafı aynı oranda hızlanmadı.
Agentic testing regresyon testinin yerini almıyor; onu üretiyor ve bakımını yapıyor. Risk şu: ajanın yorumladığı başarı sizin kastettiğiniz başarı olmayabilir.
Kurulum npx playwright init-agents. Değer ara çıktılarda: Markdown plan insan tarafından onaylanır, üretilen test normal Pull Request incelemesinden geçer. 2026'da 1.59 CLI debug, 1.62 MCP sunucusunu pakete ekledi.
Siparişi Onayla butonu bozulmuş, healer benzer görünen Sepete Dön butonunu bulup testi geçirmiş. Sağ alt köşe kırmızı testten daha tehlikeli.
Ajan formu gönderebilir ama 4.250 TL toplamın doğru olup olmadığını bilemez; bu bilgi iş kuralında yaşar. Örnek: 3 ürün, %10 kupon, 1.000 TL üzeri kargo bedava. İnsan kâhini tanımlar, ajan kapsamı genişletir.
En sık hata keşif modunu her commit'te çalıştırmak. Keşif pahalı ve yavaş; her çalıştırma model çağrısı demek. Eval setine gerçek hatalardan türetilmiş 20-50 görevle başlayın.
Aynı girdiye her seferinde aynı cevap gelmiyorsa assertEquals çalışmaz. Tek başarısız vakaya değil, sürümler arası geçme oranına bakın.
İlk rakam Stack Overflow 2026 anketinden, diğer ikisi SmartBear'ın 2026 raporundan. Benimseme yüksek, güven hâlâ insan incelemesinden geliyor. Üretimde görülen her hata eval setine yeni vaka olarak girmeli.
İkinci anti-pattern: ajanın ürettiği yüzlerce testi incelemeden repoya almak. Test sayısı kalite metriği değil; bin yüzeysel test on kritik akış testinden az güven verir.
Test mühendisinin rolü kaybolmuyor; betik yazarlığından plan onayına, kâhin tanımına ve risk analizine kayıyor.