Kara Kutu ve Beyaz Kutu Testi Arasındaki Farklar
- 8 Oca 2019
- 7 dakikada okunur
Güncelleme tarihi: 22 Tem
Kara kutu testi ve beyaz kutu testi, yazılımın kalitesini farklı bilgi kaynaklarından değerlendiren iki test tekniği grubudur. Kara kutu testi, uygulamanın belirtilen davranışına ve gözlemlenebilir sonuçlarına odaklanır; beyaz kutu testi ise yazılımın iç yapısını, kontrol akışını ve işleyişini inceler.
Black box vs white box testing karşılaştırmasındaki temel soru “Hangisi daha iyi?” değil, “Bu risk için hangi bakış açısına ihtiyaç var?” olmalıdır. Güncel ISTQB CTFL v4.0.1 müfredatı da bu teknikleri birbirinin yerine geçen seçenekler olarak değil, test tasarımında farklı bilgi kaynaklarından yararlanan yaklaşımlar olarak ele alır.
Bu yazıda neler bulacaksınız?

Kara kutu testi dış davranışı, beyaz kutu testi iç yapıyı farklı açılardan inceler.
Kara kutu ve beyaz kutu testi arasındaki temel fark nedir?
Kara kutu testinde test senaryoları, uygulamanın nasıl geliştirildiğine bakılmadan gereksinimler, kabul kriterleri, iş kuralları, arayüzler ve beklenen davranış üzerinden tasarlanır. Testi yapan kişi girdiyi uygular ve gözlemlenebilir çıktının beklenen sonuçla eşleşip eşleşmediğini değerlendirir.
Beyaz kutu testinde ise test senaryoları kod, kontrol akışı, veri akışı veya teknik tasarım gibi iç yapı bilgilerine dayanır. Amaç yalnızca doğru çıktıyı görmek değil, bu çıktıya ulaşan ifadelerin ve karar dallarının yeterince çalıştırılıp çalıştırılmadığını da incelemektir.
Kısaca:
Kara kutu testi “Yazılım ne yapıyor?” sorusuna odaklanır.
Beyaz kutu testi “Yazılım bunu nasıl yapıyor?” sorusuna odaklanır.
Bu ayrım, test seviyesinden veya testi yapan kişinin unvanından daha önemlidir. Bir teknik, yalnızca belirli bir role ya da tek bir test seviyesine ait değildir.
Kara kutu ve beyaz kutu testi karşılaştırma tablosu
Aşağıdaki tablo, iki yaklaşımın kullandığı bilgi kaynağını, teknikleri, kapsam ölçütlerini, güçlü yönlerini ve sınırlamalarını aynı çerçevede karşılaştırır.
Karşılaştırma ölçütü | Kara kutu testi (Black Box Testing) | Beyaz kutu testi (White Box Testing) |
|---|---|---|
Temel bakış açısı | Belirtilen davranış ve gözlemlenebilir sonuç | İç yapı, işlem mantığı ve kontrol akışı |
Test temeli | Gereksinimler, kabul kriterleri, iş kuralları, kullanım senaryoları ve arayüz sözleşmeleri | Kaynak kodu, kontrol akışı, veri akışı, teknik tasarım ve mimari bilgi |
İç yapı bilgisi | Test tasarımı için gerekli değildir | Test tasarımının temel girdilerinden biridir |
Uygulama değişikliğine duyarlılık | Davranış aynı kaldığı sürece testler çoğunlukla kullanılabilir | İç yapı değiştiğinde testlerin ve kapsama beklentilerinin güncellenmesi gerekebilir |
Ana hedef | Sistemin beklenen işlevi ve iş kurallarını doğru yerine getirdiğini göstermek | İç mantığın, ifadelerin ve karar sonuçlarının yeterince çalıştırıldığını değerlendirmek |
Yaygın teknikler | Eşdeğer bölümlere ayırma, sınır değer analizi, karar tablosu, durum geçişi testi | İfade testi, dal testi ve daha ileri düzey yapısal kapsama teknikleri |
Yaygın kapsama bakışı | Gereksinim, özellik, kural, durum ve senaryo kapsamı | İfade, dal ve seçilen yapısal öğelerin kapsamı |
Tipik hata örnekleri | Eksik iş kuralı, yanlış çıktı, sınır değer hatası, hatalı durum geçişi | Çalışmayan dal, yanlış koşul, ulaşılamayan kod, eksik hata yolu |
Uygulayabilecek roller | Test/QA uzmanları, iş analistleri, ürün ekipleri, geliştiriciler ve alan uzmanları | Geliştiriciler, kod bilgisi olan test/QA mühendisleri, SDET'ler ve teknik test analistleri |
Başlıca sınırlama | İç yapının hangi bölümlerinin çalıştırıldığını tek başına göstermez | Kodda hiç uygulanmamış bir gereksinimi veya yanlış tanımlanmış iş beklentisini kaçırabilir |
Tablonun ana sonucu şudur: Kara kutu testi işlevsel beklentiyi, beyaz kutu testi uygulama yapısını görünür hale getirir. Biri iyi sonuç verdiğinde diğerinin gereksiz olduğu sonucuna varılamaz.

İki yaklaşım aynı test hedefini gereksinimler ve iç yapı üzerinden tamamlayıcı biçimde değerlendirir.
Kara kutu testi nasıl çalışır?
Kara kutu testi, test nesnesinin belirtilen davranışını iç yapıya başvurmadan analiz eder. Test uzmanı bir gereksinimi veya iş kuralını test koşullarına dönüştürür; girdileri, ön koşulları ve beklenen sonuçları belirler. Uygulamanın içindeki algoritma değişse bile dış davranış aynı kaldığında test senaryosu değerini koruyabilir.
ISTQB CTFL v4.0.1 temel seviyede şu kara kutu test tekniklerini ele alır:
Eşdeğer bölümlere ayırma: Benzer biçimde işlenmesi beklenen veri gruplarından temsilci değerler seçilir.
Sınır değer analizi: Hataların sık görüldüğü alt ve üst sınırlar ile bu sınırların hemen çevresi test edilir.
Karar tablosu testi: Birden fazla koşulun farklı birleşimlerinin ürettiği iş sonuçları sistematik biçimde incelenir.
Durum geçişi testi: Sistemin mevcut durumu, olaylar ve izin verilen ya da verilmeyen geçişler test edilir.
Kara kutu yaklaşımı, kaynak koduna erişimin olmadığı üçüncü taraf sistemlerde de kullanılabilir. Bununla birlikte “kodu görmeden test etmek” gelişi güzel test yapmak anlamına gelmez; güçlü gereksinim analizi, alan bilgisi ve sistematik test tasarımı gerektirir.
Tanım, teknikler ve kullanım alanları için Kara Kutu Testi Nedir? yazısına geçebilirsiniz.
Beyaz kutu testi nasıl çalışır?
Beyaz kutu testi, test nesnesinin iç yapısını ve işleyişini analiz eder. Test tasarımında kaynak kodu, karar noktaları, döngüler, hata yolları veya bileşenler arasındaki teknik ilişkiler kullanılabilir. Böylece testlerin hangi yapısal öğeleri çalıştırdığı ölçülebilir.
ISTQB CTFL v4.0.1 temel seviyede iki yapısal tekniğe odaklanır:
İfade testi ve ifade kapsama: Çalıştırılabilir ifadelerin testler tarafından yürütülüp yürütülmediği değerlendirilir.
Dal testi ve dal kapsama: Karar noktalarından çıkan dalların çalıştırılıp çalıştırılmadığı değerlendirilir.
%100 dal kapsama, %100 ifade kapsamayı sağlar; ancak bunun tersi her zaman doğru değildir. Ayrıca yüksek kapsama oranı, testlerin doğru beklenen sonuçlara sahip olduğunu veya bütün iş gereksinimlerinin uygulandığını tek başına kanıtlamaz.
Beyaz kutu teknikleri en sık birim ve bileşen entegrasyon testlerinde görülür. Ancak uygun iç yapı bilgisi bulunduğunda daha yüksek test seviyelerinde ve statik incelemelerde de kullanılabilir. Ayrıntılı açıklama ve kapsama örnekleri için Beyaz Kutu (White Box) Testi Nedir? Teknikler ve Örnekler yazısını inceleyebilirsiniz.
Aynı özellikte kara kutu ve beyaz kutu testi örneği
Bir giriş ekranında şu iş kuralının bulunduğunu düşünelim:
Kullanıcı art arda üç kez hatalı parola girerse hesap 15 dakika kilitlenir. Doğru bilgiler girildiğinde ve hesap kilitli değilse kullanıcı ana sayfaya yönlendirilir.
Kara kutu yaklaşımıyla testler
İç kodu görmeden gereksinim ve gözlemlenebilir davranış üzerinden şu senaryolar tasarlanabilir:
Doğru kullanıcı adı ve doğru parola ile giriş başarılı olmalı.
Yanlış parola ile giriş reddedilmeli ve uygun hata mesajı gösterilmeli.
İki hatalı denemeden sonra hesap açık kalmalı.
Üçüncü hatalı denemede hesap kilitlenmeli.
Dördüncü deneme doğru parola ile yapılsa bile 15 dakika dolmadan giriş reddedilmeli.
Kilit süresi dolduktan sonra doğru bilgilerle giriş yapılabilmeli.
Bu senaryolarda sınır değer, karar tablosu ve durum geçişi bakışları birlikte kullanılabilir. Testler, kullanıcının gördüğü davranışı doğrular; hangi kod dalının çalıştığını doğrudan göstermez.
Beyaz kutu yaklaşımıyla testler
Kaynak kodu ve kontrol akışı biliniyorsa şu yapısal yollar incelenebilir:
Kimlik bilgilerinin doğru ve yanlış olduğu dallar çalıştırılır.
Hatalı deneme sayısının 3'ten küçük ve 3'e eşit olduğu karar sonuçları test edilir.
Hesabın kilitli ve kilitli olmadığı dallar çalıştırılır.
Kilit süresinin dolduğu ve dolmadığı yollar test edilir.
Kimlik doğrulama hizmeti hata verdiğinde devreye giren istisna yolu test edilir.
İfade ve dal kapsama sonuçları incelenerek hiç çalışmayan yapısal öğeler belirlenir.
Kara kutu testleri iş kuralının dışarıdan doğru çalıştığını, beyaz kutu testleri ise bu davranışı üreten mantıksal yolların yeterince sınandığını gösterir. Aynı özellik üzerinde iki yaklaşımın birlikte kullanılması, yalnızca birinin sağlayamayacağı daha dengeli kanıt üretir.
Hangi yaklaşım ne zaman seçilmeli?
Tekniği alışkanlığa göre değil; test hedefi, ürün riski, kullanılabilir bilgi ve beklenen hata türüne göre seçmek gerekir.
Durum | Öncelikli yaklaşım | Gerekçe |
|---|---|---|
Kaynak koduna erişilmeyen üçüncü taraf uygulaması | Kara kutu | Davranış ve sözleşme üzerinden test tasarlanabilir |
Yoğun karar mantığı içeren kritik hesaplama modülü | Beyaz kutu + kara kutu | Yapısal yollar ve iş sonuçları birlikte doğrulanmalıdır |
Kabul kriterlerinin doğru uygulanıp uygulanmadığı | Kara kutu | Odak, paydaşın beklediği gözlemlenebilir davranıştır |
Refaktör sonrası davranışın değişmediğinin kontrolü | Her ikisi | Kara kutu testleri dış davranışı; beyaz kutu testleri değişen yapıyı kontrol eder |
Kapsama raporunda çalışmayan dallar bulunması | Beyaz kutu | Ek testler doğrudan eksik yapısal öğelere yöneltilebilir |
Gereksinimin kodda hiç uygulanmaması riski | Kara kutu ve gereksinim izlenebilirliği | Yalnızca mevcut kodu incelemek eksik işlevi görünür kılmayabilir |
Pratik bir seçim sırası şöyle olabilir:
Test hedefini ve korunmak istenen ürün riskini tanımlayın.
Kullanılabilir test temelini belirleyin: gereksinim mi, kod mu, yoksa her ikisi mi?
En olası ve en etkili hata türlerini belirleyin.
Uygun kara kutu, beyaz kutu ve deneyime dayalı teknikleri seçin.
Kapsam sonuçlarını tek bir yüzdeye indirgemeden birlikte değerlendirin.
Ürün ve kod değiştikçe test setini güncelleyin.
Bu seçimi proje düzeyindeki riskler, test seviyeleri ve kaynaklarla ilişkilendirmek için Proje Başarısında Yazılım Test Stratejisi yazısından yararlanabilirsiniz.
Yazılım testi alanındaki yeni içerikleri ve eğitim duyurularını Pena Akademi WhatsApp Duyuru Kanalı üzerinden takip edebilirsiniz.
Kara kutu ve beyaz kutu testleri birlikte nasıl kullanılır?
İyi bir test yaklaşımı, bütün senaryoları tek bir teknikle üretmeye çalışmaz. Gereksinim tabanlı testler kullanıcı ve iş beklentilerini görünür kılarken yapısal testler uygulamanın içindeki karar yollarını ölçer. Deneyime dayalı testler ise geçmiş hatalar, alan bilgisi ve test uzmanının gözlemleri üzerinden iki grupta gözden kaçabilecek riskleri arar.
Örneğin bir ödeme özelliğinde ekip:
İş kuralları ve hata mesajları için karar tablosu kullanabilir.
Tutar sınırları için sınır değer analizi yapabilir.
Ödeme durumları için durum geçişlerini test edebilir.
Kritik kod dalları için dal kapsama sonuçlarını inceleyebilir.
Geçmiş üretim hatalarından hareketle hata tahmini oturumları düzenleyebilir.
Bu bütünlük, test sayısını rastgele artırmaktan daha değerlidir. Amaç çok test üretmek değil, önemli riskler için yeterli ve anlamlı test kanıtı oluşturmaktır.
Sık sorulan sorular
Kara kutu testi mi, beyaz kutu testi mi daha iyidir?
Tek başına daha iyi olan bir yaklaşım yoktur. Kara kutu testi beklenen davranışı, beyaz kutu testi iç yapıyı değerlendirir. Doğru seçim test hedefi ve ürün riskine bağlıdır; birçok durumda ikisini birlikte kullanmak gerekir.
Kara kutu testi için kod bilgisi gerekir mi?
Test senaryolarını tasarlamak için kaynak kodunu bilmek gerekmez. Ancak gereksinim analizi, alan bilgisi, test verisi tasarımı ve sistematik test tekniği bilgisi yine gereklidir.
Beyaz kutu testi yalnızca birim testinde mi kullanılır?
Hayır. En yaygın kullanım alanı birim testleri olsa da bileşen entegrasyonu, belirli API ve sistem yapıları, statik incelemeler ve farklı yapısal kapsama çalışmaları için de kullanılabilir.
Kod kapsamı yüksekse kara kutu testine gerek kalır mı?
Hayır. Yüksek kod kapsamı, iş gereksinimlerinin doğru ve eksiksiz uygulandığını kanıtlamaz. Yanlış beklenen sonuçlar, eksik gereksinimler ve kullanıcı akışındaki sorunlar kara kutu yaklaşımıyla ayrıca değerlendirilmelidir.
Gri kutu testi bu iki yaklaşımın ortası mıdır?
NIST'in gri kutu testi tanımına göre test tasarımcısı sistemin iç yapısı ve uygulama ayrıntıları hakkında kısmi bilgiye sahiptir. Uygulamada iki bakışın bazı özelliklerini bir araya getirebilir; yine de testin amacı, kullanılan bilgi ve kapsama beklentisi açıkça tanımlanmalıdır.
Test tasarım tekniklerini birlikte uygulayın
Kara kutu ve beyaz kutu tekniklerini doğru seçmek; gereksinimleri, test seviyelerini, kapsama ölçütlerini ve ürün risklerini ortak bir çerçevede değerlendirmeyi gerektirir.
Pena Akademi'nin ISTQB CTFL v4.0 Temel Seviye Test Uzmanı Eğitimi, test tasarım tekniklerini güncel ISTQB terminolojisiyle ve uygulamalı örneklerle öğrenmek isteyen profesyoneller için hazırlanmıştır. Kurumunuza veya kariyer hedefinize uygun diğer programları Yazılım Test Eğitimleri sayfasında inceleyebilir ve eğitim planınızı bu doğrultuda şekillendirebilirsiniz.


