Beyaz Kutu Testi Nedir?
İngilizce: White Box Testing
Yayın: · Son güncelleme:
Beyaz Kutu Testi Nedir? Kısaca
Beyaz kutu testi (white box testing), yazılımın kaynak kodu ve iç mantığı bilinerek, kodun içindeki yolların, koşulların ve döngülerin doğru çalışıp çalışmadığını kontrol eden test yöntemidir. Cam kutu ya da şeffaf kutu testi olarak da bilinir.

Beyaz kutu testi nedir?
Beyaz kutu testinde kutunun içi görünür. Test eden kişi kodu okur, hangi koşulların hangi yollara saptığını bilir ve testleri buna göre tasarlar. Amaç kodun her köşesinin en az bir kez çalıştırıldığından emin olmaktır.
Genelde geliştiriciler yapar. Birim testi yazmak, beyaz kutu yaklaşımının en yaygın örneğidir.
Kod kapsamı nasıl ölçülür?
Kod kapsamı (code coverage), testler çalışırken kodun yüzde kaçının gerçekten işletildiğini gösterir. Birkaç türü vardır. Satır kapsamı çalışan satırları, dal kapsamı ise her if koşulunun hem doğru hem yanlış tarafının denenip denenmediğini ölçer.
Bir örnekle bakalım. Bir kargo ücreti fonksiyonu, sepet tutarı belirli bir sınırın üstündeyse ücretsiz kargo, altındaysa sabit ücret uyguluyor olsun. Beyaz kutu testi her iki dalı da dener: sınırın altında, tam sınırda ve üstünde bir tutar. Kodda ayrıca "yurt dışı adres" için üçüncü bir dal varsa ve hiçbir test oraya girmiyorsa, kapsam raporu bunu açıkça gösterir.
Kara kutu testinden farkı
Kara kutu testi dışarıdan bakar ve gereksinimlere göre test eder. Beyaz kutu testi içeriden bakar ve kodun yapısına göre test eder. Biri "doğru şeyi yapıyor mu", diğeri "her parçası çalışıyor mu" sorusuna odaklanır.
Yüzde yüz kapsamı hedef yapmayın. Yüksek kapsam, testlerin iyi olduğunu garanti etmez; kodu çalıştırıp hiçbir şeyi kontrol etmeyen testler de kapsamı artırır. Kritik iş kurallarında yüksek dal kapsamı aramak daha anlamlı bir hedeftir.
Sıkça Sorulan Sorular
White box test ile unit test aynı şey mi?
Tam olarak değil. Unit test bir test seviyesidir, white box ise bir test yaklaşımıdır. Birim testleri genelde kodun iç yapısı bilinerek yazıldığı için beyaz kutu testinin en yaygın uygulamasıdır.
Code coverage yüzde kaç olmalı?
Herkes için geçerli tek bir oran yoktur. Birçok ekip kritik modüller için yüksek, yardımcı kodlar için daha düşük hedefler koyar. Oranın kendisinden çok, önemli iş kurallarının test edilip edilmediği önemlidir.