Yazılım Testi - Yöntemler
Yazılım testi için kullanılabilecek farklı yöntemler vardır. Bu bölüm, mevcut yöntemleri kısaca açıklamaktadır.
Kara Kutu Testi
Uygulamanın iç işleyişi hakkında herhangi bir bilgiye sahip olmadan test etme tekniğine kara kutu testi denir. Test cihazı sistem mimarisinden habersizdir ve kaynak koduna erişimi yoktur. Tipik olarak, bir kara kutu testi gerçekleştirirken, bir test cihazı, girişlerin nasıl ve nerede çalışıldığını bilmeden girişler sağlayarak ve çıktıları inceleyerek sistemin kullanıcı arayüzüyle etkileşime girer.
Aşağıdaki tablo kara kutu testinin avantajlarını ve dezavantajlarını listeler.
Avantajlar | Dezavantajları |
---|---|
Büyük kod segmentleri için çok uygun ve verimli. | Sınırlı kapsam, çünkü yalnızca seçilmiş sayıda test senaryosu gerçekten gerçekleştirilmektedir. |
Kod erişimi gerekli değildir. | Test yapanın bir uygulama hakkında yalnızca sınırlı bilgiye sahip olması nedeniyle yetersiz test. |
Görünür şekilde tanımlanmış roller aracılığıyla kullanıcının bakış açısını geliştiricinin bakış açısından açıkça ayırır. | Kör kapsama, çünkü test uzmanı belirli kod segmentlerini veya hataya açık alanları hedefleyemez. |
Orta düzeyde vasıflı çok sayıda test görevlisi, uygulama, programlama dili veya işletim sistemleri hakkında bilgi sahibi olmadan uygulamayı test edebilir. | Test senaryolarının tasarlanması zordur. |
Beyaz Kutu Testi
Beyaz kutu testi, kodun iç mantığının ve yapısının ayrıntılı bir incelemesidir. Beyaz kutu testi de denirglass testing veya open-box testing. Gerçekleştirmek içinwhite-box Bir uygulama üzerinde test yaparken, test uzmanının kodun dahili işleyişini bilmesi gerekir.
Test edenin kaynak kodun içine bakması ve kodun hangi biriminin / parçasının uygunsuz şekilde davrandığını bulması gerekir.
Aşağıdaki tablo, beyaz kutu testinin avantaj ve dezavantajlarını listelemektedir.
Avantajlar | Dezavantajları |
---|---|
Test uzmanı kaynak kodu bilgisine sahip olduğundan, hangi tür verilerin uygulamanın etkili bir şekilde test edilmesine yardımcı olabileceğini bulmak çok kolay hale gelir. | Beyaz kutu testi yapmak için yetenekli bir test uzmanına ihtiyaç duyulduğu için maliyetler artar. |
Kodu optimize etmeye yardımcı olur. | Bazen birçok yol test edilmeyeceğinden, sorun yaratabilecek gizli hataları bulmak için her köşeye ve köşeye bakmak imkansızdır. |
Gizli kusurlara neden olabilecek ekstra kod satırları kaldırılabilir. | Kod çözümleyicileri ve hata ayıklama araçları gibi özel araçlar gerektirdiğinden beyaz kutu testini sürdürmek zordur. |
Test uzmanının kod hakkındaki bilgisi sayesinde, test senaryosu yazımı sırasında maksimum kapsama elde edilir. |
Gri Kutu Testi
Gri kutu testi, bir uygulamanın dahili çalışmaları hakkında sınırlı bilgiye sahip olarak uygulamayı test etmek için kullanılan bir tekniktir. Yazılım testinde, ne kadar çok şey bilirseniz, bir uygulamayı test ederken o kadar çok ağırlık taşır.
Bir sistemin etki alanında uzmanlaşmak, test uzmanına her zaman sınırlı alan bilgisine sahip biri üzerinde bir avantaj sağlar. Test uzmanının yalnızca uygulamanın kullanıcı arayüzünü test ettiği kara kutu testinin aksine; gri kutu testinde, test uzmanı tasarım belgelerine ve veri tabanına erişebilir. Bu bilgiye sahip olan bir test uzmanı, bir test planı yaparken daha iyi test verileri ve test senaryoları hazırlayabilir.
Avantajlar | Dezavantajları |
---|---|
Mümkün olan her yerde kara kutu ve beyaz kutu testinin birleşik faydalarını sunar. | Kaynak koduna erişim mevcut olmadığından, kodun üzerinden geçme ve test kapsamı sınırlıdır. |
Gri kutu test ediciler kaynak koduna güvenmez; bunun yerine arayüz tanımına ve fonksiyonel spesifikasyonlara güvenirler. | Yazılım tasarımcısı halihazırda bir test senaryosu çalıştırdıysa, testler gereksiz olabilir. |
Mevcut sınırlı bilgilere dayanarak, bir gri kutu test cihazı, özellikle iletişim protokolleri ve veri tipi işleme etrafında mükemmel test senaryoları tasarlayabilir. | Olası her girdi akışını test etmek gerçekçi değildir çünkü mantıksız bir zaman alır; bu nedenle, birçok program yolu test edilmeyecektir. |
Test, tasarımcının değil kullanıcının bakış açısından yapılır. |
Test Yöntemlerinin Karşılaştırması
Aşağıdaki tablo kara kutu testi, gri kutu testi ve beyaz kutu testini farklılaştıran noktaları listeler.
Kara Kutu Testi | Gri Kutu Testi | Beyaz Kutu Testi |
---|---|---|
Bir uygulamanın dahili işleyişinin bilinmesine gerek yoktur. | Test uzmanı, uygulamanın dahili işleyişi hakkında sınırlı bilgiye sahiptir. | Test cihazı, uygulamanın dahili işleyişiyle ilgili tam bilgiye sahiptir. |
Kapalı kutu testi, veriye dayalı test veya işlevsel test olarak da bilinir. | Aynı zamanda yarı saydam test olarak da bilinir, çünkü test eden kişi uygulamanın iç kısımları hakkında sınırlı bilgiye sahiptir. | Açık kutu testi, yapısal test veya kod tabanlı test olarak da bilinir. |
Son kullanıcılar ve ayrıca testçiler ve geliştiriciler tarafından gerçekleştirilir. | Son kullanıcılar ve ayrıca testçiler ve geliştiriciler tarafından gerçekleştirilir. | Normalde testçiler ve geliştiriciler tarafından yapılır. |
Test, dış beklentilere dayalıdır - Uygulamanın dahili davranışı bilinmemektedir. | Test, üst düzey veritabanı diyagramları ve veri akış şemaları temelinde yapılır. | Dahili çalışmalar tam olarak bilinir ve test cihazı test verilerini buna göre tasarlayabilir. |
Kapsamlıdır ve en az zaman alır. | Kısmen zaman alıcı ve kapsamlı. | En kapsamlı ve zaman alan test türü. |
Algoritma testi için uygun değildir. | Algoritma testi için uygun değildir. | Algoritma testi için uygundur. |
Bu sadece deneme yanılma yöntemi ile yapılabilir. | Veri alanları ve iç sınırlar, biliniyorsa test edilebilir. | Veri alanları ve iç sınırlar daha iyi test edilebilir. |