Son zamanlarda yüksek lisans programım için bir yazılım mühendisliği dersi için final sınavım oldu ve sınavdaki sorulardan biri şuydu:
Unit Testing is considered:
a. White-box Testing
b. Black-box Testing
c. Either
7 yıllık yazılım geliştirme deneyimimde, birim testi her zaman beyaz kutu yaklaşımı benimsedi. Test cihazı, testleri yazarken daima ünitenin uygulanması hakkında tam bilgi sahibi olmuştur. Kara kutu testi her zaman daha sonra entegrasyon, sistem ve kabul testi şeklinde geldi.
Bununla birlikte, sınava doğru cevap (profesöre göre) birim testinin beyaz veya kara kutu testi olabileceğidir.
Bazı araştırmalar yaptım ve birçok durumda "kara kutu birim testi" kod önce kod testleri önce birim testleri yazılan bir test ilk yaklaşımını tanımlamak için kullanılır gibi görünüyor. Ancak bence bu hala beyaz kutu testi. Uygulama henüz mevcut olmasa da, testi yazan kişi genellikle kaynak kodun nasıl uygulanacağı konusunda oldukça iyi bir fikre sahiptir.
Birisi bana kara kutu birim testinin nasıl çalıştığını (gerçekten bir şeyse) ve beyaz kutu birim testinden nasıl farklı olduğunu açıklayabilir mi?
While the implementation does not yet exist, whoever is writing the test generally has a pretty good idea about how the source code is going to be implemented.
- Evet, ama testin kendisi yapmıyor. Beyaz kutu testi, bir değişkenin değeri gibi yöntem veya sınıfın içindeki bir şeyin test edilmesi anlamına gelir. Test yazarının test altındaki kodun neye benzediğini bildiği anlamına gelmez.