Yan yana
Kara Kutu TestivsBeyaz Kutu Testi
Kara kutu testi ile beyaz kutu testi arasındaki fark nedir?
Güncellendi 2 dk okuma6 fark
Kısaca
Kara kutu testi yazılımı koda bakmadan, gereksinimlerine göre kontrol eder; beyaz kutu testi ise testleri kodun iç yapısına göre tasarlar.
Kara Kutu Testi
Kara kutu testi, yazılımı içindeki koda bakmadan ya da ona dayanmadan, yalnızca girdileri ve çıktıları üzerinden, yapması gereken şeye göre kontrol eder.
Kara Kutu Testi sayfasını okuBeyaz Kutu Testi
Beyaz kutu testi, testleri kodun iç yapısına dair bilgiyle tasarlar; böylece kodun ifadeleri, dalları ve yolları doğrudan çalıştırılıp kontrol edilir.
Beyaz Kutu Testi sayfasını okuKara Kutu Testi ve Beyaz Kutu Testi karşılaştırması
| Özellik | Kara Kutu Testi | Beyaz Kutu Testi |
|---|---|---|
| Dayandığı şey | Gereksinimler ve şartnameler | Kodun iç yapısı |
| Kod bilgisi | Gerekmez | Gerekir |
| Genellikle yapan | Test uzmanları, QA, ürün ekibi | Geliştiriciler |
| Teknikler | Sınır değerleri, denklik sınıfları, senaryolar | İfade, dal ve yol kapsamı |
| Bulduğu | Eksik ya da yanlış davranış | Test edilmemiş yollar ve mantık hataları |
| Refactoring'den etkilenir mi | Hayır | Çoğu zaman güncelleme gerekir |
Fark, açıklamalı
Kara kutu testi sistemi kapalı bir kutu gibi ele alır: test uzmanları ona girdiler verir ve çıktıları, nasıl kurulduğunu bilmeye gerek kalmadan şartnamenin olması gerektiğini söylediğiyle karşılaştırır. Beyaz kutu testi ise kutuyu açar: test eden kişi kodu okur ve her dalı, döngüyü ve hata yolunu çalıştıran testler yazar.
Teknikleri farklıdır. Kara kutu testi denklik bölümleme, sınır değer analizi, karar tabloları ve kullanıcı senaryoları kullanır. Beyaz kutu testi ise ifade, dal ve yol kapsamı gibi kapsama ölçülerini ve testlerin koddaki değişiklikleri gerçekten yakaladığını kontrol eden mutasyon testi gibi teknikleri kullanır.
Her biri farklı sorunlar bulur. Kara kutu testleri, hiç uygulanmamış özellikler dahil, gereksinimlere göre eksik ya da yanlış davranışı yakalar ve kod yeniden düzenlendiğinde çalışmaya devam eder. Beyaz kutu testleri ise nadiren kullanılan bir hata işleyicisi gibi kimsenin çalıştırmadığı kod yollarını yakalar, ama gerçekleştirime daha bağlıdır.
Sık yapılan bir yanlış, ekiplerin birini seçmesi gerektiğini düşünmektir. Çoğu test takımı ikisini birleştirir: geliştiricilerin yazdığı birim testleri çoğu zaman beyaz kutudur, uçtan uca ve kabul testleri kara kutudur; gri kutu testi de iç yapıya dair kısmi bilgiyle ikisini karıştırır.
Hangisini kullanmalısınız?
Kara Kutu Testi şu durumlarda doğru seçim:
- Özelliklerin gereksinimleri kullanıcının bakış açısından karşıladığını doğruluyorsunuz.
- Test uzmanlarının koda erişimi ya da kod bilgisi yok.
- Kabul ya da uçtan uca testler yazıyorsunuz.
Beyaz Kutu Testi şu durumlarda doğru seçim:
- Karmaşık mantığı test ediyor ve her dalın çalıştırılmasını istiyorsunuz.
- Güvenliğe kritik kod yollarını inceliyorsunuz.
- Birim testleri yazıyor ve kod kapsamını izliyorsunuz.
Sık sorulan sorular
Birim testi kara kutu mu, beyaz kutu mu?
İkisi de olabilir, ama çoğu zaman beyaz kutudur, çünkü geliştiriciler birim testlerini kodu bilerek yazar. Yalnızca bir fonksiyonun herkese açık sözleşmesini kontrol eden testler ise birim düzeyinde kara kutudur.
Gri kutu testi nedir?
İkisinin karışımıdır: testler kara kutu testleri gibi dışarıdan tasarlanır, ama veritabanı şeması ya da mimari gibi iç yapıya dair kısmi bilgiyle şekillenir.
Hangisi daha fazla hata bulur?
Tek başına hiçbiri. Farklı türden hatalar bulurlar; etkili test stratejilerinin ikisini birden kullanmasının nedeni budur.