top of page
Altuğ Bilgin Altıntaş

Mutasyon testler sayesinde testlerin kalitesi artıyor

Güncelleme tarihi: 29 Ara 2020

Bir soruyla başlamak istiyorum; aşağıdaki yordamın %100 doğru çalıştığından emin olmak için nasıl bir birim test yazarsınız?


public boolean yourMethod(int a) {

int min = 1; // iyi degil biliyorum

int max = 5; // ayni sekilde

if ((a >= min) && (a <= max)) {

return true;

}

return false;

}


Böyle birim test tatmin edici olur mu ?


@Test public void testYou() {

MyClass sut = new MyClass();

assertFalse(sut.yourMethod(0));

assertTrue(sut.yourMethod(3));

}


Fena gözükmüyor sanki peki olaya kod kapsama (code coverage) raporlarına bakarak ilerleyelim, işte o rapor : %100 kapsama ulaşmak müthiş bir başarı. Konuyu kapatıp huzur içinde yeni planlama (test yaz) — kodla — sonuçları gör ve iyileştir evresine geçebiliriz derken aslında tablonun hiçte bu kadar iyi olmadığını öğreniyoruz.


Bu şimdi ne demek ? Şu demek %100 kod kapsamanın ötesinde eksiklerimiz olduğunu mutasyon test tarafından gösteriliyor. Neden mutasyon testlere ihtiyacımız var ? Kısacası zayıf testlerin üzerinden gelinmesi için mutasyon testlere kesinlikle öneriyorum.


Bu yaklaşım inanıyorum ki yazılım testlerin kalitesinde müthiş bir kalite artışı getirecektir. Çok kısa bir nokta daha belirtmek istiyorum. Diyelim ki çok basit bir topla() yordamı yazdık :


public int topla(int a, int b) { return a + b ; }


topla() yordamının aşağıdaki birim test içerisindeki gibi test edersek :


Mutasyon testler sayesinde birim testlerin (unit testing) kalitesinin arttığı çok açık. Mutasyon testi için ben bu örneklerde PiTest aracını kullandım ama özellikle Java teknolojileri için başka araçlarda mevcut.


3 yorum

Son Yazılar

Hepsini Gör

3 commentaires


chat
15 oct.

Android uyumlu dokunmatik ekran akıllı cep telefonları, tablet, ipad, iphone gibi Mobil cihazlarla tek bir tıkla Mobil Sohbet’e katılabilırsıniz.

J'aime

chat
15 oct.

Sohbet ve chat yapmanızı kolay ve güvenli hale getiren sohbet odaları sorunsuz kesintisiz yeni kişilerle tanışma imkanı sağlar.

J'aime

mersinklimadunyasi
26 oct. 2022

Mersin Klima Servisi, Montaj, Tamir, Bakım, Firması Olarak Sizlere Tüm Marka Ve Modeldeki Beyaz Eşyalarınız Tamiri, İçin Beyaz Eşya Teknik Servis Hizmeti Sunmaktadır.

J'aime
bottom of page