Kara Kutu (Black-Box) Test

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

Kara Kutu Testi (Black-box Testing)

Yazılım test süreçlerinde kullanılan teknikler, bir yazılımın doğru çalışmasını, hatalardan arındırılmasını ve gereksinimleri karşıladığını doğrulamak için farklı yaklaşımlar sunar. Bu teknikler genellikle kara kutu (black-box), beyaz kutu (white-box) ve gri kutu (grey-box) gibi yöntemler etrafında şekillenir.

Kara Kutu Testi (Black-box Testing), yazılımın iç yapısını veya kodunu bilmeden, yalnızca girdiler ve çıktılar üzerinden yazılımın davranışını test etmeye odaklanan bir test yöntemidir. Test yapan kişi, sistemin nasıl çalıştığını bilmez, yalnızca işlevsel gereksinimlerin karşılanıp karşılanmadığını doğrular.

Kara Kutu Testi Nasıl Yapılır?

Kara kutu testi belirli bir süreç izlenerek yapılır:

1. Gereksinimlerin Anlaşılması

  • Test edilecek yazılımın veya modülün işlevsel gereksinimlerini anlamak.
  • Örneğin, bir hesap makinesi uygulaması için "toplama işlevi doğru çalışmalı" gereksinimi.

2. Test Senaryolarının Hazırlanması

  • Farklı durumlar için giriş değerleri ve beklenen çıktılar belirlenir.
  • Örneğin:
    • Girdi: 2 + 3, Beklenen çıktı: 5
    • Girdi: -1 + (-4), Beklenen çıktı: -5

3. Testlerin Çalıştırılması

  • Hazırlanan senaryolar yazılımda uygulanır ve çıktılar gözlemlenir.

4. Sonuçların Karşılaştırılması

  • Alınan çıktı, beklenen çıktı ile karşılaştırılır.
  • Uyumsuzluk varsa hata raporlanır.

5. Testlerin Tekrarlanması

  • Gerekirse, farklı girdilerle ek test senaryoları hazırlanır.

Kara Kutu Testi Teknikleri

Kara kutu testi genellikle aşağıdaki tekniklerle gerçekleştirilir:

1. Eşdeğer Bölümleme (Equivalence Partitioning)

  • Girdiler gruplara ayrılır ve her gruptan bir test seçilir.
  • Örnek:
    • Bir yaş doğrulama formu için:
      • Geçerli yaş aralığı: 18–65
      • Testler: 17 (geçersiz), 18 (geçerli), 65 (geçerli), 66 (geçersiz).

2. Sınır Değer Analizi (Boundary Value Analysis)

  • Minimum ve maksimum değerler ve bu değerlerin hemen üstü/altı test edilir.
  • Örnek:
    • Bir sayısal giriş kutusu için aralık: 1–100
      • Testler: 0 (geçersiz), 1 (geçerli), 100 (geçerli), 101 (geçersiz).

3. Durum Geçiş Testi (State Transition Testing)

  • Bir sistemin farklı durumlar arasında geçişlerini test eder.
  • Örnek:
    • Bir oturum açma sistemi için:
      • Durum 1: Kullanıcı şifreyi yanlış girer → Durum 2: Hesap kilitlenir.

4. Karar Tablosu Testi (Decision Table Testing)

  • Farklı giriş kombinasyonları için beklenen çıktılar bir tablo halinde oluşturulur.
  • Örnek:
    • Bir e-ticaret sisteminde:
      • Kullanıcı VIP ise ve alışveriş 100 TL üzerindeyse → %10 indirim.

Kara Kutu Testinin Avantajları

  • Test yapan kişinin yazılımın teknik yapısını bilmesine gerek yoktur.
  • Kullanıcı perspektifinden test yapıldığı için gerçek kullanım senaryolarına odaklanır.
  • Basit ve hızlıdır, özellikle işlevsel gereksinimlerin test edilmesinde etkilidir.

Kara Kutu Testinin Dezavantajları

  • Kodun iç yapısını kontrol etmez, bu nedenle iç mantıksal hataları tespit edemez.
  • Geniş bir sistemde tüm senaryoları kapsamak zor olabilir.
  • Performans ve güvenlik gibi teknik testler için uygun değildir.

Kara Kutu Testine Örnek

Senaryo:

Bir banka uygulamasında kullanıcı adı ve şifre ile giriş yapılmaktadır. Şifre en az 8 karakter olmalı ve harf-rakam içermelidir.

Test Adımları:

Gereksinimler:

  • Geçerli bir kullanıcı adı ve şifre girildiğinde giriş başarılı olmalıdır.
  • Şifre 8 karakterden kısa olduğunda hata mesajı gösterilmelidir.
  • Harf veya rakam içermeyen şifrelerde giriş reddedilmelidir.

Test Senaryoları:

Kullanıcı AdıŞifreBeklenen Çıktı
testUserPass1234Giriş başarılı
testUserpassHata: Şifre çok kısa
testUserPasswordHata: Şifre rakam içermeli
testUser12345678Hata: Şifre harf içermeli

Çalıştırma ve Sonuç Karşılaştırması:

  • Örneğin, "Pass1234" girdisiyle "Giriş başarılı" mesajı gelirse test başarılıdır.

Sonuç

Kara kutu testi, kullanıcı perspektifinden işlevselliği test etmek için güçlü bir tekniktir. Özellikle uygulamaların doğru giriş-çıkış davranışını doğrulamak için kullanılır. Yukarıdaki adımları takip ederek kapsamlı ve etkili kara kutu testleri yapılabilir.

*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)

temel-kavramlar Kategori

Runtime & Compile Time (Çalışma ve Derleme Zamanı)

KII (Key Impact Indicator)

KPI (Key Performance Indicator)