Skip to main content
search

Test otomasyonundaki en büyük problemlerden birinin, geliştirilen Script’lerin stabil çalışmamaları olduğunu söyleyebiliriz. Bu durumun test otomasyonuna duyulan güveni azaltan önemli etkenlerden olduğu aşikar. Zira bir test Script’ini kodladığımızda, her zaman aynı şekilde çalışarak bize gerekli bildirimi sağlamasını beklemekteyiz.

Bu fenomene terminolojide kısaca “Flaky Test” denmekte. Flaky testler kimi zaman hatasız bir biçimde çalışırken, kimi zaman aslında test edilen sistemde hiçbir hata olmamasına rağmen, False-Positive sonuçlar üreterek hata raporu iletmekte.

“Flakiness” Nedir?

Herhangi bir test otomasyon Suit’ini ele aldığımızda, örneğin 300 adet test içeren, Case’lerin sadece %1 oranında hata sonuç üretmesi (Flakiness) neredeyse hiçbir zaman tam doğru sonucu elde edemememize neden olmakta. %1’lik bir varsayım durumunda, diğer bakış açısı ile her bir test koşum zamanının %99’unda doğru sonuç üretecektir.

Bu oranı tüm Suite’e projekte ettiğimizde (%99)^300= %4 gibi rakam elde ediyoruz. Yani Suite, koşumunun sadece %4’ünü hatasız olarak tamamlayabiliyor.

Flaky Test’ler Nasıl Azaltılabilir?

Flaky testlerin engellenmesi pek de kolay bir süreç değil. Yapılması gereken, öncelikle hangi testlerin “Flaky” olduğunu tespit etmek. Bunun için Jenkins, “Flaky Test Handler” Plugin’ini kullanmanız mümkün. Bu Plugin ile testlerin hangi oranda Flaky sonuç ürettği gözlemlenerek istatistiksel analiz yapılabilmektedir. (Farklı CI altyapıları için farklı eklentiler de bulunmakta)

Akabinde vakit kaybetmeden Flaky testlerimizi Fix’lemek adına çalışmara başlamalıyız. Aynı “Kırık Cam” teorisindeki gibi bu düzeltmeleri yapmadığımız durumda, test otomasyon kodunuzun içinden çıkılmaz bir hâl alması işten bile olmayacaktır.

Kök nedenlere baktığımızda birkaç olağan süpheli göze çarpmakta. Kısaca özetlemek istersek;

– Synchronization Problems

– Race Conditions

– Parallelization

– Order Dependency

peki bu sorunlarla ilgili ne gibi çözümler üretebiliriz?

Çözüm önerilerimizi bir sonraki makalemizde bulabilirsiniz…

Berk Dülger
Keytorc, Consultant

Close Menu