Blog

Yazılım Test Çeşitleri

Yazılım testi yazılımların kalitesini ölçme amacıyla yapılan aktivitelerdir. Yazılım kalitesinin farklı açılardan değerlendirilmesi amacıyla farklı hedefleri olan test çeşitleri oluşturulmuştur. Yazılım çeşitleri temel olarak fonksiyonel ve fonksiyonel olmayan testler olmak üzere iki kategoriye ayrılmıştır. Fonksiyonel testler yazılımın “beklenen gibi” yani ne yaptığıyla ilgili testler, fonksiyonel olmayan testler ise yazılımın yaptığı işi “ne kadar iyi” yaptığıyla ilgili testler olarak nitelendirilebilir.

Resim 1 – Yazılım Test Çeşitleri

1) Fonksiyonel Testler

Keşif Testi (Exploratory Testing)

Gereksinimler ve test senaryoları olmadan test uzmanının yazılımı kullanarak yazılımın işlevlerinin test edildiği yazılım çeşitidir. Yazılımda bulunan önemli hataların hızlı bir şekilde tespit edilmesini sağlamaktadır. Keşif testi yapan test uzmanının geçmiş tecrübeleri yazılımın hangi özelliklerinde hata çıkabileceğini tahmin edebileceğinden keşif testinin kalitesini olumlu yönde etkilemektedir. Keşif testinin zayıf yönü ise yazılımın hangi özelliklerinin nasıl test edildiği bilgisi tutulmadığı için testlerin tekrarlanabilirliği düşüktür.

Doğruluk Testi (Sanity Testing)

Yazılıma yeni bir özellik getirildikten veya önceden bulunan bir hatanın giderildikten sonra “ilgili yerin” ilk kez doğruluğunun asgari düzeyde kontrol edildiği testlerdir. Sanity testi sonrasında daha ileri testlerin gerekip gerekmeyeceğinin kararları verilebilir.

Regresyon Testi (Regression Testing)

Yazılımda yapılan değişikliklerin veya eklenen yeni özelliklerin yazılımın “diğer kısımlarının” işlevlerinin etkilenip etkilemediğinin kontrol edildiği testleridir. Özellikle agile yazılım geliştirme modellerinde sürekli olarak yazılım güncellendiği için otomatik olarak koşulan regresyon testleri kullanılmaktadır.

Duman Testi (Smoke Testing)

Tüm sistemin asgari düzeyde(temel özelliklerinin) çalışıp çalışmadığının kontrol edildiği testlerdir. Duman testi diye adlandırılmasının nedeni de yazılımın duman çıkarmadığı yani temel özellliklerinin çalıştığının doğrulaması smoke testi ile yapılmasıdır.

1) Fonksiyonel Olmayan Testler

Performans Testi (Performance Testing)

Yazılımın farklı koşullarda kararlı bir şekilde çalıştığının kontrol edildiği testlerdir. Performans testleri yazılımın zayıf noktalarının, dar boğazının(bottleneck) belirlenmesinde önemli rol oynamaktadır. Yani performans testinin amacı yazılımdaki hataları bulmaktan ziyade yazılımın optimum bir şekilde çalışmasını sağlamaktır. Proje ihtiyacına göre farklılaşan çok fazla performans testi vardır ancak bu yazıda yaygın olarak kullanılan yük testi, stres testi ve hacim testinden bahsedilmiştir.

Yük testinde yazılıma düşük oranda yük uygulanıp zamanla yük arttırılırken yazılımın gösterdiği performans değerlendirilir, bu sayede yazılımın limitleri öğrenilir.

Stres testinde yazılıma limitlerin üstünde yük uygulanırken yazılımın gösterdiği davranışlar incelenmektedir.

Hacim testinde veri tabanı çok fazla veri ile zorlanır ve bu koşulda yazılımın veri kaybı vb. hataları olup olmadığı doğrulanır. Hacim testi taşma testi olarak da adlandırılmaktadır.

Güvenlik Testi (Security Testing)

Yazılımın Siber saldırılar (malware,DDoS,MıTM, vb) karşısında güçlü olup olmadığını görmek amacıyla güvenlik testleri yapılmaktadır. Bu testler sayesinde bilgi kayıplarının önüne geçilmesi amaçlanmaktadır.

Uyumluluk Testi (Compatibility Testing)

Yazılımın farklı ortamlarda (işletim sistemi, cihaz, tarayıcı, işletim sistemi versiyonu) düzgün bir şekilde çalışıp çalışmadığının değerlendirildiği testlerdir.

Erişilebilirlik Testi (Accessibility Testing)

Yazılımın engeli bulunan veya başka dezavantajı bulunan insanlar göz önünde bulundurularak kullanılabilirliğinin değerlendirildiği testlerdir.

Yorum Bırakın

E-posta hesabınız yayınlanmayacaktır. Gerekli alanlar "*" ile işaretlenmiştir.