Kazanimlar:
- Keşif testinin insan merakına dayanan doğasını kavrayıp yapay zekayı test şartı (charter) ve sezgisel ipucu üreten bir ortak olarak kullanabilme
- Girdi, zamanlama, format, yetki ve kesinti gibi keşif eksenlerini çeşitlendirip her anomaliyi tekrar üretim adımıyla kaydedebilme
- Keşif oturumunun kendisini insan yürütürken yapay zekayı yalnızca hazırlık ve toparlamada kullanmanın sınırını uygulayabilme
Yazılan her test senaryosu, önceden düşünülmüş bir şeyi kontrol eder. Ama en tehlikeli hatalar çoğu zaman kimsenin önceden düşünmediği yerlerde saklanır. İşte keşif testi (exploratory testing — testçinin, önceden yazılmış bir betiğe bağlı kalmadan, ürünü keşfederek eşzamanlı olarak öğrendiği, tasarladığı ve çalıştırdığı test yaklaşımı) tam da bu boşluğu hedefler. Keşif testinde uzman, ürünle serbestçe oynar, "ya şöyle yaparsam" diye sorar ve sistemin beklenmedik davranışlarını yakalar. Bu, en çok insan sezgisine ve merakına dayanan test türüdür — ve tam da bu yüzden yapay zekanın (YZ) rolü burada "yerine geçmek" değil, merakı çoğaltmak, kör noktaları hatırlatmak ve fikir üretmektir.
Bu ünitede YZ'yi bir keşif testi ortağı olarak nasıl kullanacağınızı öğreneceksiniz: test şartları (charter) yazdırmaktan, sezgisel ipuçları (heuristics) hatırlatmaktan, oturum sonrası notları özetlemeye kadar.
Keşif testi neden hâlâ insan işidir?
Betikli test (scripted test — adımları önceden yazılmış, aynen tekrarlanan test) bilineni doğrular; keşif testi bilinmeyeni arar. Keşif testinde değer, testçinin o anda ürünü görüp "burada bir tuhaflık var" diye sezmesinden gelir. YZ ürünü sizin gördüğünüz gibi göremez, gerçek kullanıcının canını neyin sıkacağını hissedemez, "bu buton yeri yanlış" diye rahatsız olamaz. Ama YZ üç konuda çok güçlü bir yardımcıdır: (1) sistematik test fikri listeleri üretmek, (2) unuttuğunuz test eksenlerini hatırlatmak, (3) dağınık keşif notlarınızı düzenli bir rapora çevirmek.
İpucu: Keşif oturumuna başlamadan önce YZ'den bir "test fikri ısınması" isteyin; oturum sırasında ekranı YZ'ye bırakmayın. YZ oturum öncesi ve sonrası yardımcıdır; oturumun kendisi sizin merakınızla ilerler.
Sezgisel ipuçları (heuristics) ve YZ
Keşif testçileri, hata avında yön veren kısa hatırlatıcılar olan sezgisel ipuçlarını kullanır. YZ bunları bağlamınıza uyarlayarak size hatırlatabilir. Klasik birkaçı:
- CRUD: Her veri için Oluştur (Create), Oku (Read), Güncelle (Update), Sil (Delete) akışını dene; birini yarıda kes.
- Goldilocks (az / tam / çok): Bir alana çok az, tam ve çok fazla veri gir (0 karakter, 1 karakter, 10.000 karakter).
- CRUD + zamanlama: Aynı kaydı iki sekmede aynı anda düzenle, sonra ikisini de kaydet.
- Kesinti: İşlem ortasında sayfayı yenile, ağı kes, geri tuşuna bas.
- Ters sıra: Adımları beklenen sıranın tersine yap (önce öde, sonra sepete ekle).
YZ'ye "şu ekran için bu sezgisel ipuçlarını uygulayarak somut denemeler öner" dediğinizde, saha için hazır bir kontrol listesi elde edersiniz.
Test şartı (charter) yazmak
Keşif testi başıboş dolaşmak değildir; test şartı (charter — bir keşif oturumunun neyi, hangi amaçla keşfedeceğini tanımlayan kısa bir yönerge) ile odaklanır. İyi bir şart şu kalıbı izler: "[Hedef alanı] keşfet, [araçlar/veri] kullanarak, [hangi bilgiyi/riski] ortaya çıkarmak için." YZ bu şartları hızla taslaklaştırır.
Betikli test ile keşif testini dengelemek
Sağlıklı bir test stratejisi, betikli (otomatikleştirilmiş, tekrarlanabilir) testlerle keşif testini bir arada kullanır. Betikli testler bilinen davranışların bozulmadığını her sürümde ucuza doğrular; keşif testi ise bu betiklerin hiç düşünmediği yeni riskleri arar. İkisi rakip değil, tamamlayıcıdır. Yaygın bir hata, "her şeyi otomatikleştirelim, keşfe gerek kalmasın" diye düşünmektir; oysa otomasyon yalnızca önceden bildiğiniz şeyi kontrol eder, bilmediğinizi asla bulamaz. Bir başka hata da tersidir: hiç otomasyon kurmadan her sürümde elle keşfe güvenmek — bu, aynı temel hataların tekrar tekrar sızmasına yol açar.
YZ bu dengeyi kurmada yardımcı olur: keşif oturumunuzda bulduğunuz ve tekrar üretim adımı netleşen bir anomaliyi, YZ'ye vererek kalıcı bir betikli regresyon testine dönüştürebilirsiniz. Böylece keşifte bir kez bulunan hata, bir daha asla fark edilmeden geri dönemez. Keşif "yeni riski bul", otomasyon "bulunanı bir daha bırakma" işini üstlenir; YZ ikisi arasındaki köprüyü hızlandırır.
İpucu: Her keşif oturumunun çıktısını iki kovaya ayırın: "hemen düzeltilecek hatalar" ve "kalıcı otomasyona dönüştürülecek senaryolar". İkinci kova, keşfin uzun vadeli değerini regresyon paketinize taşır.
Zayıf prompt / Güçlü prompt
Zayıf: "Bu ekranda ne test edeyim?"
Güçlü: "Bir 'profil fotoğrafı yükleme' özelliği için 90 dakikalık keşif testi oturumunu 3 test şartına böl. Her şart için: hedef, kullanılacak sezgisel ipuçları (dosya boyutu/format/goldilocks/kesinti), denenecek 5 somut aksiyon ve dikkat edilecek risk sinyalleri (yavaşlama, bozuk görüntü, güvenlik) ver. Özellikle kötü niyetli dosya yükleme (çok büyük dosya, yanlış uzantı) risklerini savunma amaçlı ele al."
Güçlü prompt; süreyi, yapıyı, ipuçlarını ve risk odağını verir. Sonuç, oturumda elinizin altında tutacağınız bir yol haritasıdır.
Keşif eksenleri tablosu
Eksen
Sorulacak soru
Örnek deneme
Girdi sınırları
Alan aşırı değerlerde ne yapar?
10.000 karakterlik ad
Zamanlama
Eşzamanlı/yarıda kesik işlemde ne olur?
İki sekmede aynı kaydı kaydet
Format
Beklenmedik format nasıl karşılanır?
Emoji, sağdan-sola metin, HTML
Yetki
Yetkisiz kullanıcı erişebilir mi?
URL'yi elle değiştir
Durum
Geçersiz durum geçişi mümkün mü?
İptal edilmiş siparişi ödemeye çalış
Kesinti
Ağ/oturum kesilince veri tutarlı mı?
Kaydederken ağı kes
Dört kopyalanabilir şablon
1) Test şartı üreteci:
Rolün: kıdemli keşif testçisi.Şu özellik için [süre] dakikalık keşif oturumunu 3-4 test şartına böl:[özellik]. Her şart: hedef, kullanılacak sezgisel ipuçları,denenecek 5 somut aksiyon, izlenecek risk sinyalleri.Şart kalıbı: "[alan]'ı [araç/veri] ile [risk/bilgi] için keşfet."
2) Sezgisel ipucu uyarlayıcı:
Şu ekran için şu sezgisel ipuçlarını somut denemelere çevir:CRUD, goldilocks (az/tam/çok), kesinti, ters sıra, yetki atlama.Ekran: [ekran/akış tarifi].Her ipucu için ekrana özel 2 deneme yaz.
3) Kör nokta hatırlatıcı:
Şu özelliği test ediyorum: [özellik].Deneyimli testçilerin bu tür özelliklerde EN ÇOK atladığı10 durumu listele. Erişilebilirlik, yerelleştirme (dil/tarih/para),eşzamanlılık, güvenlik ve performans eksenlerini dahil et.
4) Oturum notu özetleyici:
Aşağıda keşif oturumumun ham notları var. Bunları şu yapıda düzenle:- Bulunan anomaliler (ciddiyet tahminiyle)- Tekrar üretim adımı belli olanlar- Daha fazla araştırma gerektirenler- Bir sonraki oturum için öneriHam notlar: [notları yapıştır]
Üç mini vaka
Vaka 1 — Kör nokta hatırlatıcı iş başında. Bir uzman, çok dilli bir uygulamada arama özelliğini test ediyordu. YZ'nin "yerelleştirme eksenini unutma" hatırlatması üzerine Türkçe'ye özgü "i/İ" harf dönüşümünü denedi. Arama "İstanbul" yazınca sonuç getirmiyordu; küçük harfe çevirme hatası tespit edildi. YZ eksen hatırlattı, uzman denedi ve buldu.
Vaka 2 — Şartın odaklaması. Yeni bir testçi, bir ödeme ekranında 2 saat "gezinmiş" ama yapılandırılmamış olduğu için sadece 2 küçük not çıkarmıştı. YZ ile 3 test şartına bölünmüş bir oturum planı yaptıktan sonra aynı sürede 11 anomali kaydetti; ikisi ciddiydi. Aynı süre, yapı sayesinde 5 kat verimli oldu.
Vaka 3 — Savunma amaçlı dosya yükleme testi. Bir ekip, profil fotoğrafı yüklemede YZ'nin önerdiği "yanlış uzantılı/çok büyük dosya" denemelerini kendi ürünlerinde yetki dâhilinde denedi. 50 MB'lık bir dosyanın sunucuyu 40 saniye kilitlediğini buldu ve boyut sınırı ile zaman aşımı eklendi. Test yalnızca kendi ürünlerinde, savunma amaçlı yapıldı.
Sık yapılan hatalar
- YZ'yi oturumun yerine koymak. Keşfin değeri sizin gözlem ve sezginizdedir; YZ hazırlık ve toparlamada yardımcıdır.
- Şartsız gezinmek. Odak olmadan saatler harcayıp az bulgu çıkarmak. Test şartı odağı verir.
- Notları toparlamamak. Keşifte bulunan anomaliyi tekrar üretim adımıyla kaydetmezseniz, o bulgu kaybolur.
- Tek eksende takılmak. Hep girdi sınırlarını denemek; yetki, zamanlama, yerelleştirme eksenlerini atlamak.
- Güvenlik denemelerini yetkisiz yapmak. Dosya/URL manipülasyonu gibi denemeleri yalnızca kendi ürününüzde ve izinle yapın.
Özetle
Keşif testi, önceden yazılmamışı arayan, en çok insan merakına dayanan test türüdür. YZ burada yerinize geçmez; test şartları taslaklar, sezgisel ipuçlarını bağlamınıza uyarlar, kör noktaları hatırlatır ve dağınık oturum notlarınızı düzenli rapora çevirir. Değer sizin gözlem ve sezginizden gelir; YZ bu değeri odaklar ve çoğaltır. Şart yazın, eksenleri çeşitlendirin, bulguları tekrar üretim adımıyla kaydedin, güvenlik denemelerini yalnızca yetki dâhilinde yapın.
Uygulama görevi
Kendi ürününüzden bir özellik seçin. YZ ile "test şartı üreteci" şablonunu kullanarak 60 dakikalık oturumu 3 şarta bölün. Oturumu yapın (YZ'siz, elle keşfederek), ham not tutun. Bitince "oturum notu özetleyici" şablonuyla notları düzenleyin. Sonuç: en az 5 anomali, her biri için tekrar üretim adımı ve ciddiyet tahmini. Bulduğunuz en değerli anomalinin, hangi test şartı ve sezgisel ipucu sayesinde ortaya çıktığını not edin.
Kontrol listesi
- [ ] Oturumdan önce YZ ile test şartları oluşturup odak belirledim.
- [ ] En az 4 farklı keşif eksenini (girdi, zamanlama, format, yetki, kesinti) denedim.
- [ ] Oturumu elle, kendi merakımla yürüttüm; YZ'yi yerime koymadım.
- [ ] Her anomaliyi tekrar üretim adımı ve ciddiyet tahminiyle kaydettim.
- [ ] Notlarımı YZ ile düzenli bir rapora çevirdim.
- [ ] Güvenlik/manipülasyon denemelerini yalnızca kendi ürünümde ve yetkiyle yaptım.