Birim yöneticisi ile birim ve entegrasyon testinin rolü hakkında bir tartışma yaptım. Geliştiricilerin birim ve entegrasyon testlerinin ne olduğunu ve nasıl yapıldığını bildirmelerini istedi. Benim bakış açım, birim ve entegrasyon testlerinin test sürecinin değil geliştirme sürecinin bir parçası olduğu. Anlambilimin ötesinde demek istediğim, birim ve entegrasyon testlerinin test raporlarına dahil edilmemesi ve sistem test uzmanlarının onlar hakkında endişelenmemesi gerektiğidir. Akıl yürütmem iki şeye dayanıyor.
Her zaman bir arayüz ve sözleşmeye karşı birim ve entegrasyon testleri planlanır ve gerçekleştirilir. Resmi sözleşmeleri kullanıp kullanmadığınızdan bağımsız olarak, örneğin bir yöntemin yapması gereken, yani bir sözleşmenin ne olduğunu hala test edersiniz.
Entegrasyon testinde iki farklı modül arasındaki arayüzü test ediyorsunuz. Arayüz ve sözleşme , testin ne zaman geçeceğini belirler. Ancak her zaman tüm sistemin sınırlı bir bölümünü test edersiniz. Diğer taraftan, sistem testi sistem spesifikasyonlarına göre planlanmakta ve gerçekleştirilmektedir. Spesifikasyon testin ne zaman geçeceğini belirler.
Birimin genişliğini ve derinliğini ve entegrasyon testlerini (sistemler) test cihazına iletmede hiçbir değer görmüyorum. Belirli bir iş katmanı sınıfında ne tür birim testlerinin yapıldığını listeleyen bir rapor yazdığımı varsayalım. Bundan ne çıkarması gerekiyor?
Neyin test edilmesi ve neyin test edilmemesi gerektiğine karar vermek yanlış bir sonuçtur, çünkü sistem tüm ünite ve entegrasyon testleri geçse bile özelliklerin gerektirdiği şekilde çalışmayabilir.
Bu işe yaramaz bir akademik tartışma gibi gözükebilir, ancak benim gibi kesinlikle resmi bir ortamda çalışıyorsanız, işlerin nasıl yürüdüğünü belirlemede önemlidir. Her neyse, tamamen yanlış mıyım?