black box testing an depth tutorial with examples
Bu eğiticide, Yazılım Testindeki endüstriyel deneyimimi kullanarak, Kara Kutu Testinin türleri ve tekniklerinin yanı sıra, manuel test dışında test etmek için süreci, avantajları, dezavantajları ve bazı otomasyon araçları hakkında bilgi edelim.
Ayrıca Beyaz Kutu Testi ile Kara Kutu Testi arasındaki farkları da öğreneceğiz.
'Kara Kutu Test Teknikleri' Eğiticilerinin Listesi:
Öğretici 1: Kara Kutu Testi nedir
Öğretici # 2: Beyaz Kutu Testi nedir
Öğretici 3: Basitleştirilmiş Fonksiyonel Test
Eğitim 4: Kullanım Durumu Testi nedir
Öğretici # 5 : Ortogonal Dizi Test Tekniği
Teknikler
Öğretici # 6: Sınır Değer Analizi ve Eşdeğerlik Bölümleme
Eğitim 7: Karar Tablosu Testi
Eğitim # 8: Durum Geçiş Testi
Öğretici # 9 : Hata Tahmin Etme
Öğretici # 10: Grafik Tabanlı Test Yöntemleri
Hemen hemen hepimiz her gün Kara Kutu Testi yapıyoruz!
Öğrenmiş olsak da öğrenmemiş olsak da, hepimiz günlük hayatımızda birçok kez Kara Kutu Testi yaptık ve gerçekleştirdik !!
İsmin kendisinden muhtemelen bunun sistemle etkileşime girdiğini, gizemli bir kutu olarak test ettiğinizi anlayabilirsiniz. Bu, sistemin iç işleyişi hakkında yeterince bilgili olmadığınız, ancak nasıl davranması gerektiğini bildiğiniz anlamına gelir.
Bir alırsak misal Arabamızı veya bisikletimizi test etmek için, alışılmadık bir şekilde davranmadığından emin olmak için her zaman kullanırız. Görmek? Kara Kutu Testini zaten yaptık.
Ne öğreneceksin:
- Kara Kutu Testi Nedir?
- Kara Kutu Testi Türleri
- Kara Kutu Test Araçları
- Kara Kutu Test Teknikleri
- Adım adım nasıl yapılır?
- Avantajlar ve dezavantajlar
- Beyaz Kutu Testi ile Kara Kutu Testi Arasındaki Fark
- Sonuç
- Önerilen Kaynaklar
Kara Kutu Testi Nedir?
Kara Kutu Testi, davranışsal, opak kutu, kapalı kutu, spesifikasyon temelli veya göz göze test olarak da bilinir.
Bir yazılımın / uygulamanın işlevselliğini, test edilen ürünün iç yapısı / tasarımı hakkında fazla bilgi sahibi olmadan analiz eden ve girdi değerini çıktı değeri ile karşılaştıran bir Yazılım Test yöntemidir.
swf dosyası chrome'da açılmıyor
Kara Kutu Testindeki ana odak, bir bütün olarak sistemin işlevselliğidir. Dönem 'Davranışsal Test' Kara Kutu Testi için de kullanılır. Davranışsal test tasarımı, kara kutu test tasarımından biraz farklıdır çünkü dahili bilginin kullanımı kesinlikle yasak değildir, ancak yine de önerilmez.
Her test yönteminin kendine özgü avantajları ve dezavantajları vardır. Yalnızca kara kutu veya yalnızca beyaz kutu tekniği kullanılarak bulunamayan bazı hatalar vardır.
Başvuruların çoğu Kara Kutu yöntemi ile test edilmektedir. Hataların çoğunun bir hata tarafından keşfedilmesi için test senaryolarının çoğunu kapsamalıyız. Siyah kutu yöntem.
Bu test, yazılım geliştirme ve Test Yaşam Döngüsü boyunca yani Birim, Entegrasyon, Sistem, Kabul ve Regresyon Testi aşamalarında gerçekleştirilir.
Bu hem İşlevsel hem de İşlevsel Olmayan olabilir.
Kara Kutu Testi Türleri
Pratik olarak, mümkün olan birkaç Kara Kutu Testi türü vardır, ancak bunun ana varyantını düşünürsek, aşağıda belirtilen iki temel testtir.
# 1) İşlevsel Test
Bu tür, bir uygulamanın işlevsel gereksinimleri veya spesifikasyonları ile ilgilidir. Burada, sistemin farklı eylemleri veya işlevleri, girdi sağlanarak ve gerçek çıktı ile beklenen çıktıyla karşılaştırılarak test edilmektedir.
Örneğin ,Bir Açılır listeyi test ettiğimizde, üzerine tıklıyoruz ve genişlediğini ve listede tüm beklenen değerlerin gösterildiğini doğruluyoruz.
Birkaç temel İşlevsel Test türü şunlardır:
- Duman Testi
- Sağlık Testi
- Entegrasyon Testi
- Sistem Testi
- Gerileme testi
- kullanıcı Kabul Testi
=> Daha fazlasını okuyun Fonksiyonel test .
# 2) İşlevsel Olmayan Test
Gereksinimlerin işlevlerinin yanı sıra, uygulamanın kalitesini ve performansını iyileştirmek için test edilmesi gereken birkaç işlevsel olmayan husus da vardır.
İşlevsel Olmayan Testlerin birkaç ana türü şunlardır:
- Kullanılabilirlik testi
- Yük Testi
- Performans testi
- Uyumluluk Testi
- Stres testi
- Ölçeklenebilirlik Testi
=> Daha fazlasını okuyun İşlevsel Olmayan Test .
Kara Kutu Test Araçları
Kara Kutu Test araçları temel olarak kayıt ve oynatma araçlarıdır. Bu araçlar, yeni yapının önceki çalışan uygulama işlevselliğinde herhangi bir hata oluşturup oluşturmadığını kontrol etmek için Regresyon Testi için kullanılır.
Bu kayıt ve oynatma araçları, test durumlarını TSL, VB komut dosyası, Javascript, Perl, vb. Gibi bazı komut dosyaları biçiminde kaydeder.
Kara Kutu Test Teknikleri
Bir dizi işlevi sistematik olarak test etmek için, test senaryoları tasarlamak gerekir. Test uzmanları, aşağıdaki Kara Kutu Test tekniklerini kullanarak gereksinim spesifikasyon belgesinden test senaryoları oluşturabilir.
- Eşit bölümlere ayırma
- Sınır Değer Analizi
- Karar Tablosu Testi
- Durum Geçiş Testi
- Hata Tahmin Etme
- Grafik Tabanlı Test Yöntemleri
- Karşılaştırma Testi
Her tekniği ayrıntılı olarak anlayalım.
# 1) Eşdeğer Bölümleme
Bu teknik aynı zamanda Eşdeğerlik Sınıfı Bölümleme (ECP) olarak da bilinir. Bu teknikte, sisteme veya uygulamaya girdi değerleri, sonuçtaki benzerliğine göre farklı sınıflara veya gruplara ayrılır.
Bu nedenle, her bir girdi değerini kullanmak yerine, artık sonucu test etmek için gruptan / sınıftan herhangi bir değeri kullanabiliriz. Bu şekilde, çok sayıda yeniden çalışmayı ve en önemlisi harcanan zamanı azaltırken test kapsamını koruyabiliriz.
Örneğin:
Yukarıdaki görüntüde olduğu gibi, bir 'AGE' metin alanı yalnızca 18'den 60'a kadar olan sayıları kabul eder. Üç grup sınıf veya grup olacaktır.
İki geçersiz sınıf:
diziyi java'da işleve nasıl geçiririm
a) 17'den küçük veya eşittir.
b) 61'den büyük veya eşittir.
Geçerli bir sınıf, 18 ile 60 arasındaki herhangi bir sınıftır.
Böylece test senaryolarını, oluşturulan sınıflara göre yalnızca 3 test senaryosuna indirdik, böylece tüm olasılıkları kapsadık. Bu nedenle, sınıfın her setinden herhangi bir değerle test etmek yukarıdaki senaryoyu test etmek için yeterlidir.
=> Önerilen Okuma - Eşdeğer Bölümleme nedir?
# 2) Sınır Değer Analizi
Adından da anlaşılacağı gibi, bu teknikte sınırlardaki değerlere odaklandığımızı anlayabiliriz, çünkü birçok uygulamanın sınırlarla ilgili yüksek miktarda sorunu olduğu görülmüştür.
Sınır, sistemin davranışının değiştiği sınıra yakın değerler anlamına gelir. Sınır değeri analizinde, sorunları doğrulamak için hem geçerli girdiler hem de geçersiz girdiler test edilmektedir.
Örneğin:
1'den 100'e kadar değerlerin kabul edilmesi gereken bir alanı test etmek istiyorsak, sınır değerlerini seçiyoruz: 1-1, 1, 1 + 1, 100-1, 100 ve 100 + 1. 1'den 100'e kadar olan tüm değerleri kullanmak yerine, sadece 0, 1, 2, 99, 100 ve 101'i kullanırız.
# 3) Karar Tablosu Testi
Adından da anlaşılacağı gibi, mantıksal ilişkilerin olduğu her yerde:
Eğer
{
(Durum = Doğru)
sonra eylem1;
}
else eylem2; / * (koşul = Yanlış) * /
Ardından, bir test cihazı iki koşul için (Doğru ve Yanlış) iki çıkışı (eylem1 ve eylem2) belirleyecektir. Bu nedenle, olası senaryolara dayalı olarak, bir dizi test senaryosu hazırlamak için bir Karar tablosu oyulur.
Örneğin:
Erkek yaşlı vatandaşa% 10 ve geri kalanlara% 9 faiz oranı sağlayan bir XYZ bankası örneğini ele alalım.
Bu örnek durumda, C1'in doğru ve yanlış olmak üzere iki değeri vardır, C2 koşulunun da doğru ve yanlış olmak üzere iki değeri vardır. Toplam olası kombinasyon sayısı bu durumda dört olacaktır. Bu şekilde, bir karar tablosu kullanarak test senaryoları türetebiliriz.
.apk dosyası nasıl açılır
# 4) Durum Geçiş Testi
Durum Geçiş Testi, test edilen sistemin farklı durumlarını test etmek için kullanılan bir tekniktir. Sistemin durumu, koşullara veya olaylara bağlı olarak değişir. Olaylar, senaryo haline gelen durumları tetikler ve bir testçinin bunları test etmesi gerekir.
Sistematik bir durum geçiş diyagramı, durum değişikliklerinin net bir görünümünü verir, ancak daha basit uygulamalar için etkilidir. Daha karmaşık projeler, daha karmaşık geçiş diyagramlarına yol açabilir ve bu da onu daha az etkili hale getirebilir.
Örneğin:
# 5) Hata Tahmin Etme
Bu, Deneyime Dayalı Testin klasik bir örneğidir.
Bu teknikte, test uzmanı, uygulama davranışı ve işlevleriyle ilgili deneyimini hataya açık alanları tahmin etmek için kullanabilir. Birçok kusur, geliştiricilerin çoğunun genellikle hata yaptığı yerlerde hata tahminini kullanarak bulunabilir.
Geliştiricilerin genellikle yapmayı unuttuğu birkaç yaygın hata:
- Sıfıra bölme.
- Metin alanlarında boş değerleri işleme.
- Gönder düğmesini herhangi bir değer olmadan kabul etmek.
- Ek olmadan dosya yükleme.
- Sınır boyutundan küçük veya büyük dosya yükleme.
# 6) Grafik Tabanlı Test Yöntemleri
Her uygulama, bazı nesnelerin bir oluşumudur. Bu tür tüm nesneler belirlenir ve grafik hazırlanır. Bu nesne grafiğinden her nesne ilişkisi belirlenir ve hataları keşfetmek için test senaryoları buna göre yazılır.
# 7) Karşılaştırma Testi
Bu yöntemde test etmek için aynı yazılımın farklı bağımsız sürümleri birbirleriyle karşılaştırmak için kullanılır.
Adım adım nasıl yapılır?
Genel olarak, bir projeyi / uygulamayı test etmek için sistematik bir süreç izlendiğinde, kalite korunur ve uzun vadede daha fazla test turu için faydalıdır.
- En önemli adım, bir uygulamanın Gereksinim özelliklerini anlamaktır. Uygun bir dokümante edilmiş SRS (Yazılım Gereksinimi Spesifikasyonu) mevcut olmalıdır.
- Sınır Değer Analizi, Eşdeğerlik bölümleme gibi yukarıda belirtilen Kara Kutu Test teknikleri kullanılarak geçerli ve geçersiz girdi setleri, istenen çıktıları ile tanımlanır ve buna göre test senaryoları tasarlanır.
- Tasarlanan test senaryoları, gerçek sonuçların beklenen sonuçlarla doğrulanarak Başarılı veya Başarısız olup olmadıklarını kontrol etmek için yürütülür.
- Başarısız test senaryoları, Kusurlar / Hatalar olarak ortaya çıkar ve Düzeltilmesi için geliştirme ekibine yönlendirilir.
- Ayrıca, düzeltilen kusurlara bağlı olarak, test cihazı tekrar edip etmediğini doğrulamak için kusurları yeniden test eder.
Avantajlar ve dezavantajlar
Avantajlar
- Test uzmanının teknik bir geçmişe sahip olması gerekmez. Kullanıcının yerinde kalarak test etmek ve kullanıcının bakış açısından düşünmek önemlidir.
- Projenin / uygulamanın geliştirilmesi tamamlandıktan sonra teste başlanabilir. Hem test uzmanları hem de geliştiriciler, birbirlerinin alanına müdahale etmeden bağımsız olarak çalışır.
- Büyük ve karmaşık uygulamalar için daha etkilidir.
- Kusurlar ve tutarsızlıklar, testin erken aşamasında belirlenebilir.
Dezavantajları
- Herhangi bir teknik veya programlama bilgisi olmadan, test edilecek senaryonun olası koşullarını göz ardı etme şansı vardır.
- Öngörülen bir süre içinde daha az test etme ve olası tüm girdileri ve bunların çıktı testlerini atlama olasılıkları vardır.
- Büyük ve karmaşık projeler için Tam Test Kapsamı mümkün değildir.
Beyaz Kutu Testi ile Kara Kutu Testi Arasındaki Fark
Aşağıda, ikisi arasında birkaç fark verilmiştir:
Kara Kutu Testi | Beyaz Kutu Testi |
---|---|
Uygulamanın gerçek kodu veya iç yapısı hakkında bilgi sahibi olmayan bir test yöntemidir. | Uygulamanın gerçek kodu ve iç yapısı hakkında bilgi sahibi olan bir test yöntemidir. |
Bu, fonksiyonel test gibi daha yüksek seviyeli bir testtir. | Bu tür testler, Birim Testi, Entegrasyon Testi gibi daha düşük bir test seviyesinde gerçekleştirilir. |
Test edilen sistemin işlevselliğine odaklanır | Gerçek koda odaklanır - program ve sözdizimi |
Kara kutu testi, test etmek için Gereksinim spesifikasyonunu gerektirir | Beyaz Kutu testi, veri akış diyagramları, akış şemaları vb. İçeren Tasarım belgeleri gerektirir. |
Kara kutu testi, test uzmanları tarafından yapılır | Beyaz kutu testi, programlama bilgisine sahip geliştiriciler veya testçiler tarafından yapılır. |
Sonuç
Bunlar Kara kutu testi ile ilgili temel noktalardan bazıları ve tekniklerine ve yöntemlerine genel bakış.
Her şeyi insan katılımıyla yüzde 100 doğrulukla test etmek mümkün olmadığından, yukarıda belirtilen teknikler ve yöntemler etkin kullanılırsa kesinlikle sistemin kalitesini artıracaktır.
Sonuç olarak, bu, sistemin işlevselliğini doğrulamak ve kusurların çoğunu tanımlamak için çok yararlı bir yöntemdir.
Kara Kutu Test tekniği hakkında derinlemesine bir bilgi edinmiş olacağınızı umuyoruz.
Önerilen Kaynaklar
- Kara Kutu Testi ile Beyaz Kutu Testi Arasındaki Temel Farklılıklar
- En İyi Yazılım Test Araçları 2021 (QA Test Otomasyon Araçları)
- Fonksiyonel Test ve Fonksiyonel Olmayan Test
- Araçlar ve Örneklerle İkili Test veya Tüm Çiftler Testi Eğitimi
- Beyaz Kutu Testi: Teknikler, Örnekler ve Araçlarla Tam Bir Kılavuz
- Hacim Testi Eğitimi: Örnekler ve Hacim Testi Araçları
- Örneklerle Yapılandırma Testi Eğitimi
- Primer e-Kitap İndirmeyi Test Etme