Flaky testlerini yönetme

Azure DevOps Services

Geliştiriciler için üretkenlik, geliştirme aşamasındaki kodla ilgili gerçek sorunları bulmak veya zamanında ve güvenilir bir şekilde güncelleştirmek için test özelliğini kullanır. Hatalar genellikle test edilen değişikliklerle ilgili olmadığından, hatalı testler gerçek sorunları bulma konusunda bir engel oluşturur. Flaky test, kaynak kodunda veya yürütme ortamında değişiklik olmasa bile başarılı veya başarısız gibi farklı sonuçlar sağlayan bir testtir. Flaky testleri, gönderilen kodun kalitesini de etkiler.

Not

Bu özellik yalnızca Azure DevOps Services kullanılabilir. Genellikle yeni özellikler önce bulut hizmetinde kullanıma sunulur ve ardından Azure DevOps Server bir sonraki ana sürümde veya güncelleştirmesinde şirket içinde kullanılabilir hale getirilir. Daha fazla bilgi edinmek için bkz. Azure DevOps Özellik Zaman Çizelgesi.

Ürün içinde yanıcı test yönetimi getirmenin amacı, yanıcı testlerden kaynaklanan geliştirici acısını azaltmak ve iş akışının tamamına hizmet etmektir. Flaky test yönetimi aşağıdaki avantajları sağlar.

  • Algılama - Kendi özel algılama yönteminizi takmak için yeniden çalıştırılabilirlik veya genişletilebilirlik ile flaky testinin otomatik olarak algılanması

  • Flakiness yönetimi - Test flaky olarak işaretlendikten sonra veriler söz konusu dalın tüm işlem hatlarında kullanılabilir

  • Yanıcı testlerle ilgili rapor - Hatalı testlerden kaynaklanan derleme hatalarını önlemek isteyip istemediğinizi seçebilme veya flaky etiketini yalnızca sorun giderme için kullanma olanağı

  • Çözüm - El ile hata oluşturma veya el ile işaretleme ve analizinize göre testin işaretlerini kaldırma

  • Döngünün kapatılması - Hata çözümlemesi / el ile giriş sonucu yanıcı testi sıfırlayın

Flaky yaşam döngüsü

Flaky test yönetimini etkinleştirme

Flaky test yönetimini yapılandırmak için Proje ayarları'nı seçin ve İşlem Hatları bölümünde Test yönetimi'ni seçin.

Açık/Kapalı düğmesini Açık olarak kaydırın.

Test Yönetimi, Flaky test algılama etkinleştirildi, Sistem algılama ekran görüntüsü.

Tüm projeler için varsayılan ayar, sorun giderme için flaky testleri kullanmaktır.

Flaky test algılama

Flaky test yönetimi, sistem ve özel algılamayı destekler.

  • Sistem algılama: Ürün içi flaky algılama test yeniden çalıştırma verilerini kullanır. Algılama, VSTest görevinin başarısız test özelliğini yeniden çalıştırması veya işlem hattındaki aşamayı yeniden denemesi yoluyla kullanılmaktadır. Projede, yanıcı testleri algılamak istediğiniz belirli işlem hatlarını seçebilirsiniz.

    Not

    Bir test flaky olarak işaretlendikten sonra, her işlem hattında sorun gidermeye yardımcı olması için söz konusu dalın tüm işlem hatlarında veriler kullanılabilir.

  • Özel algılama: Azure Pipelines ile kendi esnek algılama mekanizmanızı tümleştirebilir ve raporlama özelliğini kullanabilirsiniz. Özel algılama ile, yanıcı testler için test sonuçları meta verilerini güncelleştirmeniz gerekir. Ayrıntılar için bkz . Test Sonuçları, Sonuç Meta Verileri - REST API'yi güncelleştirme.

Test Yönetimi, Flaky test algılama etkinleştirildi, Özel algılama ekran görüntüsü.

Flaky test seçenekleri

Flaky test seçenekleri, aşağıdaki bölümlerde açıklandığı gibi, test raporlamada flaky testlerinin nasıl kullanılabilir olduğunu ve çözüm özelliklerini belirtir.

Flaky test yönetimi ve raporlama

Test yönetimi sayfasında , Flaky test seçenekleri'nin altında, flaky testlerinin Test Özeti raporuna nasıl dahil olduğuyla ilgili seçenekleri ayarlayabilirsiniz. Hem başarılı hem de başarısız test için flaky test verileri Test sonuçlarında kullanılabilir. Flaky etiketi, flaky testlerini belirlemenize yardımcı olur. Varsayılan olarak, flaky testleri Test Özeti'ne eklenir. Ancak, hatalı test hatalarının işlem hattınızda başarısız olmadığından emin olmak istiyorsanız, bunları test özetinize dahil etmemeyi ve test hatasını gizlemeyi seçebilirsiniz. Bu seçenek, aşağıdaki ekran görüntüsünde gösterildiği gibi, hatalı testlerin (hem başarılı hem de başarısız) geçiş yüzdesinden kaldırılmasını ve Testler raporlanmaz bölümünde gösterilmesini sağlar.

Flaky Reporting

Not

Test özet raporu yalnızca Visual Studio Test görevi ve Test Sonuçlarını Yayımla görevi için güncelleştirilir. Diğer senaryolarda hatalı test hatasını engellemek için özel bir betik eklemeniz gerekebilir.

Flaky olarak işaretlenmiş testler

Flaky (veya Testin zaten flaky olarak işaretlenip işaretlenmediğine bağlı olarak UnFlaky) seçeneğini belirleyerek, testi analize veya bağlama göre flaky olarak işaretleyebilir veya işaretini kaldırabilirsiniz.

Mark flaky Test

Bir test işlem hattında flaky veya unflaky olarak işaretlendiğinde, geçerli işlem hattında hiçbir değişiklik yapılmaz. Yalnızca bu testin gelecekteki yürütmelerinde değiştirilen flaky ayarı değerlendirilir. Flaky olarak işaretlenen testlerin kullanıcı arabiriminde İşaretli flaky etiketi vardır.

Flaky Test'i onayla

Yardım ve destek