Beyaz Kutu Testi
Beyaz Kutu Testi , girdi-çıktı akışını doğrulamak ve tasarımı, kullanılabilirliği ve güvenliği geliştirmek için yazılımın iç yapısı, tasarımı ve kodlamasının test edildiği yazılım test tekniğidir. Beyaz kutu testinde kod, test uzmanları tarafından görülebilir, bu nedenle aynı zamanda Şeffaf kutu testi, Açık kutu testi, Şeffaf kutu testi, Kod tabanlı test ve Cam kutu testi olarak da adlandırılır.
Yazılım testine yönelik Kutu Testi yaklaşımının iki bölümünden biridir. Muadili olan Blackbox testi, harici veya son kullanıcı tipi bakış açısıyla test etmeyi içerir. Öte yandan, yazılım mühendisliğinde beyaz kutu testi, bir uygulamanın iç işleyişine dayanır ve iç testler etrafında döner.
"Beyaz Kutu" terimi, şeffaf kutu konsepti nedeniyle kullanılmıştır. Şeffaf kutu veya WhiteBox adı, yazılımın dış kabuğundan (veya "kutusundan") iç işleyişini görme yeteneğini sembolize eder. Benzer şekilde, "Kara Kutu Testi" ndeki "kara kutu", yazılımın iç işleyişini görememeyi sembolize eder, böylece yalnızca son kullanıcı deneyimi test edilebilir.
Bu beyaz kutu testi öğreticide, şunları öğreneceksiniz:
- Beyaz Kutu Testi nedir?
- Beyaz Kutu Testinde neyi doğrularsınız?
- Beyaz Kutu Testini nasıl yaparsınız?
- WhiteBox Test Örneği
- Beyaz Kutu Test Teknikleri
- Beyaz Kutu Testi Türleri
- Beyaz Kutu Test Araçları
- Beyaz Kutu Testinin Avantajları
- WhiteBox Testinin Dezavantajları
Beyaz Kutu Testinde neyi doğrularsınız?
Beyaz kutu testi, aşağıdakiler için yazılım kodunun test edilmesini içerir:
- İç güvenlik açıkları
- Kodlama süreçlerinde bozuk veya kötü yapılandırılmış yollar
- Kod aracılığıyla belirli girdilerin akışı
- Beklenen çıktı
- Koşullu döngülerin işlevselliği
- Her bir ifadenin, nesnenin ve işlevin ayrı ayrı test edilmesi
Test, sistem, entegrasyon ve yazılım geliştirme birim seviyelerinde yapılabilir. Beyaz kutu testinin temel hedeflerinden biri, bir uygulama için çalışma akışını doğrulamaktır. Beklenen veya istenen çıktılara karşı önceden tanımlanmış bir dizi girdinin test edilmesini içerir, böylece belirli bir girdi beklenen çıktıyla sonuçlanmadığında, bir hatayla karşılaşmış olursunuz.
Videoya erişilemiyorsa burayı tıklayın
Beyaz Kutu Testini nasıl yaparsınız?
Beyaz kutu testinin basitleştirilmiş bir açıklamasını vermek için, bunu iki temel adıma ayırdık . Beyaz kutu test tekniğini kullanarak bir uygulamayı test ederken test uzmanlarının yaptığı şey budur:
ADIM 1) KAYNAK KODUNU ANLAYIN
Bir test uzmanının sıklıkla yapacağı ilk şey, uygulamanın kaynak kodunu öğrenmek ve anlamaktır. Beyaz kutu testi, bir uygulamanın iç işleyişinin test edilmesini içerdiğinden, test cihazı test ettiği uygulamalarda kullanılan programlama dillerinde çok bilgili olmalıdır. Ayrıca, test görevlisinin güvenli kodlama uygulamalarının son derece farkında olması gerekir. Güvenlik, genellikle yazılımın test edilmesinin birincil hedeflerinden biridir. Test uzmanı, güvenlik sorunlarını bulabilmeli ve bilgisayar korsanlarından ve bilerek veya bilmeyerek uygulamaya kötü amaçlı kod enjekte edebilecek tecrübesiz kullanıcıların saldırılarını engelleyebilmelidir.
Adım 2) TEST VAKALARI OLUŞTURUN VE UYGULAYIN
Beyaz kutu testinin ikinci temel adımı, uygulamanın kaynak kodunu doğru akış ve yapı için test etmeyi içerir. Bunun bir yolu, uygulamanın kaynak kodunu test etmek için daha fazla kod yazmaktır. Test uzmanı, uygulamadaki her işlem veya süreç dizisi için küçük testler geliştirecektir. Bu yöntem, test uzmanının kod hakkında derinlemesine bilgiye sahip olmasını gerektirir ve genellikle geliştirici tarafından yapılır. Diğer yöntemler arasında Manuel Test, deneme ve hata testi ve bu makalede daha ayrıntılı olarak açıklayacağımız test araçlarının kullanımı bulunur.
WhiteBox Test Örneği
Aşağıdaki kod parçasını düşünün
Printme (int a, int b) {------------ Printme bir fonksiyondurint sonuç = a + b;Eğer (sonuç> 0)Yazdır ("Pozitif", sonuç)BaşkaYazdır ("Negatif", sonuç)} ----------- Kaynak kodunun sonu
Yazılım mühendisliğinde WhiteBox testinin amacı, koddaki tüm karar dallarını, döngüleri, ifadeleri doğrulamaktır.
Yukarıdaki beyaz kutu test örneğindeki ifadeleri kullanmak için, WhiteBox test durumları şu şekilde olacaktır:
- A = 1, B = 1
- A = -1, B = -3
Beyaz Kutu Test Teknikleri
Büyük bir Beyaz kutu test tekniği, Kod Kapsamı analizidir. Kod Kapsamı analizi, bir Test Senaryosu paketindeki boşlukları ortadan kaldırır. Bir dizi test senaryosu tarafından uygulanmayan bir program alanlarını tanımlar. Boşluklar belirlendikten sonra, kodun test edilmemiş kısımlarını doğrulamak için test senaryoları oluşturursunuz ve böylece yazılım ürününün kalitesini artırırsınız.
Kod kapsamı analizi yapmak için kullanılabilen otomatik araçlar vardır. Aşağıda, bir kutu testçisinin kullanabileceği birkaç kapsam analizi tekniği bulunmaktadır:
Bildirim Kapsamı : - Bu teknik, koddaki olası tüm ifadelerin yazılım mühendisliğinin test sürecinde en az bir kez test edilmesini gerektirir.
Şube Kapsamı - Bu teknik, bir yazılım uygulamasının olası her yolunu (aksi takdirde ve diğer koşullu döngüleri) kontrol eder.
Yukarıdakilerin dışında, Koşul Kapsamı, Çoklu Koşul Kapsamı, Yol Kapsamı, İşlev Kapsamı vb. Gibi çok sayıda kapsama türü vardır. Her tekniğin kendi avantajları ve yazılım kodunun tüm bölümlerini test etme (kapsama) girişimleri vardır. Ekstre ve Şube kapsamını kullanarak genellikle yeterli olan% 80-90 kod kapsamına ulaşırsınız. Aşağıda önemli WhiteBox Test Teknikleri yer almaktadır:
- Bildirim Kapsamı
- Karar Kapsamı
- Şube Kapsamı
- Durum Kapsamı
- Çoklu Koşul Kapsamı
- Sonlu Durum Makinesi Kapsamı
- Yol Kapsamı
- Kontrol akışı testi
- Veri akışı testi
Daha fazla ayrıntı öğrenmek için bu makaleye bakın https://www.guru99.com/code-coverage.html
Beyaz Kutu Testi Türleri
Beyaz kutu testi, bir uygulamanın, kod bloğunun veya belirli bir yazılım paketinin kullanılabilirliğini değerlendirmek için kullanılan çeşitli test türlerini kapsar. Aşağıda listelenmiştir -
-
Birim Testi: Genellikle bir uygulama üzerinde yapılan ilk test türüdür. Birim Test, geliştirildikçe her birim veya kod bloğu üzerinde gerçekleştirilir. Birim Testi, esas olarak programcı tarafından yapılır. Bir yazılım geliştiricisi olarak, birkaç satır kod, tek bir işlev veya bir nesne geliştirirsiniz ve çalıştığından emin olmak için test edersiniz, Birim Testi, yazılım geliştirme yaşam döngüsünün başlarında hataların çoğunun belirlenmesine yardımcı olur. Bu aşamada tespit edilen hatalar daha ucuzdur ve düzeltilmesi kolaydır.
-
Bellek Sızıntılarını Test Etme : Bellek sızıntıları, daha yavaş çalışan uygulamaların başlıca nedenleridir. Yavaş çalışan bir yazılım uygulamanızın olduğu durumlarda bellek sızıntılarını tespit etme konusunda deneyimli bir QA uzmanı çok önemlidir.
Yukarıdakilerin dışında, birkaç test türü hem kara kutu hem de beyaz kutu testinin parçasıdır. Aşağıda listelenmiştir
- Beyaz Kutu Sızma Testi: Bu testte, test eden / geliştirici, uygulamanın kaynak kodu, ayrıntılı ağ bilgileri, ilgili IP adresleri ve uygulamanın çalıştığı tüm sunucu bilgileri hakkında tam bilgiye sahiptir. Amaç, güvenlik tehditlerini ortaya çıkarmak için koda birkaç açıdan saldırmaktır.
- Beyaz Kutu Mutasyon Testi : Mutasyon testi genellikle bir yazılım çözümünü genişletmek için kullanılacak en iyi kodlama tekniklerini keşfetmek için kullanılır.
Beyaz Kutu Test Araçları
Aşağıda en iyi beyaz kutu test araçlarının bir listesi bulunmaktadır.
- Parasoft Jtest
- EclEmma
- NUnit
- PyUnit
- HTMLUnit
- CppUnit
Beyaz Kutu Testinin Avantajları
- Gizli hataları bularak kod optimizasyonu.
- Beyaz kutu test durumları kolaylıkla otomatikleştirilebilir.
- Tüm kod yolları genellikle kapsandığı için test daha kapsamlıdır.
- GUI mevcut olmasa bile test SDLC'de erken başlayabilir.
WhiteBox Testinin Dezavantajları
- Beyaz kutu testi oldukça karmaşık ve pahalı olabilir.
- Genellikle beyaz kutu test senaryoları uygulayan geliştiriciler bundan nefret ediyor. Geliştiriciler tarafından yapılan beyaz kutu testinin ayrıntılı olmaması, üretim hatalarına yol açabilir.
- Beyaz kutu testi, programlama ve uygulamaya ilişkin ayrıntılı bir anlayışa sahip profesyonel kaynaklar gerektirir.
- Beyaz kutu testi zaman alır, daha büyük programlama uygulamalarının tam olarak test edilmesi zaman alır.
Bitiş Notları:
- Beyaz kutu testi oldukça karmaşık olabilir. İlgili karmaşıklığın, test edilen uygulamayla çok ilgisi vardır. Tek bir basit işlemi gerçekleştiren küçük bir uygulama birkaç dakika içinde beyaz kutuda test edilebilirken, daha büyük programlama uygulamalarının tam olarak test edilmesi günler, haftalar ve hatta daha uzun sürebilir.
- Yazılım testinde beyaz kutu testi, geliştirilmekte olan bir yazılım uygulaması üzerinde yazıldıktan sonra ve her değişiklikten sonra tekrar yapılmalıdır.