Bu test kararsız mı, yoksa gerçek bir hata mı var?
Kararsız bir test, kimse hiçbir şeyi düzeltmeden önce başarısız olur, ardından yeniden denemede geçer; gerçek bir hata ise hiçbir yeniden denemenin değiştirmediği bir nedenle başarısız olur. Verdict System LLC'nin ürünü Nexus Studio, her yeniden denemeyi kaydederek bunları birbirinden ayırır: yeniden denemede geçen bir başarısızlık için FLAKY, gerçek bir bulgu için BREACHED ve kendisi tutarsız olan bir başarısızlık için BREACHED_FLAKY. Yeniden deneme, bir kusuru asla yeşil bir çalıştırmaya dönüştürmez.
Nexus Studio ekibi, Verdict System LLC tarafından. 7 Ekim 2026.
Kararsız test nedir?
Kararsız test, denemelerinin sonuçları birbiriyle uyuşmayan testtir: kod ve test değişmeden, bir denemede başarısız olurken başka bir denemede geçer. Nexus Studio'da bu sözcüğün tek bir anlamı vardır. FLAKY, hiçbir şey onarılmadan önce başarısız olan, ardından yeniden denemede geçen bir testtir. Uygulamada veya testte bir şey kararsızdır ve hiçbir şey düzeltilmemiştir.
Her denemede ortaya çıkan kesin bir başarısızlık, kendini onarma adımı bir seçiciyi düzeltmeyi deneyip başaramadığında bile kararsız sayılmaz. Motorun önceki bir sürümü bu durumu FLAKY olarak sınıflandırıyordu. Ekipler FLAKY durumunu "test sorunlu" diye yorumlayıp geçiyor, dolayısıyla uygulamadaki bir bozukluk önemsiz bir uyarı sayılarak sürüme taşınıyordu. Motor artık bunu yapmıyor.
Yeniden denemeler gerçek hataları gizler mi?
Gizleyebilir; bunun nedeni durum sayısıdır. Yalnızca geçti ve kaldı durumları varsa, başarılı bir yeniden deneme kırmızı bir çalıştırmayı yeşile çevirir ve uygulamada aralıklı olarak ortaya çıkan bir kusur görünmez olur. Bu, bulunması en maliyetli hata türlerinden biridir. Kırmızı, anlık bir ağ kesintisi veya çalışmayan bir tarayıcı anlamına da gelebildiğinde ekip, kırmızı sonuçları incelemek yerine yeniden çalıştırmayı alışkanlık edinir ve test paketine duyulan güven azalır.
Nexus Studio yeniden denemeyi görünür tutar. Önce başarısız olup sonra geçen bir test SECURE değildir. CI ortamında 0 çıkış koduyla sonlanır, dolayısıyla derlemeyi bozmaz; ancak raporda ve Geçmiş bölümünde FLAKY olarak, çekinceli bir başarı şeklinde görünür. Kontrollerin tam sıralaması için 14 kararın nasıl verildiğine bakın.
FLAKY, BREACHED ve BREACHED_FLAKY arasındaki fark nedir?
- FLAKY: önce başarısız oldu, ardından yeniden denemede geçti ve hiçbir şey onarılmadı. Başarısız denemenin raw-data.json dosyasını, ardından Geçmiş bölümündeki eğilimi inceleyin. 0 çıkış koduyla sonlanır.
- BREACHED: test tek bir denemede başarısız oldu ve hatayı açıklayan bir ortam veya test altyapısı örüntüsü yok. Bir doğrulama başarısız oldu. Bu, hata raporudur ve 1 çıkış koduyla sonlanır.
- BREACHED_FLAKY: test, önceki bir yeniden denemenin ardından son denemesinde başarısız oldu ve bunu açıklayan bir ortam veya test altyapısı örüntüsü yok. Başarısızlığın kendisi tutarsız. Hata kaydı açmadan önce denemeleri karşılaştırın. 1 çıkış koduyla sonlanır.
İki yakın durum, tablonun gerçeği yansıtmasını sağlar. AUTO_RECOVER, kendini onarma işleminin bir seçiciyi değiştirdiği başarılı bir sonuçtur; yani yazarın öğe bulucusu artık çalışmıyordur ve test sorunsuz değildir. Yalnızca süre nedeniyle başarısız olan, ardından yeniden denemede geçen bir ilk deneme SECURE sayılır; çünkü bu, kararsızlığı değil gecikmeyi gösterir.
Bir başarısızlığın BREACHED veya BREACHED_FLAKY olabilmesi için sınıflandırıcı, diğer açıklamaları sabit bir sırayla eler: test altyapısı hatası, çökme, engelleme, erişilemeyen sunucu ve zaman aşımı. Yalnızca bunların hiçbirinin açıklayamadığı bir başarısızlık bulgu sayılır. Bu nedenle zaman aşımı veya CAPTCHA, hata raporu olarak gelmez.
Yeniden denemeler nasıl sayılır?
Motor, çalıştırmanın deneme numarasını okur. Yeniden deneme numarası sıfırdan büyük olan başarılı bir test FLAKY olur; ancak bir seçici onarıldıysa AUTO_RECOVER olur. Yeniden deneme numarası sıfırdan büyük olan, başarısız olmuş veya zaman aşımına uğramış ve ortamla açıklanamayan bir test BREACHED_FLAKY olur. Sorunsuz bir başarı için yeniden deneme numarasının sıfır olması ve hiçbir seçicinin onarılmamış olması gerekir.
FLAKY yalnızca denemelerin sonuçlarının uyuşmadığı anlamına gelir. Sıfır yeniden denemeyle, tek bir denemede yaşanan başarısızlık asla kararsız olarak etiketlenmez. Her Geçmiş satırı ayrıca retry_attempt ve attempts değerlerini kaydeder; böylece sayı çalıştırmayla birlikte saklanır.
Her karar hangi kanıtları bırakır?
- FLAKY: screenshot.png, metadata.json ve raw-data.json. Klasör, başarısız denemenin raw-data.json dosyasını saklar; böylece başarısızlığı gizleyen bir yeniden deneme olsa bile başarısızlığın günlüğü kalır. Bu davranış, varsayılan olarak açık olan FLAKY / AUTO_RECOVER ile geçen testlerin kanıtlarını sakla ayarına bağlıdır.
- BREACHED_FLAKY: report.md, metadata.json, raw-data.json ve screenshot.png; ayrıca başarısızlık videosu varsayılan olarak saklanır.
- BREACHED: aynı dosyalar; video varsayılan olarak saklanır.
Karar, kanıt klasörünün adında yer alır; örneğin ad [BREACHED] ile bitebilir. Kanıt sayfası, başarısız bir testi tüm dosyaları üzerinden adım adım inceler.
Geçmiş, sonucu değişen bir testi nasıl saptar?
Geçmiş, her test ve tarayıcı ya da cihaz için her çalıştırmada bir satır tutar; bu satırda sonuç, yeniden deneme girişimi ve hata imzası bulunur. Bu satırlardan oturum, gün veya hafta bazında eğilimleri gösterir: Geriledi, Düzeldi, Hâlâ bozuk ve Yavaşladı. Önce başarılı, sonra başarısız, ardından yeniden başarılı olan bir test, yeniden çalıştırmalar arasında kaybolmak yerine burada görünür.
Evidence Locker ve Patrol içindeki risk sıralaması, testleri ne sıklıkta sonuç değiştirdiklerine, başarısız olduklarına veya zaman kaybettirdiklerine göre sıralar. Ayrıca geçmiş verilerinize uygulanan lojistik regresyonla tahmin edilen riski gösterir; veri az olduğunda ise EWMA yöntemine başvurur. Beş çalıştırmadan önce hiçbir test kararsız olarak nitelenmez, çünkü bir veya iki çalıştırma bir örüntü gösteremez.
Sınırlar
- FLAKY ile SECURE ve BREACHED_FLAKY ile BREACHED arasındaki farkı yeniden denemeler belirler. Yeniden denemeler kapalıyken, ara sıra ortaya çıkan bir başarısızlık BREACHED olarak değerlendirilir.
- KARARSIZ, denemelerin farklı sonuçlar verdiğini söyler. Nedenini söylemez. Nedenin uygulamada mı yoksa testte mi olduğunu bulmak hâlâ bir insanın yapması gereken bir iştir.
- Sınıflandırma hata metnini okur; bu nedenle
403veyaForbiddengibi ifadeler içeren özel bir doğrulama iletisi, ortam sorunu olarak yorumlanabilir. Bir sonuç sizi şaşırttığında metadata.json dosyasını açın. - Beş çalıştırmadan önce Geçmiş ve risk sıralaması hiçbir testi kararsız olarak nitelemez.
Sonraki adımlar
Kanıt sayfası, başarısız bir testin geride bıraktığı tüm dosyaları gösterir; Nexus Studio 14 test sonucuna nasıl karar verir ise kontrollerin sırasını açıklar. 30 günlük deneme sürümü, aynı motoru kendi testleriniz üzerinde çalıştırır.
Kontrolü önce kendi makinenizde çalıştırmak için Gerçek bir hatayı kararsız bir testten nasıl ayırt ederim? sayfasında çalıştırılabilir bir örnek bulabilirsiniz.