Gri Nedir? Box Test yapmak? Teknikler, Örnek

⚡ Akıllı Özet

Gri Box Test etme, uygulamanın iç yapısına dair kısmi bilgiye sahip olarak uygulamayı inceler; kara kutu testinin kullanıcıya yönelik bakış açısını, bir hatanın neden meydana geldiğini açıklayabilecek kadar mimari anlayışla birleştirir, sadece hatanın meydana geldiğini değil.

  • 🔍 Bilgi düzeyi: İç yapı kısmen bilinmektedir; bu durum beyaz kutu testinde tamamen bilinirken, kara kutu testinde bilinmemektedir.
  • 🧪 Dört teknik: Matris testi, regresyon testi, ortogonal dizi testi ve desen testi temel araç setini oluşturur.
  • 🪜 On adım: Girişleri, çıkışları ve ana yolları belirleyin, ardından sistemi alt fonksiyonlara ayırın ve her birini doğrulayın.
  • 🔗 En uygun: Entegrasyon testleri, sızma testleri, veritabanı destekli iş akışları, web servisleri ve API geliştirme.tracts.
  • 🇧🇷 Değiş tokuş: Kısmi görünürlük, iş yükünü azaltır, ancak aynı zamanda herhangi bir kod yolunun ne kadar derinlemesine incelenebileceğini de sınırlar. traced.
  • ???? Önkoşul: Doğru tasarım dokümantasyonu önemlidir, çünkü güncelliğini yitirmiş bir şema veya spesifikasyon, test tasarımını sessizce geçersiz kılar.

Gri Box Kısmi içsel bilgiyi kullanıcı odaklı test tasarımıyla birleştiren testler

Gri Nedir? Box Test yapmak?

Gri Box Test yapmak (Gri olarak da yazılır) Box Gri test, bir yazılım ürününü veya uygulamasını, uygulamanın iç yapısının kısmi bilgisiyle test eden bir yazılım test tekniğidir. Gri testin amacı... Box Test etme, hatalı kod yapısından veya uygulamanın yanlış kullanımından kaynaklanan hataları aramak ve belirlemektir.

Bu süreçte, web sistemleriyle ilgili bağlam odaklı hatalar sıklıkla tespit edilir. Bu teknik, verimliliği artırır. test kapsamı Karmaşık bir sistemin katmanlarından birine değil, tümüne odaklanarak.

Gri Box Test etme, bir yazılım test yöntemidir ve şu unsurları bir araya getirir: Beyaz Box Test yapmak hem de Siyah Box Test yapmakÜçü arasındaki fark, test uzmanının iç yapının ne kadarını görebildiğine bağlıdır:

  • Beyaz Box İç yapının (kodun) test edilmesi biliniyor.
  • Siyah içinde Box İç yapının (kodun) test edilmesi bilinmiyor.
  • Gri Box İç yapının (kodun) test edilmesi kısmen biliniyor.

Aşağıdaki diyagram, üç yöntemi aynı görünürlük ölçeğinde göstermektedir.

Gri Box Beyazlar arasında yapılan testler gösterilmiştir. Box ve siyah Box Dahili kod görünürlüğü ölçeğinde test etme

In yazılım Mühendisliği, Gri Box Test etme, bir uygulamanın her iki tarafını da, yani sunum katmanını ve arkasındaki kodu test etme olanağı sağlar. Özellikle şu alanlarda faydalıdır: entegrasyon testi hem de penetrasyon testi.

Gri örneği Box Test: Bağlantılar veya yetim bağlantılar gibi bir web sitesi özelliğini test ederken, test eden kişi bu bağlantılarla ilgili bir sorunla karşılaşırsa, değişiklik HTML kodunda anında yapılabilir ve gerçek zamanlı olarak kontrol edilebilir.

Neden Gri? Box Test yapmak

Gri Box Testler aşağıdaki nedenlerle gerçekleştirilir:

  • Hem kara kutu testinin hem de beyaz kutu testinin avantajlarını bir arada sunar.
  • Geliştiricilerin ve test uzmanlarının girdilerini birleştirerek genel ürün kalitesini artırır.
  • Bu, fonksiyonel ve fonksiyonel olmayan türlerin test edilmesinin uzun sürecinin getirdiği ek yükü azaltır.
  • Bu, geliştiriciye hataları düzeltmek için yeterli boş zaman sağlar.
  • Testler, tasarımcının bakış açısından ziyade kullanıcının bakış açısından yapılır.
  • Bir hata yalnızca rapor edilmek yerine açıklanabilir, çünkü test eden kişi hatanın meydana geldiği katmanı görebilir.

Gri Box Test vs Siyah Box Beyaz'a karşı Box Test yapmak

Bu üç yöntem, birbirleriyle rekabet eden alternatifler olmaktan ziyade, erişimin üç farklı seviyesini temsil ediyor ve her biri farklı bir soruya cevap veriyor. Bunları yan yana koymak, seçimi somutlaştırıyor.

Temel Siyah Box Test yapmak Gri Box Test yapmak Beyaz Box Test yapmak
İç yapı bilgisi Hayır Kısmi Her Şey Dahil
Tarafından gerçekleştirilen Test kullanıcıları ve son kullanıcılar Test uzmanları ve test uzmanlarıyla çalışan geliştiriciler Geliştiriciler ve test mühendisleri
Test tasarımının temeli Gereksinimler ve özellikler Archimimari, algoritmalar, veri yapıları ve arayüzler Kaynak kod ve kontrol akışı
Tipik seviye Sistem ve kabul testleri Entegrasyon, sızma ve web servis testleri Ünite ve bileşen testi
Kapsama alanı şu şekilde ölçülmüştür: Gereksinim kapsamı Arayüz, veri ve yol kapsamı Bildirim, dal ve yol kapsamı
Ana sınırlama Başarısızlığın nedeni gizli kalır. Derinlik, verilen erişimle sınırlıdır. Maliyetli ve bazı gereksinimleri gözden kaçırabilir.

Çoğu takım bu üç yöntemin tamamını kullanır. yazılım testi yaşam döngüsüGri kutu katmanı ise genellikle kullanıcı arayüzü ile veri deposu arasında kalan kusurların yakalandığı yerdir.

Gri Box Test Stratejisi

Grey'i gerçekleştirmek için Box Test işlemi için test uzmanının kaynak koduna erişiminin olması gerekmez. Bir test, algoritmalar, mimariler, iç durumlar veya program davranışının diğer üst düzey açıklamaları hakkındaki bilgilere dayanarak tasarlanır.

Grey'i gerçekleştirmek için Box Test:

  • Basit kara kutu test tekniklerini uygular.
  • Gereksinim odaklı test senaryosu oluşturmaya dayanır, bu nedenle programın doğrulama yöntemiyle test edilmesinden önce tüm koşulları önceden belirler.

Gri için kullanılan teknikler Box Testler şunlardır:

  • Matris Testi: Bu teknik, programda var olan tüm değişkenleri ve her birinin taşıdığı riski tanımlamayı içerir; böylece kullanılmayan ve yüksek riskli değişkenler görünür hale gelir.
  • Gerileme testi: Önceki sürümdeki bir değişikliğin, yeni sürümdeki programın diğer yönlerini olumsuz etkileyip etkilemediğini kontrol eder. Bu, tümünü yeniden test etme, riskli kullanım durumlarını yeniden test etme ve güvenlik duvarı içinde yeniden test etme gibi stratejilerle yapılır.
  • Ortogonal Dizi Testi veya OAT: Minimum sayıda test senaryosuyla maksimum kod kapsamı sağlar.
  • Desen Testi: Gri test, önceki sistem arızalarına ait tarihsel veriler üzerinde gerçekleştirilir. Kara kutu testinin aksine, gri test yöntemi kullanılır. Box Test işlemi, kodun içine girerek hatanın nedenini belirler.

Gri Box Metodoloji genellikle otomatik yöntemler kullanır. yazılım test araçları Test işlemini gerçekleştirmek için, test uzmanının kodu manuel olarak oluşturmasına gerek kalmaması için, saplama nesneler ve modül sürücüleri oluşturulur.

Gray'i gerçekleştirme adımları Box Testler şunlardır:

  • Adım 1: Girişleri belirleyin.
  • Adım 2: Çıktıları belirleyin.
  • 3. Adım: Ana yolları belirleyin.
  • 4. Adım: Alt fonksiyonları belirleyin.
  • Adım 5: Alt fonksiyonlar için girdiler geliştirin.
  • Adım 6: Alt fonksiyonlar için çıktıları geliştirin.
  • Adım 7: Alt fonksiyonlar için test senaryosunu çalıştırın.
  • Adım 8: Alt fonksiyonlar için doğru sonucu doğrulayın.
  • Adım 9: Diğer alt fonksiyonlar için 4 ila 8 arasındaki adımları tekrarlayın.
  • Adım 10: Diğer alt fonksiyonlar için 7. ve 8. adımları tekrarlayın.

Grey için test senaryoları Box Testler, diğerlerinin yanı sıra, grafik kullanıcı arayüzü (GUI), güvenlik, veritabanı, tarayıcı ve işletim sistemi sorunlarını kapsayabilir. Oluşturulan her bir durum için yine de olağan prosedürler uygulanmalıdır. test durumu Özellikler önemlidir, çünkü kendi tanımından yola çıkarak yeniden üretilemeyen bir durum, regresyon sırasında pek işe yaramaz.

Gri'nin olduğu yer Box Testler Kullanılıyor

Bu teknik, bir kusurun ancak iki katmana aynı anda bakılarak teşhis edilebildiği her durumda önem kazanır. Aşağıdaki senaryolar, bu tekniğin en sık uygulandığı durumlardır:

  • Veritabanı destekli iş akışları: Kullanıcı arayüzü üzerinden bir işlem gerçekleştirilir ve elde edilen satırlar, değerlerin, türlerin ve ilişkilerin amaçlandığı gibi saklandığını doğrulamak için doğrudan sorgulanır.
  • Web servisleri ve API'ler: Bir istek gönderilir ve yanıt durumu, başlıkları ve veri yükü yayınlanan yapılandırmaya göre kontrol edilir.tract, günlük hayatta kullanılan biçimidir. API testi.
  • Entegrasyon noktaları: İki modül arasındaki sınırı geçen mesajlar, her iki modül de kaynak dosyaları yerine çalışan sistemler olarak ele alınarak incelenir.
  • Güvenlik değerlendirmesi: Bir sızma testi uzmanına normal bir kullanıcı hesabı ve mimari genel bakış verildiğinde, içeriden birinin konumunu yeniden oluşturur; bu da standart gri kutu etkileşim modelidir.
  • Web uygulamaları ve grafik kullanıcı arayüzleri (GUI'ler): Bozuk bağlantılar, yetim sayfalar, oturum yönetimi ve istemci tarafı doğrulama, işaretlemenin ve istek akışının kısmi görünürlüğüyle kontrol edilir.

Tüm bu süreçlerde, sistemdeki hataların toplam maliyeti azalır çünkü sorunlar daha ileriye gitmeden önce tespit edilir ve açıklanır. sistem testi veya üretim.

Gri Box Test Araçları

Hiçbir araç Gri işlemini gerçekleştirmez. Box Tek başına test etme. Bu kategorinin ihtiyacı olan şey, bir arayüz sürücüsü, alttaki katman için bir inceleme aracı ve ikisini birlikte çalıştırmanın bir yoludur.

  • API ve web servis istemcileri gibi Postman hem de SoapUIİstek göndermek ve durum kodları ile yanıt gövdeleri üzerinde doğrulama yapmak için kullanılır.
  • Veritabanı istemcileri ve SQL sorgu araçlarıArayüz eylemi sonrasında kalıcı durumun doğrulanması için kullanılır.
  • Tarayıcı geliştirici araçları ve HTTP proxy'leri gibi Burp SuiteGüvenlik odaklı oturumlar sırasında istekleri incelemek ve değiştirmek için kullanılır.
  • Kullanıcı arayüzü otomasyon çerçeveleri gibi Selenium, bir içindeki sunum katmanını çalıştırmak için kullanılır otomasyon testi süit.
  • Kayıt ve izleme araçlarıGözlemlenen bir hatayı, uygulamanın o anda dahili olarak kaydettiği verilerle ilişkilendirmek için kullanılır.

Seçim, kablolamadan daha az önemlidir: arayüz sürücüsü ve inceleme adımı aynı betik akışında çalışmadığı sürece, sonuç tek bir gri kutu testi yerine iki ayrı manuel kontrol olur.

Gri Box Zorlukları Test Etme

Kısmi görünürlük, saf yöntemlerin hiçbirinde bulunmayan sorunları beraberinde getirir ve ekiplerin en sık karşılaştığı sorunlar şunlardır:

  • Test edilen bir bileşen herhangi bir arıza ile karşılaştığında, devam eden işlemi durdurabilir ve dizinin geri kalanının yürütülmemesine neden olabilir.
  • Bir test, sonucun içeriği yanlış olsa bile tamamen yürütülebilir; bu nedenle doğrulama adımı, tamamlanmayı değil, değerleri kontrol etmelidir.
  • Kod yolunun tamamının kapsamlı bir şekilde test edilmesi mümkün değildir, çünkü test uzmanı beyaz kutu testinin ulaşacağı her dalı asla göremez.
  • Testlerin dayandığı tasarım dokümantasyonu güncel olmayabilir ve eski bir şema veya arayüz spesifikasyonu, test tasarımını sessizce geçersiz kılabilir.
  • Test uzmanlarının hem alan bilgisine hem de teknik derinliğe sahip olmaları gerekir; bu da işe alım sürecinde daha dar bir beceri profili anlamına gelir.
  • Dağılımı yüksek ve yoğun karın kaslarıtracKarmaşık mimariler, gözlemlenen bir arızayı belirli bir iç bileşene atfetmeyi zorlaştırır.

Bu sınırlamalar, Grey'i tedavi etmeyi savunmaktadır. Box Test etme, diğerlerinin yerine geçmekten ziyade, birçok katman arasında bir katman olarak ele alınmalıdır; bu, daha geniş kapsamda vurgulanan noktadır. yazılım test teknikleri hem de yazılım testi türleriDoğal olarak yanına oturuyor. fonksiyonel test ve spesifikasyon odaklı yaklaşımlar gibi model tabanlı test.

SSS

İkisi de aynı tekniği ifade eder. Grey, İngiliz yazım şeklidir, gray ise Amerikan yazım şeklidir ve ikisi de alet dokümanlarında ve sertifikasyon müfredatlarında birbirinin yerine kullanılır. İkisinin de farklı bir teknik anlamı yoktur.

Her satırı okumadan iç işleyiş hakkında çıkarım yapmaya yetecek kadar bilgi: mimari diyagramlar, veri modeli, arayüz bağlantıları.tracts ve test veritabanında salt okunur bir hesap. Tam depo erişimi, bu uygulamayı beyaz kutu testine dönüştürür.

Genellikle geliştirme geçmişine sahip bir test mühendisi veya oturum için bir geliştiriciyle eşleştirilmiş bir test uzmanı bulunur. Güvenlik çalışmaları, standart bir kullanıcı hesabı ve mimari bilgilendirmesi verilen sızma test uzmanları tarafından yürütülür.

İfadeler yerine arayüzler ve veriler üzerinden ölçüm yapılır: her uç nokta ve durum kodu test edilir, her tablo ve durum geçişine dokunulur, her entegrasyon yolu incelenir. İfade ve dallanma yüzdeleri beyaz kutu ölçümüne aittir.

Bir saplama (stub), test edilen modülün çağırdığı bir bileşenin yerini alır; bir sürücü (driver) ise onu çağıracak bileşenin yerini alır. Birlikte, tam sistem oluşturulmadan önce bir alt fonksiyonun izole bir şekilde çalıştırılmasına olanak tanırlar.

Kısmi bilgi, test uzmanını beklenen sonuçlara yönlendirdiği için, bağımsız bir kullanıcı perspektifi değerlendirmesine ihtiyaç duyulur. Kabul testleri ve kullanılabilirlik çalışmaları tam da bu nedenle kara kutu olarak kalırken, güvenlik açısından kritik kodlar hala tam beyaz kutu analizine ihtiyaç duyar.

Makine öğrenimi, kalıp testi adımı için hata geçmişini inceler, sınırlı erişimin verimli kullanılmasını sağlamak için arayüzleri tahmini riske göre sıralar ve gözlemlenen bir hatayı onu üreten dahili bileşenle ilişkilendirmek için günlükleri kümelendirir.

Evet, tekrarlayan kısımlar için: istek oluşturucular, yanıt onaylamaları, doğrulama sorguları, arayüz tanımından türetilen saplamalar ve sürücüler. Hangi iç durumun davranışın doğru olduğunu kanıtladığına karar vermek, mühendis için bir tasarım değerlendirmesi olarak kalır.

Bu yazıyı şu şekilde özetleyin: