top of page
Pena Akademi Logo
Bize Danışın

Kara Kutu Testi Nedir? Teknikleri ve Uygulama Örneği

  • 8 Oca 2019
  • 7 dakikada okunur

Güncelleme tarihi: 22 Tem

Kara kutu testi (black box testing), bir yazılımın iç kod yapısına başvurmadan, tanımlanmış davranışlarını girdiler ve gözlemlenebilir çıktılar üzerinden değerlendiren test yaklaşımıdır. Bir kullanıcı formu, mobil uygulama, API veya uçtan uca iş akışı; gereksinimleri karşılayıp karşılamadığına göre bu bakış açısıyla test edilebilir.

Bu rehberde kara kutu testinin nasıl uygulandığını, güncel ISTQB CTFL v4.0.1 kapsamındaki dört temel tekniği, bir giriş ekranı örneğini ve yöntemin sınırlarını inceleyeceğiz. Böylece yalnızca “Kara kutu testi nedir?” sorusunu değil, hangi durumda hangi tekniğin daha anlamlı olduğunu da netleştirebilirsiniz.

Bu yazıda neler bulacaksınız?

Kara kutu testi nedir?

Kara kutu testi, test senaryolarının test nesnesinin belirtilen davranışına göre tasarlandığı ve iç yapının test tasarımına temel yapılmadığı bir test tekniği grubudur. Gereksinimler, kullanıcı hikâyeleri, kabul kriterleri, iş kuralları, süreç modelleri ve arayüz tanımları testin dayanağını oluşturabilir. Testi yapan kişi bir girdi veya olay uygular; gözlemlenen sonucu beklenen sonuçla karşılaştırır.

Buradaki önemli ayrım, testi yapan kişinin kodu hiç görmemiş olması değildir. Kişi kod bilgisine sahip olsa bile test senaryolarını kaynak kodun dallarına veya ifadelerine göre değil, dışarıdan tanımlanmış davranışa göre türetiyorsa kara kutu yaklaşımını kullanır. Bu nedenle kara kutu testine “spesifikasyon tabanlı test” de denir.

Kara kutu testi bir test seviyesi değildir. Bileşen testinden kabul testine kadar farklı seviyelerde kullanılabilen bir test tasarım yaklaşımıdır. Ayrıca yalnızca kullanıcı arayüzüne uygulanmaz; API istekleri, dosya aktarımı, hesaplama kuralları ve sistemler arası mesajlaşma da gözlemlenebilir girdiler ve çıktılar üzerinden test edilebilir.

Kara kutu testi nasıl yapılır?

Kara kutu testi, rastgele ekranları denemekten ibaret değildir. Etkili bir çalışma için aşağıdaki adımlar izlenebilir:

  1. Test hedefini ve riski belirleyin. Hangi iş davranışının, kullanıcı ihtiyacının veya ürün riskinin değerlendirileceğini netleştirin.

  2. Test temelini inceleyin. Gereksinimleri, kabul kriterlerini, iş kurallarını, arayüz sözleşmelerini ve süreç akışlarını kontrol edin. Belirsizlik varsa testten önce paydaşlarla açıklığa kavuşturun.

  3. Girdileri, durumları ve beklenen sonuçları modelleyin. Geçerli-geçersiz veri gruplarını, sınırları, koşul kombinasyonlarını ve olası durum geçişlerini çıkarın.

  4. Uygun tekniği seçin. Veri grupları için denklik bölümlendirmesi (denklik sınıfları), eşik değerleri için sınır değer analizi, birleşik kurallar için karar tablosu, zamana veya olaya bağlı davranışlar için durum geçişi kullanın.

  5. Test senaryosu ve test verisini oluşturun. Her senaryoda ön koşulu, girdiyi, beklenen sonucu ve gerekiyorsa test sonrası durumu açıkça yazın.

  6. Testleri yürütün ve sonucu kaydedin. Gerçek sonuçla beklenen sonucu karşılaştırın; sapmaları yeniden üretilebilir bilgilerle hata raporuna dönüştürün.

  7. Kapsamı ve riski yeniden değerlendirin. Kritik bölümler, sınırlar veya kurallar hâlâ test edilmemişse yeni senaryolar ekleyin. Düzeltmelerden sonra doğrulama ve gerekli regresyon testlerini çalıştırın.

Test tasarımı için çalışır durumdaki ürünün tamamlanmasını beklemek gerekmez. Gereksinimler veya kabul kriterleri hazır olduğunda senaryolar erken tasarlanabilir; dinamik test yürütümü ise test edilebilir bir bileşen ya da sistem mevcut olduğunda yapılır.

Temel kara kutu test teknikleri

ISTQB CTFL v4.0.1, Foundation Level kapsamında dört temel kara kutu tekniğini ele alır. Hangi tekniğin seçileceği, test temelindeki bilgi yapısına ve ürün riskine bağlıdır.

Teknik

Neyi modeller?

En uygun kullanım

Kısa örnek

Denklik bölümlendirmesi

Aynı şekilde işlenmesi beklenen geçerli ve geçersiz veri grupları

Çok sayıda girdiyi temsilci değerlerle yönetmek

Yaş alanını 18 altı, 18–65 ve 65 üstü olarak bölmek

Sınır değer analizi

Sıralı bölümlerin alt ve üst sınırları ile komşu değerleri

Uzunluk, tutar, tarih, adet ve benzeri eşikler

8–64 karakter kuralı için 7, 8, 64 ve 65 karakteri denemek

Karar tablosu testi

Koşul birleşimleri ve bunların oluşturduğu sonuçlar

İndirim, yetkilendirme, ücretlendirme ve karmaşık iş kuralları

Üyelik türü ve sepet tutarına göre uygulanacak indirimi belirlemek

Durum geçişi testi

Sistemin durumları, olaylar ve geçerli veya geçersiz geçişler

Oturum, onay, sipariş, abonelik ve iş akışları

Beş hatalı girişten sonra hesabın kilitlenmesini test etmek

Tablonun temel mesajı şudur: Tek bir teknik bütün riskleri kapsamaz. Aynı özellikte veri grupları, eşikler, birleşik kurallar ve durum değişimleri birlikte bulunabilir; bu durumda teknikler de birlikte kullanılmalıdır.

Denklik bölümlendirmesi, sınır değer analizi, karar tablosu ve durum geçişi tekniklerinin görsel özeti

Kara kutu testinde veri grupları, sınırlar, koşul kombinasyonları ve durum geçişleri farklı riskleri görünür kılar.

Denklik bölümlendirmesi

Denklik bölümlendirmesi, aynı davranışı göstermesi beklenen verileri ayrı bölümlere ayırır. Her bölümden temsilci bir değer seçmek, her olası girdiyi tek tek denemeden daha yönetilebilir bir test kümesi oluşturur. Geçersiz bölümlerin de tanımlanması gerekir; yalnızca “doğru” veriyi test etmek hatalı giriş davranışını görünmez bırakır.

Sınır değer analizi

Sınır değer analizi, sıralı denklik bölümlerinin sınırlarına odaklanır. Çünkü < yerine <= kullanılması veya bir üst sınırın yanlış konumlandırılması gibi kusurlar genellikle bu noktalarda ortaya çıkar. Seçilen kapsama yaklaşımına göre sınırın kendisi ile komşu değerler birlikte test edilir.

Karar tablosu testi

Karar tablosu testi, birden fazla koşulun farklı sonuçlar ürettiği iş kurallarını sistematik hale getirir. Her sütun uygulanabilir bir kuralı, satırlar ise koşulları ve beklenen eylemleri temsil eder. Koşul sayısı arttığında birleşim sayısı hızla büyüyebileceği için uygulanamaz kurallar elenir, kalan kurallar risk ve önceliğe göre planlanır.

Durum geçişi testi

Durum geçişi testi, sistemin mevcut durumuna ve gerçekleşen olaya bağlı davranışları inceler. Bir işlemin yalnızca belirli bir durumdan başlatılabilmesi, geçersiz bir geçişin reddedilmesi veya zaman aşımından sonra yeni bir duruma gidilmesi bu teknikle modellenebilir. Oturum yönetimi, sipariş akışları ve onay süreçleri tipik kullanım alanlarıdır.

Kara kutu testi uygulama örneği

Bir giriş ekranı için aşağıdaki kuralların tanımlandığını düşünelim:

  • Parola 8–64 karakter uzunluğunda olmalıdır.

  • Kayıtlı e-posta ve doğru parola girildiğinde kullanıcı oturum açar.

  • Hatalı bilgilerde hesap varlığını açıklamayan genel bir hata mesajı gösterilir.

  • Beş ardışık başarısız denemeden sonra hesap 15 dakika kilitlenir.

  • Kilit süresi dolduğunda kullanıcı yeniden giriş yapabilir.

Bu tek özellikte dört teknik birlikte kullanılabilir:

  • Denklik bölümlendirmesi: Kayıtlı ve kayıtsız e-posta, doğru ve yanlış parola, geçerli ve geçersiz parola uzunluğu için bölümler oluşturulur.

  • Sınır değer analizi: Parola uzunluğu için 7, 8, 64 ve 65 karakterlik veriler denenir. Daha ayrıntılı kapsam gerekirse sınırların iki yanındaki ek komşu değerler de kullanılır.

  • Karar tablosu testi: Hesabın kilitli olup olmaması ile kimlik bilgilerinin doğru olup olmaması farklı sonuç kurallarına dönüştürülür.

  • Durum geçişi testi: Aktif hesap, art arda başarısız denemeler, kilitli hesap ve kilit süresinin dolması arasındaki geçişler test edilir.

Karar tablosunun basitleştirilmiş bir bölümü şöyle gösterilebilir:

Koşul veya beklenen sonuç

Kural 1

Kural 2

Kural 3

Hesap kilitli mi?

Hayır

Hayır

Evet

Kimlik bilgileri doğru mu?

Evet

Hayır

Önemsiz

Beklenen sonuç

Oturum açılır

Genel hata gösterilir ve başarısız deneme sayısı artar

Giriş reddedilir; kilit durumu bildirilir

Bu tablo yalnızca üç temel kuralı gösterir. Beşinci başarısız denemede kilitlenme ve 15 dakikanın sonunda yeniden aktif olma davranışı, durum geçişi senaryolarıyla ayrıca ele alınmalıdır. Böylece aynı işlev, hem koşul birleşimleri hem de zaman içinde değişen durum açısından test edilir.

Kara kutu testi hangi test seviyelerinde kullanılır?

Kara kutu teknikleri, test nesnesinin iç yapısına değil belirtilen davranışına dayandığı için farklı test seviyelerine uyarlanabilir:

  • Bileşen testi: Bir fonksiyonun veya sınıfın dışarıya sunduğu arayüz, girdi ve beklenen çıktı üzerinden test edilebilir.

  • Bileşen entegrasyon testi: Modüller arasındaki API sözleşmeleri, mesajlar ve hata yanıtları değerlendirilebilir.

  • Sistem testi: Uçtan uca kullanıcı akışları, iş kuralları ve sistem özellikleri test edilebilir.

  • Sistem entegrasyon testi: Harici servisler veya başka sistemlerle veri alışverişi, sözleşmeler ve hata durumları incelenebilir.

  • Kabul testi: İş hedeflerinin, kabul kriterlerinin ve gerçek kullanıcı ihtiyaçlarının karşılanıp karşılanmadığı doğrulanabilir.

Kara kutu testini kimler uygular?

Kara kutu teknikleri yalnızca “yazılım test uzmanlarının kullandığı teknikler” olarak sınırlandırılmamalıdır. Test uzmanları ve test analistleri temel uygulayıcılar arasında olsa da geliştiriciler bileşen davranışını, iş analistleri ve ürün sahipleri kabul kriterlerini, alan uzmanları ile kullanıcı temsilcileri de kabul senaryolarını bu yaklaşımla değerlendirebilir. ISTQB CTFL v4.0'ın bütün takım yaklaşımında önemli olan rol etiketi değil, test hedefinin, test temelinin ve beklenen sonucun açık olmasıdır.

Kara kutu testinin avantajları ve sınırlamaları

Avantajları

  • Uygulamanın kullanıcıya ve diğer sistemlere sunduğu gözlemlenebilir davranışa odaklanır.

  • Test senaryoları uygulama ayrıntılarından bağımsız olduğu için iç refaktörlerden sonra da kullanılabilirliğini koruyabilir.

  • Gereksinimler ve kabul kriterleri üzerinden erken test tasarımına olanak verir.

  • Sistematik teknikler, rastgele örnek seçmek yerine kapsanacak veri gruplarını, sınırları ve kuralları görünür kılar.

  • Geliştirici, test uzmanı ve iş paydaşları arasında ortak beklenen sonuç dili kurulmasını destekler.

Sınırlamaları

  • Kaynak kodda hangi ifadelerin, dalların veya yolların gerçekten çalıştırıldığını ölçmez.

  • Gereksinim veya kabul kriteri eksik, yanlış ya da belirsizse test senaryoları da aynı boşluğu taşıyabilir.

  • Çok sayıda veri ve koşul birleşimi, test kümesini hızla büyütebilir; risk tabanlı önceliklendirme gerekebilir.

  • Uygulamada bulunan ama spesifikasyonda yer almayan davranışları veya hiç uygulanmamış iç yolları tek başına görünür kılmayabilir.

  • Etkili sonuç için beyaz kutu ve deneyime dayalı test teknikleriyle tamamlanmalıdır.

Kara kutu testi beyaz kutu testiyle nasıl tamamlanır?

Kara kutu testi “Yazılım ne yapmalı ve gözlenen sonuç doğru mu?” sorusuna, beyaz kutu testi ise “Bu sonuç hangi iç yapı ve kontrol akışları üzerinden üretiliyor?” sorusuna odaklanır. Biri iş gereksinimlerini ve dış davranışı, diğeri uygulamanın iç mantığını ve yapısal kapsamını görünür kılar.

İki yaklaşım birbirinin alternatifi değildir. Örneğin giriş ekranında kara kutu teknikleri parola sınırlarını, iş kurallarını ve kilitlenme davranışını test ederken beyaz kutu teknikleri ilgili ifadelerin ve karar dallarının çalıştırılmasını değerlendirebilir. Beyaz kutu yaklaşımını ayrıntılı öğrenmek için Beyaz Kutu Testi Nedir? Teknikler ve Örnekler yazısını; iki yaklaşımı ölçütler üzerinden karşılaştırmak için Kara Kutu ve Beyaz Kutu Testi Arasındaki Farklar rehberini inceleyebilirsiniz.

Sık sorulan sorular

Kara kutu testi manuel mi yapılır?

Kara kutu test senaryoları manuel veya otomatik yürütülebilir. Tekniğin türü, testin nasıl tasarlandığını; otomasyon ise testin hangi araçla yürütüldüğünü açıklar. Tekrarlanan regresyon senaryoları otomasyona uygun olabilirken keşif gerektiren yeni risklerde manuel çalışma daha değerli olabilir.

Kara kutu testi için kod bilmek 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. Kod bilgisi olsa bile senaryolar dış davranıştan türetiliyorsa kullanılan yaklaşım kara kutudur.

Kara kutu testi yalnızca fonksiyonel test için mi kullanılır?

En yaygın kullanım alanı fonksiyonel davranışın değerlendirilmesidir; ancak dışarıdan ölçülebilen performans, kullanılabilirlik veya güvenilirlik beklentileri gibi tanımlı kalite özellikleri de uygun test temeli ve ölçütlerle kara kutu bakış açısından incelenebilir. Burada teknik, test türü ve test seviyesinin ayrı kavramlar olduğu unutulmamalıdır.

Kara kutu testini geliştiriciler kullanabilir mi?

Evet. Geliştiriciler bir bileşenin dışarıya sunduğu davranışı iç yapıya başvurmadan test edebilir. Test uzmanları, iş analistleri, ürün sahipleri ve kullanıcı kabul testi katılımcıları da kendi hedeflerine uygun kara kutu senaryoları tasarlayabilir.

Gri kutu testi ile kara kutu testi aynı mıdır?

Hayır. Gri kutu yaklaşımında testi tasarlayan kişi sistemin iç yapısı hakkında kısmi bilgi kullanabilir. Kara kutu testinde ise senaryolar iç uygulama ayrıntılarından değil, belirtilen ve gözlemlenebilir davranıştan türetilir.

Yeni blog yazıları, ISTQB içerikleri ve eğitim duyurularından haberdar olmak için Pena Akademi WhatsApp Duyuru Kanalı'nı takip edebilirsiniz.

Test tasarım tekniklerini birlikte uygulayın

Kara kutu tekniklerini doğru uygulamak; test seviyeleri, statik test, beyaz kutu ve deneyime dayalı teknikler ile risk tabanlı test yaklaşımını ortak bir çerçevede değerlendirmeyi gerektirir.

Pena Akademi'nin ISTQB CTFL v4.0 Temel Seviye Test Uzmanı Eğitimi, yazılım testi alanına sistemli bir başlangıç yapmak ve güncel ISTQB terminolojisini 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 planlamanızı yapabilirsiniz.

Kaynaklar

---

Eğitim Talep Formu

Bu Konuda Eğitim Almak İster misiniz?

Okuduğunuz konu ilgili bireysel veya kurumsal eğitim talebinizi paylaşın; size uygun seçeneklerle dönüş yapalım.

Size Uygun Program

Hedefinize ve seviyenize göre en uygun eğitim seçeneğini netleştirelim.

Hızlı Geri Dönüş

Hafta içi 09:00 - 17:00 arasında size dönüş sağlayalım.

Son Yazılarımız

Paydaş Hizalaması Nedir? Sekiz Yöne Çekilirken Sonucu Korumak

22.08.26

Start Now
İş Analizinde Mülakat Sanatı: Sorudan İçgörüye Saha Rehberi

20.08.26

Start Now
Start Now
bottom of page