İçeriğe geç
parazade

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?
İçindekiler
  1. Beyaz kutu testi nedir?
  2. Kod kapsamı nasıl ölçülür?
  3. Kara kutu testinden farkı

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.

İlgili terimler

Kara Kutu Testi(Black Box Testing)Kara kutu testi (black box testing), yazılımın iç yapısı ve kodu bilinmeden, yalnız verilen girdilere karşı beklenen çıktıların üretilip üretilmediğine bakılarak yapılan test yöntemidir. Kullanıcının bakış açısını taklit eder.Birim Testi(Unit Testing)Birim testi (unit test), bir yazılımın en küçük test edilebilir parçasının, genelde tek bir fonksiyon ya da metodun, diğer bileşenlerden bağımsız olarak doğru çalışıp çalışmadığını kontrol eden otomatik testtir.Yazılım Testi(Software Testing)Yazılım testi, bir programın beklendiği gibi çalışıp çalışmadığını kontrol etmek ve hataları kullanıcıya ulaşmadan bulmak için yapılan sistemli denemelerin bütünüdür. Elle ya da otomatik araçlarla yapılabilir.Koşullu İfade(Conditional Statement)Koşullu ifade, programlamada bir koşulun doğru ya da yanlış olmasına göre farklı kodların çalışmasını sağlayan yapıdır. En yaygın biçimi if-else'tir: koşul doğruysa bir blok, yanlışsa başka bir blok çalışır.Sabit(Constant)Sabit (constant), programlamada bir kez değer atandıktan sonra program boyunca değiştirilmemesi gereken isimli veridir. Pi sayısı, bir vergi oranı ya da en fazla deneme hakkı gibi değerler sabit olarak tanımlanır.MySQLMySQL, verileri tablolarda saklayan ve SQL diliyle yönetilen açık kaynak kodlu bir ilişkisel veritabanı yönetim sistemidir. Web sitelerinde, özellikle WordPress gibi PHP tabanlı sistemlerde çok yaygın kullanılır.