YAZILIM TEST TÜRLERİ: Fonksiyonel Olmayan Testler
Fonksiyonel olmayan testler; fonksiyonel testlerini tamamladığımız, işlevsellik ile ilgili bir sorunu olmayan bir yazılımın işlevsel olmayan özelliklerini kontrol etmek amacıyla yürüttüğümüz test türleridir. Genellikle sistemin performansı, kullanılabilirliği, güvenliği gibi metrikler test edilir.
Fonksiyonel olmayan testlerin ölçtüğü belli parametreler vardır. Bu test türlerini uygularken amacımız bu parametrelerin ne derece sağlandığını yada sağlanıp sağlanmadığını test etmektir. Bu parametrelere görsel ile yer vermek istedim. Çeşitli test türleri bulunsa da amaçlar bu parametreler çevresinde toplanır.
Bu yazıda okuyacağınız fonksiyonel olmayan test türleri:
Yük Testi
Hacim Testi
Stres Testi
Uyumluluk Testi
Kurtarma Testi
Kullanılabilirlik Testi
Performans Testi
Detaylara geçmeden önce karıştırılan/birbirine benzeyen test türlerine birlikte değineceğimi belirtmek istiyorum. Umarım farklarını anlayabileceğiniz şekilde aktarabilirim.
Yük(Load)/Hacim(Volume)/Stres(Stress) Testleri
Yük testi, sistemin gerçek kullanımda beklenen yük altında davranışını ve performansını ölçmek için kullanılan bir test türüdür. Yük testi aynı zamanda performans testlerinin alt kümesidir diyebiliriz. Buna küçük bir örnek olarak, bir Oturum Açma sistemine aynı anda 5000 kullanıcının oturum açma isteği göndermesini verebiliriz.
Hacim testi, büyük miktarda veri altında sistemin davranışını ve performansını gösteren bir test türüdür. Hacim testi aynı zamanda ‘Sel(Flood) Testi’ olarak da bilinmektedir.
Stres testi, sistemin ağır koşullarda sağlamlık ve hata işleme yeteneğini ölçer. Yük testi yoğun trafik altında sistemin davranışını ölçerken, stres testi yoğun koşullar altında sistemin davranışlarını ölçer. Stres testiyle sistemin kararlığını(stability) ve güvenilirliğini(reliability) test etmiş oluruz. Bazı stres testi uygulamalarında sistemin çökmesine sebep olacak koşullar uygulanıp (negatif test de diyebiliriz) sistemin bu durumdaki geri kurtarma(recoverability) davranışı da test edilmektedir.
Uyumluluk(Compatibility) Testi
Uyumluluk testi, yazılımın farklı donanım, işletim sistemleri, uygulamalar, ağ ortamları veya mobil cihazlarda çalışıp çalışmadığını kontrol etmek için uygulanan bir yazılım test türüdür. Örnek verecek olursak; bir yazılımın hem Windows hem MAC işletim sisteminde çalışması bekleniyorsa veya hem wifi hem kablolu ağ bağlantısı üzerinden çalışması bekleniyorsa bu durumları test etmek için Uyumluluk Testi yürütülmelidir.
Kurtarma (Recovery) Testi
Kurtarma testlerinde amaç sistemin herhangi bir donanımsal yada ağ kesintisi gibi durumlar yaşadıktan sonra o ana kadar ki işlediği adımları yeniden eksiksiz tamamlayabildiğini görmektir.
Kullanılabilirlik(Usability) Testi
Bu test türü, bir sistemin ne kadar kullanışlı ve kullanıcı dostu olduğunu ölçer. Kullanılabilirlik testi, kullanıcının uygulamayı kullanma kolaylığına, kontrolleri ele alma esnekliğine ve sistemin hedeflerine ulaşma yeteneğine odaklanır. Örnek verecek olursak, bir web sayfasındaki renklerin ne kadar göz yorucu olduğuna yada ikonların ne kadar doğru seçildiğine bakılması bu test türü kapsamındadır. Bu test türü ‘Kullanıcı Deneyimi (UX) Testi’ olarak da bilinmektedir.
Performans Testi
Performans testi aslında ilk bahsettiğim yük, hacim ve stres testlerini kapsayan ana grup bir test türüdür. Sistemin güvenliği, hızı, cevap verme süresi, kaynak kullanımı gibi birçok metrik performans testleri kullanılarak test edilebilir.
Performans testleri temel olarak 3 konu üzerinde yoğunlaşır:
Hız(Speed) : Uygulamanın hızlı yanıt verip veremeyeceğini belirler.
Ölçeklenebilirlik(Scalability) : Uygulamanın işleyebileceği maksimum kullanıcı yükünü belirler.
Kararlılık(Stability) : Uygulamanın değişen yükler/koşullar altında kararlı olup olmadığını belirler.
Benim fonksiyonel olmayan test türlerinde değinmek istediğim test çeşitleri bunlar. Elbette ki hem bu test türlerinde hem de burada anlatmadığım test türlerinde detaylı birçok konu bulunmakta (uygulama teknikleri, gereklilikleri vb.) ancak ben yaygın bilinen fonksiyonel olmayan test türlerini genel olarak anlatmak istedim. Umarım faydalı olmuştur 🙂