Beyaz Kutu Testi Nedir?
Beyaz kutu testi (White-box Testing), bir yazılımın iç yapısının, kodunun ve mantığının detaylı bir şekilde incelendiği bir test yöntemidir. Bu testte, test yapan kişi kodu görür ve analiz eder, bu nedenle "yapısal test", "açık kutu testi" veya "cam kutu testi" olarak da adlandırılır.
Beyaz kutu testi, yazılımın mantık hatalarını, döngüleri, dallanmaları ve veri akışlarını test etmeyi hedefler. Genellikle geliştiriciler veya teknik test mühendisleri tarafından yapılır.
Beyaz Kutu Testi Nasıl Yapılır?
Kodun Analizi:
- Yazılımın kaynak kodu incelenir ve hangi bölümlerin test edileceği belirlenir.
- Test senaryoları kodun yapısına uygun olarak tasarlanır.
Test Tekniklerinin Uygulanması:
- Aşağıdaki teknikler uygulanarak kodun mantığı test edilir:
- Deyim Kapsamı (Statement Coverage): Koddaki her bir satırın en az bir kez çalıştırıldığından emin olunur.
- Dal Kapsamı (Branch Coverage): Koşullu ifadelerdeki tüm dalların test edilmesi.
- Yol Kapsamı (Path Coverage): Tüm olası yürütme yollarının test edilmesi.
Kodun Çalıştırılması:
- Test senaryoları kod üzerinde çalıştırılır ve çıktı sonuçları kontrol edilir.
Hataların Belirlenmesi ve Düzeltme:
- Çalışma sırasında bulunan hatalar analiz edilir ve düzeltilir.
Beyaz Kutu Testine Örnek
Senaryo:
Bir fonksiyon, iki sayı alır ve büyük olanını döndürür.
Kod:
def buyuk_sayi(a, b):
if a > b:
return a
else:
return b
Test Teknikleri:
Deyim Kapsamı:
- Fonksiyondaki her bir satırın çalıştırılması.
- Test senaryoları:
- buyuk_sayi(5, 3) → Çıktı: 5 (if bloğu çalıştırılır).
- buyuk_sayi(2, 7) → Çıktı: 7 (else bloğu çalıştırılır).
Dal Kapsamı:
- if ve else koşullarının her iki durumu da test edilir.
- Test senaryoları:
- buyuk_sayi(5, 5) → Çıktı: 5 (eşitlik durumu kontrol edilir).
Yol Kapsamı:
- Fonksiyonun tüm yürütme yolları test edilir.
- Test senaryoları:
- buyuk_sayi(3, 1), buyuk_sayi(1, 3), buyuk_sayi(3, 3).
Beyaz Kutu Testinin Avantajları
- Kodun derinlemesine test edilmesini sağlar.
- Mantık hatalarını ve performans sorunlarını erken aşamada tespit eder.
- Tüm kod yollarını test ederek yazılımın kararlılığını artırır.
Beyaz Kutu Testinin Dezavantajları
- Kod bilgisi gerektirir, bu nedenle daha teknik bir test türüdür.
- Karmaşık projelerde uygulanması zaman alıcı olabilir.
- Her test senaryosunu oluşturmak için kodun tamamını anlamak gerekebilir.
*Gönderi ve görsel chatgpt ile oluşturulmuştur.