Yazılımda test sürecinde kullanılan test teknikleri testin amacına, sistem bilgisine, yazılımın yaşam döngüsüne göre farklı şekilde sınıflandırılabilir.
- STATİK – DİNAMİK TEST
1.1. Statik Test: Program ile programın belirtilen koşullar arasındaki uyumunu denetleyen statik testler, önizlemeleri, talimatları ve doğrulamayı içerir.
1.2. Dinamik Test: Programlanmış kodların testini içeren dinamik testler, tespit edilen hatalar çözülmeden sonlandırılmaz.
- KUTU YAKLAŞIMI
Yazılım test yöntemleri beyaz ve kara kutu testi şeklinde ayrılır.
2.1. Beyaz Kutu Testi
Beyaz kutu testi, uygulamanın kodunu temel alır ve programın çalışmasını, iç yapılarını test eder. Cam, açık kutu, temiz kutu olarak da adlandırılan beyaz kutu testinde, testi yapan kişi sorunlu kısmı bulmak için kodu incelemektedir.
Beyaz kutu testi, ekstra kod parçasını çıkararak kodun optimizasyonunu sağlar. Hangi verinin yazılan kodu en iyi şekilde test edeceğini belirler.
Ancak, kodu inceleyip tek tek hata bulmak zor bir işlemdir ve bu test yapıldığında maliyet artar.
Beyaz Kutu Test Teknikleri:
Birim Test: Yazılım geliştiriciler tarafından gerçekleştirilen bu teknikte küçük kod blokları test edilir.
Statik ve Dinamik Analiz: Statik analiz kodu sıralı bir şekilde inceleyip hataları araştırırken, dinamik analiz, kodun çalışmasını denetler.
Açıklama Kapsamı: Kod içindeki bütün açıklamaların test edilmesi ve bunların sorunsuz çalıştığının garanti altına alınmasıdır.
Güvenlik Testi: Sistemin güvenliğiyle; izinsiz erişimler, kod bozulması, hacklenme gibi konulardan nasıl korunacağı ile ilgilenir. Sistem açıklarını tespit edip, bu açıkların giderilmesiyle ilgilenir.
Değişim Testi: Sistemdeki hata düzeltildikten sonra yapılan bir testtir.
2.2. Kara Kutu testi
Kara kutu testi, kod ya da tasarımla ilgilenmez, işlevsellik ve fonksiyonel ihtiyaçlara göre test yapılır. Kara kutu testi, “fonksiyonellik testi, closed box testi ya da opaque testi” olarak adlandırılır.
Kara kutu testinde kod incelenmez ve özel bir uygulama ya da programa ihtiyaç duyulmaz.
Kara Kutu Test Teknikleri:
Ad-Hoc Testi: Diğer testlerin sürelerini ve kapsama alanlarını belirlenmesi için kullanılır.
Araştırma Testi: Uygulamanın test aşamasından önce öğrenilmesini için kullanılır.
Fonksiyonellik Testi: Fonksiyonel gereksinimlerin test edilmesidir, beklenen sonuçlar alınıyorsa testlerin yazılmasına devam edilir.
Stres Testi: Aynı işlemin aynı anda bir çok kez yapılması sonuçların izlenmesidir. Uygulamanın dayanıklılığı ve verdiği tepki belirlenir.
Yükleme Testi: Sistemin hangi koşullarda ve noktada çökeceğini tespit etmek için kullanılır.
Kullanılabilirlik Testi: Kullanıcı arayüzünün önemli olduğu uygulamalarda yapılan testtir.
Duman Testi: Duman testi, uygulamanın küçük testleri başarı ile geçtiğini ve büyük testlere hazır olduğunu belirler.
Yenilenme Testi: Uygulamanın bir hataya karşı ne kadar sürede eski haline geleceğini anlamak için kullanılır.
Seviye Testi: Sistemin uç limitlerinin test edildiği seviye testinde, sistem uç limitlere kadar zorlanır ve bu limit belirlenir.
Kullanıcı Kabul Testi: Kullanıcının sistemi test edip, beklentileri karşılayıp karşılamadığını incelediği testtir.
Alfa Testi: Uygulama geliştirme merkezine çağrılan kullanıcının uygulamada yaptıklarına göre geliştiricilerin gerekli bilgileri not aldığı testtir.
Beta Testi: Dağıtılan uygulamanın beta versiyonunu test eden kullanıcıların sistemi incelediği ve geri dönüşlerini geliştiriciye bildiridği testtir.