Merhaba Arkadaşlar,
Bu yazımızda Yazılım Test Süreci aşamalarının sonuncusu olan test sonuçlarının raporlanması konusunu ele almaya çalışacağız. Yazılım testlerinin yürütülmesi aşamasında test sonuçlarını kayıt altına alırız. Bu aşamada; testler gerçekleştirilirken tutulan kayıtlar neticesinde elde edilen verileri raporlamalı, analiz etmeli ve değerlendirmeliyiz. Değerlendirme ve analizde test planlarında belirttiğimiz geçme ve çıkış kriterleri referans almalıyız.
Test Sonuçlarının Raporlanması ve Değerlendirilmesi
Test Kapanış Faaliyetleri
Test yürütme işleminin tamamlandığına karar verdiğimiz durumda (yani test çıkış kriterleri sağlandığında) projenin ya da talebin (test edilen öğenin) çıktıları tespit edilir ve paylaşılır. Bu kayıt altına alma işlemleri ve ilgili kişiler ile paylaşılması işlemlerine birlikte baktığımızda bu yapılan işlere Test Sonuçlarının Raporlanması ve Değerlendirilmesi aşaması çerisinde test kapanış faaliyetleri diyebiliriz. Test kapanışında çıktı olarak kullanılacak bulgular test yürütülmesi sırasında kayıt altına alınır. Test yapılırken testleri etkileyen test kapsamını ölçmemize yardımcı olacak yeterli bilgi ve olayın kayıt altına alınmasına özen gösterilmelidir. Çünkü test kapanışında kapsamı ölçmek için yeterli bilgiye ihtiyaç duyarız. Testler de yaşanan gecikmeler, kesintiler, test ortamındaki aksaklıklar, yazılımda karşılaşılan hatalar vb. Kayıt altına alma yöntemleri, test türüne ve test stratejisine göre değişebilir. Örneğin, manuel koşum yapılan testlerde testi gerçekleştiren kişi ya da test analisti teste ilişkin bilgileri test aracı kullanıyorsa bunun üzerinden kayıt altına alma işlemini yapmalıdır. Otomatik test koşumu yapılıyorsa testlere ait bilgilerin çoğunu raporlaması sağlanmalıdır. (Örneğin, başarılı, başarısız testler, ekran görüntüleri vb.)
Testlerini yaptığımız fakat kayıt altına almadığımız testler için doğru sonucu belirlemek üzere testleri tekrar yapmak durumunda kalabiliriz. Bu durum verimsizliğe ve gecikmelere neden olacağından istemediğimiz bir durumdur. Bunun yanı sıra test edilen öğeler, test yazılımlar ve ortamlar değişebilir ya da geliştirmelerden etkilenebilir. Bu yüzden test kaydı tutma sayesinde Test Sonuçlarının Raporlanması aşamasında kullanacağımız, testlerin yürütülmesi sırasında ilgili kayıtları (yapılandırmalar, hatalar, versiyon değişiklikleri vb.) elde edebileceğimiz kronolojik bir kayıt dosyasının elde edebiliriz.
Çıkış Kriterleri ve Değerlendirme
Test stratejisi oluşturulurken giriş/çıkış kriterleri belirlenir. Yapılan testler ile ilgili Test Sonuçlarının Raporlanması ve Değerlendirilmesi aşamasında kullanacağımız çıkış kriterlerini aşağıdaki gibi tanımlayabiliriz:
- Öncelikli risklerin azaltılması
- Hata oranının belirli bir değerin altına inmesi(Örn %90 hatasız)
- Öncelik seviyesine göre açılmış hataların sayısı
- Başarılı test yüzdesi
- Her bir test edilen öğe için kod ve gereksinim kapsamı, kapsam yüzdesi
- Tekrarlanmayan hatalar sayısı, kritik hata sayıları
Test planlama aşamasında yukarıdaki tanımlanan kriterler tanımlandığında zorunlu veya gerekli olanlar gibi ayrıştırma yapılması gerekebilir. Örneğin; Regresyon testi %90 başarılı tamamlanmalıdır, Öncelik seviyesi yüksek olan hataların bulunmaması gereklidir. Bu durumda verilen bu zorunlu ya da gerekli statüsünde olan durumların karşılanmamış kriterler olarak başarısız olarak değerlendirilir. Aynı şekilde karşılanan yani %90 lık başarı yüzdesi karşılanmış ise bir sonraki aşamaya geçmesine izin verilebilir olarak değerlendirebiliriz. Yukarıdaki gibi çıkış kriterleri nesnel bir şekilde değerlendirilmesi için açık ve net olmalıdır.
Test İzleme ve Kontrolü
Testlere başladıktan sonra testlerin ne durumda olduğunu ya da nasıl ilerlediğini bilmek isteriz ve bundan dolayı testleri takip ederiz dolayısıyla yazılımın kalitesini canlı olarak izlemiş oluruz. Test işlemleri hakkında geri bildirim ve şeffaflık sağlamış oluruz. Bu takip edilecek bilgiler testlerin otomatik ya da manuel koşulmasına bağlı olarak değişebilir. Test planında belirtilen durumlar ve gerçekleşen durumlara göre beklentilerin karşılanıp karşılanmadığı kontrol edilir ve herhangi bir olumsuz durum karşısında müdahele edilir. Örneğin test ortamının test yapmaya elverişli olmadığı durumlar olabilir. Test işlemini engelleyen bu gibi durumlar için hazırlıklı olunur ve en kısa zaman da çözülmesi sağlanır. Test Sonuçlarının Raporlanması ve Değerlendirilmesi aşamasında Test izleme ve kontrolü yapılırken aşağıdaki metrikler dikkate alınabilir.
- Hazırlanan ve planlanan test senaryosu sayıları
- Koşulan/Koşulamayan test senaryosu sayısı ya da passed/fail test case sayısı
- Hata yoğunluğu
- bulunan ve çözülen hatalar, hata oranı, hataların çözümü için yapılan tekrar test sonuçları
- Önceden tanımlanan risk, gereksinim ve yazılım kodu kapsam yüzdesi
- Test milestone tarihleri
Aşağıdaki tablo Test Sonuçlarının Raporlanması ve Değerlendirilmesi aşamasında, Test izleme ve kontrol işlemi için bize yardımcı olmaya örnek olarak kullanılabilir.
Test Sonuçlarının Raporlanmasında kullanılacak örnek tablo
Test Sonuçlarının Raporlanması aşamasında, test izleme işlemi ile test planına ne kadar uyulduğunu ya da sapmaların ne kadar olduğunu ve bu sapmaların nelerden kaynaklandığını görebiliriz. Planlanan süre ile gerçekleşen süre arasında fark söz konusu olduğunda planlanan sürede tamamlanması için müdahele gerekebilir demiştik. Bu müdahalelere şunları örnek verebiliriz.
- Kaynak sayısında değişikliğe gitmek
- Test senaryosu sayısını düşürmek
- Risk analizi ile risklerin bazılarını kontrol altına almaya çalışmak
- Proje test süresini uzatmak
Özet;
Yapılan testler sırasında karşılaşılan olaylar, hatalar vs. bütün eylemleri ve sonuçları içeren bir belge genel olarak tüm testleri kapsayan bir genel bakış ve yazılımın kalitesini öne çıkaran ifadeleri kapsar. Genel olarak Test Sonuçlarının Raporlanması ve Değerlendirilmesi aşamasında hazırlayacağımız test raporunda; test raporu ismi, test edilen öğeler, versiyon numarası, test ortamı hakkında bilgiler verilir. Test planında sapmalar ile ilgili bilgiler ayrı bir başlık altında, tüm test çalışmasının olduğu bir kapsamlı değerlendirme başlığı ayrı olarak verilir. Test planından belirtilen geçme ve kalma kriterlerine göre değerlendirmenin yapıldığı bir bölüm ve test sırasında yakalanan hatalar, başarılı başarısız senaryo durumları,test süresi ve gerçekleşen eylemleri içeren bir özet bölümü ile paydaşların listesini içerecek şekilde test raporu verilebilir. Test sonuçlarının raporlanması ve değerlendirilmesi için IEEE 829-1998 standardı Test Sonuç Raporu formatını önermektedir. Bu rapor içerisinde test sonuçları aşağıdaki bilgileri kapsayacak şekilde özetlenmesi gereklidir: Modül/Birim, İhtiyaç(Gereksinim) Numarası, Test Senaryo no, Test Sonuç no, Testin sonucu, Testin Tarihi, Testi yapan kişi bilgisi, Hata no, test ortamı, hata için yapılan tekrar test sayısı ya da bir testin tekrar koşulma sayısı.
Yazılım Testlerinde belgelendirme ve bunların paylaşılması test eylemlerinin kontrol altında ilerlemesi için önemlidir. Böylece edindiğimiz tecrübeler ile sonraki projelerde ya da taleplerde daha etkili bir şekilde kullanmamıza yardımcı olur. Bu bölüm içerisinde, Yazılım Test Sonuçlarının Raporlanması ve Değerlendirilmesi ile yazılım test süreci aşamalarının tüm adımlarına değinmiş olduk. Umarım faydalı bilgiler aktarabilmişimdir. Sonraki yazılarımızı takipte kalınız 🙂 #KeepTesting
23