Hata (defect) saptandığında kimi organizasyonalarda hatanın türüne veya bazen türden de bağımsız hataya bakış açısıdan dolayı raporlanmasının gerekmediği üzerine durulur. Oysa hataların kayıt altına alınmaması demek bir ülkenin kurulumunda batışına kadar olan süreçteki tarihi kayıt altına almamakla aynı anlama gelir. Böyle bir durumda geçmişe bakılarak nerede hatalar yapıldığını nereden ders alınması gerektiğini anlamak zorlaşacaktır. Yazılım geliştirmesi sonrasında yine bir ürün ortaya çıkar bu ürürün geçmişine bakmak istediğimizde hataları kontrol etmek bizim geçmişteki önemli anlar hakkında bilgiler verecektir. Bir test mühendisi için hataların kayıt altında tutulmasının daha farklı anlamları vardır. Bu yazımda bunun üzerine duracağım.
Öncelikle hataların kayıt altına almak için bir hata takip aracının varlığı gereklidir. Bu araçların açık kaynak kodlu (open sourced) yani ücretsiz türleri olduğu gibi piyasada çeşitli fiyatlarda ücretli türleride vardır. Peki neden hataları kayıt altına almak gerekiyor maddler halinde yazmak gerekirse:
- Öncelikle kayıdedilen hatanın gerçekten hatamı yoksa test uzmanın kendi hatasımı onu görebiliriz.
- Laf uçar fakat kayıt kalır,
- Hata kayıt altında iken aynı hatayı bir başkası bulması durumunda önce kayıtlı bilgiler kontrol edilerek hatanın durumuyla ilgili bilgiler alınır ve boşuna emek harçanmasından kaçınılır. Günümüzde bir firmada çalışma süresi ortalaması çok kısa olmasından dolayı firmaya giden-gelen kişiler için de bu bilgiler kullanışlı olur.
- Hatalar kayıt edildiğinde hatalar üzerinden önceliklendirme yapılarak çözümünü için sıraya sokabiliriz.
- Hatalarla ilgili raporlar düzenlenebilir. Örneğin, ne tip hatalar daha çok yapılıyor, kimler daha çok hata yapabiliyor, benzer projelerde daha çok nerelerde hatalar yapabiliriz, ...
- Yazılım mühendisi (software engineer) yazılım (software) üretiyor ise, test mühendisi de test ürünü (testware) üretir. Test case ve hata rapolarıda testware'nin en önemli kısmıdır. Yani test mühendisi geçmişiyle ilgili bilgileri de hata raporlarında kayıt altına almış olur.
Peki bir hata ile karşılaştığımda bu hatanın tekrar oluşturulması için adımları (reproduction steps - kısaca repro steps) bulana kadar beklemeli miyim?
- Hayır. Hataların tekrar üretilmesi için repro steps önemlidir fakat bazı durumlarda (race condition - çok sık karşılaşılmayan, hatalı durumu oluşturmanın zor olduğu test caseler) hata tekrar üretmek sıkıntı olabilir. Bu durumda bile hatayı raporlamak öyle bir hatanın varlığını başkalarına duyurmak faydalıdır çünkü farklı bir göz belkide çok kolay anlayabilir. Hatalı durum anlaşıldığında hata raporu güncellenmelidir.
Peki hataları sadece test mühendisleri mi raporlamalı?
- Hayır. Hata sadece test mühendisinin işi değildir. Firmanın varlığı verdiği hizmeti hatasız vermektir. Yani herhangi bir hatanın varlığından bundan herkes sorumludur. Hatayı bulan kişi hatayı raporladıktan sonra test mühendisi gözden geçirmelidir.