Yazılım testi alanında 100’den fazla test çeşidi bulunmaktadır. Ben şemada genel olarak yaygın kullanılan test türlerini kategorize etmek istedim. Bu şemada yer almayan ama uygulanan daha birçok test türü bulunmaktadır. Burada bulunan test türlerini açıkladıktan sonra genel olarak diğer test türlerinin hepsine en azından tanım olarak değinmeye çalışacağım başka bir yazı hazırlayacağım. Statik test ve dinamik test ile başlayalım.

Statik Test ve Dinamik Test Nedir?

Statik test, dinamik testlerden önce uygulanması gereken bir test türüdür. Benim araştırmalarımdan anladığıma göre aslında dinamik testlere hazırlık testleridir diyebiliriz. Statik testler; kodun gerçekleştirilmeden(execute) önce gözden geçirilmesine(review) ve proje dokümanlarının kontrolüne dayanır. Statik testler yürütülürken; proje gereksinim dokümanları, proje planları, test planları gibi hazırlık/yönetim planları incelenir.

Dinamik test, projenin kodlama aşamasının başlamasından sonra başlayan bir test türüdür. Statik testler için hazırlık aşaması testleri diyorken, dinamik testler için projenin gerçekleşme ve sonrası testleri diyebiliriz.

Dinamik Test Türleri: Fonksiyonel ve Fonksiyonel Olmayan Testler

Dinamik test türleri şemada da gösterdiğim gibi 2 ana grupta toplanmaktadır. Bu gruplar kendi içlerinde çok fazla çeşitlilikte olsa da asıl amaçları alt gruplarda da aynıdır.

Fonksiyonel testler, sistemin gereksinimleri karşılayıp karşılamadığına ve doğru çalıştığına emin olmak için uygulanan testlerdir. Fonksiyonel testler, sistemin davranış(behavior) ve icra(execution) kısımlarını doğrularken “NE? (WHAT)” sorusuna cevap veren testlerdir.

Fonksiyonel olmayan testler ise sistemde “NASIL? (HOW)” sorusuna cevap veren testlerdir. Bu test türlerinde, sistemin performansına(performance) ve kullanılabilirliğine(usability) odaklanılır.

Bu noktada genellemek amacıyla iki kavram ortaya çıkmaktadır: Doğrulama(Verification) ve Onaylama(Validation)

Doğrulama(Verification): Ürünün geliştirme aşamasının başlangıcında belirlenen gereksinimleri karşılamasını sağlar. Özetle, doğrulama sistemin gerektiği gibi davrandığını onaylamak amacıyla kullanılır (Fonksiyonel Testler).

Onaylama(Validation): Ürünün geliştirme aşamasının sonunda spesifik gereksinimlere karşı(Hız, Güvenlik, Yoğunluk vb.) cevap verebildiğini görmek amacıyla kullanılır (Fonksiyonel Olmayan Testler). Test türlerinin ana gruplarından ve amaçlarından bu yazımda bahsetmek istedim. Burada bahsettiğim ana grupların, alt grupları ve detaylı test çeşitleri için diğer yazılarımı okuyabilirsiniz 🙂