Flake Takipçi
Yeniden deneme oranı ısı haritası, şiddet filtreleri ve çalışma süresi eğilim grafikleriyle tutarsız testleri gerçek zamanlı olarak tespit edin ve sıralayın.
Tutarsız Test Nedir?
Tutarsız (flaky) test, kod değişikliği olmaksızın bazen geçen bazen başarısız olan bir testtir. Genellikle zamanlama sorunlarından, test sırası bağımlılıklarından, paylaşılan durum kirlenmesinden veya geçici ağ başarısızlıklarından kaynaklanır. Güvenilmez testler CI/CD'yi yavaşlatır, gerçek gerileme sinyallerini gizler ve ekiplerin süreci durdurup belirleyemeyeceklerini bilemedikleri için "yeniden çalıştır"ı tıklamaya alışmasına neden olur.
Flake Takipçi, CI çalışmalarınızda yalnızca yeniden deneme sonrasında geçen testleri izleyerek doğrudan bir yeniden deneme oranı sunar. Sorunlu bir test tablosu, şiddet rozetleri, çalışma süresi eğilimleri ve tüm zamanların en kötü ihlalcilerini gösteren bir panel içerir.
Hızlı Başlangıç
- KG Modunu Etkinleştir — Üst başlıktaki mod değiştiriciden KG'yi seçin veya Ayarlar → Ekranları Yönet'ten açın.
- Flake Takipçi'yi Açın — Kenar çubuğundan Flake Takipçi'yi tıklayın.
- Özet Kartları Okuyun — Üst satır; etkilenen toplamını, kritik sayısını ve ortalama yeniden deneme oranını gösterir.
- Kritikler'e filtreleyin — Şiddet filtresi çubuğunda Kritik'i seçin ve %20 yeniden deneme eşiğini geçen testleri görün.
- En Kötü İhlalcilere Bakın — Sağ panelde son 7 güne ait her bir trendli satırla birlikte ilk 3 güvenilmez test listelenir.
Arayüz Turu
Özet Kartlar (Üst Satır)
Etkilenen Testler
Herhangi bir yeniden deneme oranı gösteren toplam benzersiz test sayısı.
Kritik
%20 veya üzerinde yeniden deneme oranına sahip testler. Acil düzeltme gerektirir.
Orta
%10–19 yeniden deneme oranına sahip testler. İzlenmeli ancak CI'ı engellemeyebilir.
Ort. Yeniden Deneme Oranı
Etkilenen tüm testlerdeki ortalama yeniden deneme yüzdesi.
Şiddet Filtreleri
Tablo başlığının hemen altında gezinme çubuğu şu filtre haplarını sunar: Tüm Testler, Kritik (≥%20) ve Orta (%10–%19). Aktif haplar, seçimi net göstermek için birincil renkte vurgulanır.
Test Tablosu
| Sütun | Açıklama |
|---|---|
| Test Adı | Tam test tanımlayıcısı veya dosya yolu |
| Süit | Testin ait olduğu süit veya spec dosyası |
| Yeniden Deneme Oranı | Yüzde olarak yeniden deneme oranı (renk kodlu: kırmızı = kritik, sarı = orta) |
| Şiddet | Eşiğe göre otomatik atanan Kritik veya Orta rozeti |
| Son Çalışma | Bu testin son CI çalışmasının tarih-saati |
| Ort. Süre | Tüm çalışmalardaki ortalama çalışma süresi (ms) |
| Trend | Son 7 çalışmanın mini grafik çubuğu (yeşil = geçti, kırmızı = başarısız, sarı = yeniden deneme) |
En Çok Sorun Çıkaran Testler Paneli
Sağ taraftaki panel, tüm zamanların en yüksek yeniden deneme oranlarına göre sıralanmış ilk 3 güvenilmez testi gösterir. Her giriş şunları içerir:
- Test adı ve süiti
- Belirgin yeniden deneme oranı yüzdesi
- 7 günlük mini trend çizgi grafiği
- Şiddet rozeti
Testin üzerine tıklamak, ilgili artifaktlar için Artifakt Kasası'na bağlantı sağlayarak tabloda vurgular.
Çalışma Süresi Eğilim Grafiği
Ana tablonun altında saatlik veya günlük kova seçenekleriyle 7 günlük çalışma süresi dağılımını gösteren bir zaman serisi çizgi grafiği bulunur. Belirgin yeniden deneme pikleri, ani gecikme artışlarıyla örtüşür ve altta yatan kaynak çekişmesine veya ağ sorunlarına işaret edebilir.
Şiddet Eşikleri
| Şiddet | Yeniden Deneme Oranı | Önerilen Eylem |
|---|---|---|
| Kritik | %20 ve üzeri | Bu sprint'te CI'ı engelleyebilir veya düzeltmeyi planlayın |
| Orta | %10 – %19 | Bir sonraki sprint'te izleyin, iş sıkışması olmadıkça engelleyen değil |
| İyi | %10'un altı | Kabul edilebilir; rutin süit geçişlerini izlemeye devam edin |
Eşikler Özelleştirilebilir
Varsayılan eşikler (%10 ve %20) sektör standart önerileridir. Bunları Ayarlar → KG → Flake Takipçi Eşikleri bölümünden değiştirebilirsiniz.
Yaygın Kök Nedenler
Test takımınız bir testi kritik olarak işaretlediğinde, aşağıdaki nedenleri araştırın:
- Zamanlama duyarlılığı — Test, uygun bir
awaitveya bekleme koşulu olmadan yüklenmesine zaman ayırmadan bir öğeyle etkileşime giriyor. - Paylaşılan test durumu — Bir önceki testten kalan veriler, genellikle her testten önce çalışan kurulum/yıkım kancaları eksik olduğunda bu testi etkiliyor.
- Ağ aralıklılığı — Testler, zaman zaman yavaşlayan canlı API uç noktalarına istek gönderiyor. Daha kararlı kıyaslamalar için MSW veya Playwright'in ağ engelleme modunu kullanmayı düşünün.
- Paralel yürütme çekişmesi — Birden fazla paralel çalışma, sonucu etkileyebilecek paylaşılan tarayıcı profilleri veya dosya sistemi konumları için rekabet ediyor.
- Kaynak doygunluğu — CI çalıştırıcıları aşırı yüklendiğinde yavaşlar. Ort. Süre eğilimi göstergesi, zamanlama gürültüsünü kaynak gürültüsünden ayırt etmeye yardımcı olur.