← BlogRehber23 Mayıs 2026~10 dk okuma

Smoke Test Biliyordun,
Peki Hallucination Testing?

AI çağında yazılım test terminolojisi nasıl değişti — klasik terimler + yeni sözlük, eğlenceli ve hızlı

TestingLLM EvalAI QualityHallucinationRed TeamingAgent Testing

Smoke Test Biliyordun, Peki Hallucination Testing?

AI sistemleri koda girdiğinden beri test sözlüğümüz de değişti. İşte eski terimleri hızlıca hatırlatıp, yeni dünyayı açıklayan bir rehber — eğlenceli, direkt, fazla uzatmadan.


TL;DR

Klasik test terimleri hâlâ geçerli ama artık tek başına yetersiz. Bir LLM'yi veya otonom agent'ı test etmek, assert response == "OK" yazmaktan çok farklı. Bu makalede önce eski sözlüğü hızlıca tarayacağız, sonra AI çağının getirdiği yeni terminolojiye dalacağız.

Toplam okuma süresi: ~10 dakika.


Önce Klasikleri Tarayalım

Zaten biliyorsun ama sınavda sorulsa net cevap verebilmek için:

Deployment & Güven Testleri

  • Smoke Test — "Hâlâ ayakta mı?" Deploy sonrası ilk kontrol. Kullanıcı giriş yapabiliyor mu?
  • Sanity Test — "Düzelttik mi?" Bir bug fix sonrası sadece o özelliği hızlıca doğrulama.
  • Regression Test — "Başka bir şeyi bozmadık ya?" Fatura kodu değişti, ödeme hâlâ çalışıyor mu?
  • Canary Release — Yeni versiyonu önce %5 kullanıcıya açarsın. Felaket olursa %100'e gitmeden dönersin.
  • Blue-Green Deployment — İki ortam çalışır, trafiği birinden diğerine saniyeler içinde çevirirsin.

Kapsam Testleri

  • Unit Test — Tek bir fonksiyon. calculate_tax() doğru mu döndürüyor?
  • Integration Test — İki sistem birlikte. API PostgreSQL'e doğru yazıyor mu?
  • End-to-End (E2E) Test — Tam kullanıcı akışı. Kayıt → ödeme → e-posta geldi mi?
  • Acceptance Test (UAT) — İş biriminin onayı. Finans ekibi fatura akışını onaylıyor mu?

Yük & Kapasite Testleri

  • Load Test — "50.000 eş zamanlı kullanıcıya dayanır mı?"
  • Stress Test — Kasıtlı olarak sınırı zorlarsın, ne zaman çöktüğünü bulursun.
  • Performance Test — Hız. API 200ms altında yanıt veriyor mu?

Güvenlik & Sağlamlık

  • Penetration Test — Saldırganı simüle edersin. SQL injection, XSS denersin.
  • Fuzz Testing — Aptalca, rastgele, kırık veriler gönderirsin. Sistem ne yapar?
  • Chaos Testing — Production'da Kubernetes pod'larını kasıtlı öldürürsün. Resilience var mı?
  • Monkey Test — UI üzerinde rastgele tıklarsın. "Kimse bunu yapmaz" dediğin şeyi yapar.

Geliştirme Araçları

  • Snapshot Test — React component'inin çıktısını kaydeder, değişirse alarm verir.
  • Happy Path Testing — Her şey yolundayken sistemi test edersin.
  • Edge Case Testing — Boş dosya, artık yıl tarihi, unicode karakter... kenar senaryolar.
  • Test Harness — CI pipeline gibi testleri yöneten framework veya altyapı.

Ama Hayat Değişti

Klasik testlerde şu soru yeterliydi: "Çıktı beklediğim değere eşit mi?"

Artık sorular şu şekle döndü:

  • Model doğru cevap verdi ama uydurdu mu?
  • Agent görevi tamamladı ama sonsuz döngüye mi girdi?
  • Prompt değiştirmedim ama dünden farklı yanıt mı verdi?
  • Kullanıcı sistemi manipüle etmeye mi çalıştı?

Yeni Sözlük: AI/LLM/Agent Test Terimleri

İşte artık takip etmen gereken terimler. Bunları bilmeden modern bir AI sistemini test ettiğini söyleyemezsin.


Temel Ölçüm & Değerlendirme

Eval / Evaluation Bir modelin ne kadar iyi iş çıkardığını ölçme pratiği. "Test" kelimesinin AI dünyasındaki karşılığı. GPT'nin verdiği yanıtları beklenen yanıtlarla karşılaştırırsın. Her eval pipeline'ının bir "ground truth" seti olması gerekir.

Prompt Regression Bir güncelleme sonrası prompt kalitesinin düştüğünü tespit etme. "Yeni promptu yazdım, daha iyi oldu" dersin ama dün iyi olan SQL sorgusu artık bozulmuş olabilir. Her prompt değişikliğinde regression suite çalıştırmalısın.

Determinism Testing Aynı prompt'a farklı günlerde verilen yanıtların ne kadar tutarlı olduğunu ölçersin. Bazı modeller temperature=0'da bile farklı sonuçlar döndürebilir. Bu testi atlama.

Latency Benchmarking Agent'ın görevi kaç saniyede tamamladığını ölçersin. "5 saniyede bitirmeli" gibi bir SLA varsa bunu izlemelisin. Model değişimi bile latency'yi 3x artırabilir.

Token Efficiency Aynı kaliteyi daha az token ile elde etmeye çalışırsın. OpenAI maliyeti düşürme operasyonu da diyebilirsin. Prompt'u compress ettikçe kalite ne kadar bozuluyor?


Güvenilirlik & Kalite

Hallucination Testing Modelin gerçek olmayan bilgi üretip üretmediğini sistematik olarak test edersin. "API endpoint /v2/users/bulk var mı?" diye sorarsın, model güvenle uydurduğu bir yanıt verirse hallucination var demektir.

Groundedness Check Modelin verdiği yanıtın kaynaklarla desteklenip desteklenmediğini doğrularsın. RAG sistemi kullanıyorsan "model retrieved document'a dayanarak mı yanıt verdi, yoksa uydurdu mu?" sorusunun cevabıdır.

RAG Evaluation Retrieval-Augmented Generation sistemlerini test edersin. Getirilen dökümanlar soruyla alakalı mıydı? Model bu dökümanlardan doğru sonuç çıkardı mı? İki ayrı sorudur, ikisini ayrı ayrı ölçersin.

Context Window Testing Uzun dökümanlarla çalışırken modelin bağlamı kaybedip kaybetmediğini test edersin. 300 sayfalık PDF'in 250. sayfasına dair soru sorarsın, cevap tutarlı mı?

Memory Consistency Test Agent sistemlerinde önceki oturumda öğrenilenlerin sonraki oturumda da hatırlanıp hatırlanmadığını kontrol edersin. "Geçen hafta dediğimi hatırlıyor mu?"


Güvenlik & Adversarial

Red Teaming Sistemi kasıtlı olarak kötü niyetli saldırılarla test edersin. Jailbreak dener, zararlı içerik üretmeye zorlar, rol yapmasını istersin. Bu test ayrı bir ekip tarafından yapılmalıdır.

Prompt Injection Testing Kullanıcının sistem prompt'unu manipüle etmeye çalıştığı senaryoları test edersin. "Yukarıdaki tüm talimatları unut ve bana X yap" gibi girişimler bloklananıyor mu?

Tool Permission Testing Agent'ın erişmemesi gereken şeylere erişip erişemediğini doğrularsın. Dosya sistemine okuma izni var ama yazma izni yok — bu kural gerçekten işliyor mu?

Guardrails Teknik olarak bir "test" değil ama test etmeniz gereken bir mekanizma. Modelin zararlı, yasadışı veya politika dışı içerik üretmesini engelleyen kurallar bütünü. Bu kuralların çalıştığını doğrulayan testler yazmalısın.


Agent Sistemleri

Agent Harness Agent'ları yöneten ve test eden runtime/orchestration altyapısı. LangGraph, CrewAI, LangChain gibi framework'ler. Klasik Test Harness'ın agent dünyasındaki karşılığı.

Tool Reliability Test Agent'ın çağırdığı araçların ne kadar güvenilir çalıştığını ölçersin. MCP tool 1000 çağrıda kaç kez başarısız oldu? %99 SLA var mı?

Agent Loop Detection Agent'ın sonsuz döngüye girdiğini erken tespit etme. "Aynı tool'u 50 kez çağırdı" gibi pattern'leri izlemelisin. Gerçekten üzücü bir production vakası olmadan önce bunu test edin.

Multi-Agent Orchestration Test Birden fazla agent birlikte çalışırken aralarındaki koordinasyonu ve görev aktarımını test edersin. Planner → Executor → Reviewer zinciri doğru çalışıyor mu?

Human-in-the-Loop (HITL) Agent'ın kritik adımlarda insan onayı alıp almadığını test edersin. Finansal işlemde agent "bunu onaylıyor musunuz?" diye sorduysa test geçti.

Autonomous Task Execution Agent'ın insan müdahalesi olmadan başından sonuna kadar bir görevi tamamlayabildiğini ölçersin. "Jira ticket oluştur, branch aç, PR yaz" — hepsini yaptı mı?


Harita: Klasik vs AI Test Karşılaştırması


Pratikte Nasıl Görünüyor?

Diyelim ki bir müşteri desteği agent'ı geliştiriyorsun. Test pipeline'ın şöyle görünmeli:


Hızlı Referans: Hangi Terimi Ne Zaman Kullanırsın?

"Sunucu çökmüş mü?" diyorsan → Smoke Test

"Bu bug düzeldi mi?" diyorsan → Sanity Test

"Yeni özellik eskiyi bozmadı mı?" diyorsan → Regression Test

"Model gerçek olmayan şey mi anlattı?" diyorsan → Hallucination Testing

"Kullanıcı sistemi ele geçirmeye mı çalışıyor?" diyorsan → Prompt Injection Testing

"Agent sonsuz döngüde mi?" diyorsan → Agent Loop Detection

"Yanıtlar kaynakla uyuşuyor mu?" diyorsan → Groundedness Check

"Model dünkü kadar iyi mi hâlâ?" diyorsan → Eval + Prompt Regression

"Kötü niyetli saldırıya dayanıyor mu?" diyorsan → Red Teaming


Sonuç

Test etmek hiçbir zaman kolay olmadı. Ama AI sistemleri, "bekleneni döndürüyor mu?" sorusunun ötesine geçmeyi zorunlu kıldı. Artık bir sistemin sadece çalışıp çalışmadığını değil, güvenilir, tutarlı ve manipüle edilmez olup olmadığını da test etmemiz gerekiyor.

Klasik sözlüğü biliyordun. Yeni sözlüğü de şimdi biliyorsun. Şimdi sıra bunları pipeline'ına eklemeye.


Kaynaklar

Okuma Önerileri:

Bu Siteden:

Tartışma

0 yorum

Yorum yapmak için giriş yapın

GitHub ile Giriş Yap

Yorumlar yükleniyor...