Fonksiyonel ve Fonksiyonel Olmayan Testler: Yazılım Testinin Ana Kategorileri

Fonksiyonel Test:

Fonksiyonel Test, kontrollerini yaptığımız yazılımın tüm isteklere ve gereksinimlere uygun olup olmadığını doğrulayan test çeşididir, ana amaç yazılımın işlevlerini kontrol etmektir. Fonksiyonel testler kara kutu testini kapsar ve yazılımın kaynak koduyla ilgilenmez.

Fonksiyonel test türleri şunlardır;

Birim Test, yazılımın en küçük parçasının test edilmesidir ve amacı en küçük parçanın bile beklendiği gibi çalışmasının kontrol edilmesidir. Birim test, yazılım geliştirici tarafından gerçekleştirilir. Yazılan kodun her birimi, başka birime geçmeden önce bağımlılık olmadan, kapsamlı olarak test edildiği için kod geliştirmenin dokümantasyonunu da sağlar.

Entegrasyon Testi, yazılımın farklı bileşenlerinin beraber doğru çalışıp çalışmadıkları test edilen fonksiyonel test türüdür. Amacını şöyle açıklayabiliriz, yazılım birimleri tek tek testten geçerken, bir araya geldiğinde bazı hatalara sebep olabilirler. Entegrasyon testleri ile bu hataların proda çıkmadan tespit edilip düzeltilebilir.

Kullanıcı Kabul Testi, yazılımın gerçek senaryolarına dayalı şekilde test edilmesi için koşulmaktadır. Bu nedenle, kullanıcı kabul testleri gerçek kullanıcılar tarafından gerçekleştirilir. Amacı yazılımı iş gereksinimlerine göre doğrulamaktır. Yazılım canlıya çıkmadan gerçekleştirilen son testtir.

Regresyon Testi, uygulama ve uygulama ortamlarında yapılan değişiklik mevcut işlevselliklerden herhangi birini bozup bozmadığını doğrulamak için yapılan testlerdir. Bir anlamda sağlama işlevine sahip olan testlerdir. Her hata düzeltilmesinden ya da değişiklikten sonra yapılması gerekmektedir. Yalnızca ilgili değişikliğe ya da hataya odaklanılmamalıdır. Regresyon koşarken diğer yandan sistemin bütünlüğü her defasında kontrol edilmelidir. Geliştirme sürecinin hemen her aşamasında bu testlere ihtiyaç duyulmaktadır.

Smoke Test, bir projede en önemli fonksiyonların çalışıp çalışmadığını anlamak amacı ile detaylara girmeden yapılan test türüdür. Amacı fonksiyonel testlerin devam edilecek konuma gelip gelmediğini gözlemlemektir.

Fonksiyonel Olmayan Test:

Fonksiyonel olmayan test, bir yazılımın fonksiyonel olmayan tüm durumlarını (performans, kullanılabilirlik, güvenirlik vb.) kontrol etmek amacıyla kullanılan yazılım testidir.

Fonksiyonel olmayan test türleri şunlardır;

Güvenlik Testi, yazılım ürününün herhangi bir güvenlik açığından, büyük kayba neden olabilecek risklerden arındırılmasını sağlayan test türüdür.

Taşınabilirlik Testi, uygulamanın ortamlar arasında taşınırken ki durumunu test etmek için kullanılan test türüdür.

Performans Testi, uygulamanın veya bir web sitesinin performansını ölçmeye yönelik testlerdir. Amaç uygulamanın, hız (speed), kararlılık (stability) ve ölçeklenebilirlik (scalability) anlamında beklediğimiz şekilde çalışmasıdır.

Yük Testi, öncelikle tek kullanıcı ile sistemin bir senaryosu koşulur ve sonrasında sistem çökene kadar kullanıcı sayısı kademeli olarak arttırılarak teste devam edilir. Veriler aracılığı ile sistemin ne kadar kullanıcıya kadar stabil çalıştığını kontrol etmek için yük testi yapılır.

Stres Testi, olabilecek en fazla sayıda kullanıcı ile periyodik bir şekilde sisteme yüklenilmesi, sistemin üst limitlerinin zorlanması için koşulan test türüdür.

Yazar: Kübra Nur Sayan

Yazar
Kübra Nur Sayan
09/18/2023