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.
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.
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.

