Java kullanıcıları için oluşturulan bir kod kapsama aracıdır. Eclipse uygulamasında eski versiyonu hazır olarak bulumaktadır. Emma kod kamsama aracının yeni versiyonu ise Eclipse marketten kolaylıkla indirilebilir. Programın en büyük avantajı çalışılan kodu inceleyerek kod kapsaması ve kod kapsama ölçümü yapılabilir.
Emma'nın Sahip Olduğu ÖzelliklerHızlı Test Döngüsü: Ayrı pencerelere ve uygulamaya gerek yoktur, kodlar direk analiz edilebilir.
Zengin Kapsama Analizi: Test sonuçları açık bir şekilde kullanıcıya gösterilir.
Kullanım Rahatlığı: Herhangi bir kuruluma veya kod değişikliğine ihtiyaç duyulmaz.
Emma - Hesap Makinesi Örneği
Test senaryolarımızı oluşturalım
Kodlarımızı kapsayıp sonucu inceleyelim
Emma- String Kod Örneği
Örneğin Açıklaması
Şimdi kod kapsama oranlarının değişimini yakından görmek adına bir örnek inceleyelim.
Bunu bir önceki slayttaki örneğe yeni testler ekleyerek yapalım.
MyUnit classında şöyle bir fonksiyon tanımlayalım.
Fonksiyonumuza ait bir de test case oluşturalım.
Test kapsamını çalıştırıp tablomuzu inceleyelim.
Gördüğümüz gibi testte %36,4 gibi bir başarı oranı var.
Bunun sebebi, kod kapsama işleminde hem true hem de false koşullarının incelenip işlenmesidir.
Şimdi aynı testi bir de ‘false’ yani doğru değer döndürecek şekilde kapsayıp çıkacak değerleri inceleyelim.
Kontrol edilen olumsuz koşul olmadığında %100lük bir kapsama oranı aldık.
Constructor yapısının kullanıldığı bu örneği inceleyelim.
Test sınıfında hayvan nesnesini ve test senaryosunu oluşturalım.
Önceki slaytlardaki kodlar kapsanmış haldeydi. Ve testler başarılı olduğundan yeşil renk ile işaretlenmiş haldeler.
Karmaşıklıktan uzak durmak adına işlemleri fonksiyonlar içinde yazıp daha sonra üstte return ettik.
Sıra test senaryolarını oluşturmakta
Programda yanlış karakter girilmediği için false durumu çalıştırılmadı.
Bu durum kapsama sonucunda aşağıdaki gibi belirtiliyor.
Dizi Kullanım Örneği
Demo adında oluşturduğumuz sınıfta üç fonksiyon tanımlayalım.
İlk fonksiyon dizinin elemanlarını bir arttırsın.
İkinci fonksiyon elemanların değerini bir azaltsın
Son fonksiyon da her elemanı iki ile çarpsın
Test sınıfını oluşturup senaryoları yazalım
Başarısız olan testlerin gösterimini anlamak adına ‘testAddOneToArray’ testine yanlış değerler verip durumu inceleyelim
İçerik Hazırlayan : Sinan Aktepe
Kaynaklar
http://emma.sourceforge.net/
https://www.eclemma.org/
https://www.jetbrains.com/dotcover/whatsnew/
https://www.atlassian.com/blog/announcements/atlassian-clover-open-source