Beyaz Kutu (White-box) Test

beyaz-kutu-white-box-test (büyük resim için tıklayın)

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.

omurs

Ö S, 30 Ağustos 2018 Perşembe 15:30 tarihinde kayıt oldu

Etiketler

Beğeni


Yıllara Göre Gönderiler








LombokLoglamaB2C (Business-to-Consumer)B2B (Business-to-Business)İçerik Yönetim Sistemi - CMS (Content Management System)Pagination (Sayfalama)Sanal Özel Ağ - VPN (Virtual Private Network)Cronjob (Zamanlanmış Görevler)Printer-YazıcıJava'daki İlkel Veri Tipleri ve Alabilecekleri DeğerlerBit & Byte ve Hafıza Boyutlarındaki Ölçüm BirimleriSanallaştırma (Virtualization)DNS KayıtlarıE-Fatura ve E-ArşivYazılım Lisans TürleriAudit (Denetim) Açık Kaynak (Open Source)Monitoring (İzleme)Sitemap & Robots.txtKilometretaşı (Milestone)BSMV (Banka ve Sigorta Muameleleri Vergisi)KKDF (Kaynak Kullanımı Destekleme Fonu)Siber Pazartesi (Cyber Monday)Black Friday (Kara Cuma)Hotlink.htaccessCryptoLockerMalwareTrojanWormDependency (Yazılım Geliştirme Sürecinde Paket Bağımlılığı)Configuration (Yazılım Geliştirme Sürecinde Yapılandırma)Yahoo ve Yahoo'nun Başarısızlık NedenleriArchiving (Yazılım Geliştirme Sürecinde Arşivleme)Görsel Dosya Türleri (Image Types)ReleaseVersioning & Tagging (Versiyonlama ve Etiketleme)BuildJob (Yazılım Geliştirme Sürecinde Görevler)SonarQubeCDATA (Character Data)Alan Adı Uzantıları (Domain Name Extensions)Regresyon Kara Kutu (Black-Box) TestBeyaz Kutu (White-box) TestGri Kutu (Grey-box) TestYazılım Geliştirme Sürecindeki Temel Test TürleriKod gözden geçirme (Code Review)Birim Testi (Unit Testing)Yazılım Sürecinde EntegrasyonJAR & WAREager & Lazy Fetch TypeMaskelemeKPI (Key Performance Indicator)KII (Key Impact Indicator)Projenin JAR Dosyasını Oluştur - JAR PathSunucu için Linux dağıtım SeçimiKonyteynerler (container technologies)Runtime & Compile Time (Çalışma ve Derleme Zamanı)@Anotasyonlar (@Annotations)