Ekip içinde bir hatayı anlatmanın en kısa yolu genelde tek bir cümledir: “Şuraya dokununca uygulama kapanıyor.” Sonrası uzundur. Biri hatayı kendi telefonunda denemeye çalışır, adımları yeniden yazar, ekran kaydı arar, sürüm sorar.
Bu yazıda o uzun kısmın nasıl kısaldığını anlatıyoruz. Örnek, kendi deneme uygulamamız RideGo’da, iptal edilmiş bir yolculuğa dokununca uygulama kapanıyor.
1. Sorun tek cümleyle açılıyor
GitHub’da yeni bir sorun açtık ve iki satır yazdık:
Yolculuklarım ekranında iptal edilen bir yolculuğa dokununca uygulama kapanıyor.
/testsafe test eder misin
İkinci satır önemli. TestSafe’in GitHub uygulaması bağlıysa bu yorum bir testi başlatır. Ayrı bir ekrana geçmeniz, senaryo yazmanız ya da build yüklemeniz gerekmez. Ajan, sorunda yazan cümleyi okur ve ne deneyeceğine kendisi karar verir.
Birkaç saniye içinde bot aynı yere kısa bir yorum bırakıyor: sorunu aldım, sonucu buraya yazacağım.
2. Ajan telefonda deniyor
Arkada olan şu: bulutta bir Android cihaz ayrılıyor, uygulamanın o sürümü kuruluyor ve ajan uygulamayı bir kullanıcı gibi kullanmaya başlıyor.
Bizim örneğimizde sırayla şunları yaptı:
- Uygulamayı açtı ve test hesabıyla giriş yaptı.
- Yan menüden Yolculuklarım ekranına gitti.
- Listede “Cancelled” yazan yolculuğu buldu.
- Üstüne dokundu.
Dördüncü adımda uygulama kapandı ve ekranda Android’in “RideGo durdu” uyarısı çıktı.
Burada dikkat edilecek nokta, ajanın bu adımları önceden yazılmış bir listeden okumaması. Ekranda ne olduğuna bakıp karar veriyor. Menünün yeri değişse ya da liste başka sırayla gelse de aynı işi yapardı.
3. Kanıt biriktiriliyor
Test sürerken ekran kaydı alınıyor, her adımın süresi tutuluyor ve cihazın kendi günlükleri toplanıyor. Uygulama çöktüğü anda Android’in ürettiği hata kaydı da rapora giriyor.
Raporda bizim gördüğümüz şuydu:
- Sonuç: Kaldı.
- Uyarı: İptal edilen yolculuğa dokunulduğunda uygulama çöktü.
- Çökme kaydı:
java.lang.NullPointerException, uygulamanın yolculuk geçmişi ekranından, 34. satır. - Video: Çökmenin olduğu saniyeye tek tıkla gidiliyor.
Yani “bir şey oldu” değil, “şu ekranda, şu anda, şu sebeple oldu”.
4. Rapor konuşmanın içine geliyor
Test bitince bot aynı soruna ikinci bir yorum bırakıyor. İçinde sade bir özet ve bir kriter tablosu var. Tabloda her satır bir beklentiyi söylüyor, yanında sonucu ve videonun hangi saniye aralığında görüldüğü yazıyor:
| Kriter | Sonuç | Video |
|---|---|---|
| Yolculuklarım ekranı açılmalı | Başarılı | 1:05 → 1:59 |
| Listede iptal edilmiş bir yolculuk olmalı | Başarılı | 1:59 → 2:03 |
| Yolculuğa dokununca uygulama çökmemeli | Uyarı | 2:03 → 2:29 |
Raporu okuyan kişinin hiçbir yere gitmesi gerekmiyor. Hata gerçek mi diye bakmak on saniye sürüyor: videoyu o saniyeden açıyorsunuz.
Neden bu sıra önemli
Çoğu test aracı işi tersten kuruyor. Önce senaryoları yazıyorsunuz, sonra çalıştırıyorsunuz, sonra sonuçları başka bir panelden takip ediyorsunuz. O panel zamanla kimsenin bakmadığı bir yere dönüşüyor.
Burada başlangıç noktası ekibin zaten kullandığı yer: bir sorun, bir yorum. Sonuç da oraya dönüyor. Aynısı Slack ve Jira için de geçerli: Slack’e bildirim düşüyor, Jira’da kayıt açılıyor ve videoyla adımlar kayda ekleniyor.
Aynısını denemek isterseniz
- Uygulamanızı yükleyin.
- Entegrasyonlar ekranından GitHub’ı bağlayın.
- Bir soruna hatayı bir cümleyle yazın ve
/testsafekomutunu ekleyin.
Rapor birkaç dakika sonra aynı yere geliyor. Adımların ekran görüntülü hali Hızlı Başlangıç sayfasında duruyor.