Daha önceki yazılarımda yazılım test türlerinden, bir şema üzerinde genel gruplarına değinerek bahsetmiştim. Bugün ise fonksiyonel testler grubuna giren sık kullanılan test çeşitlerinden bahsedeceğim.

Bu yazıda okuyacağınız fonksiyonel test türleri:

  • Entegrasyon Testi (Integration Testing)
  • Duman Testi (Smoke Testing)
  • Doğruluk/Uygunluk/Tutarlılık Testi (Sanity Testing)
  • Regresyon Testi (Regression Testing)
  • Sistem Testi
  • Kullanıcı Kabul Testi

Entegrasyon Testi Nedir?

Entegrasyon testleri daha önceden ayrı ayrı test ettiğimiz modüllerin birlikte nasıl çalıştığını doğrulamak amacıyla yapılan testlerdir. Geliştiriciler genellikle aynı anda sistemin farklı modüllerini oluşturur ancak bu modüllerin sistemdeki diğer modüllerle etkileşimine odaklanmazlar. Bu noktada entegrasyon testlerine ihtiyaç oluşmaktadır. Entegrasyon testlerinin sonucunda genellikle; Kullanıcı Ara Birim(UI) İşlemleri , Veri Formatları, API çağrıları ve Veritabanı Erişimi ile ilgili noktalardan oluşan hatalar tespit edilir.

Smoke ve Sanity Testleri

Bu test çeşitlerine ingilizce karşılıklarıyla değinmek istedim çünkü çoğunlukla bu şekilde karşılaşılıyor. İki test çeşidinden birlikte bahsetmek istiyorum çünkü çoğunlukla karıştırılıyor ve aynı olduğu düşünülüyor.

Smoke(Duman) Testi; test ekibine verilen “yeni” yapı üzerinde gerçekleştirilen ve sistemin ana fonksiyonlarını kontrol edildiği testlerdir. Duman testinde, seçilen test senaryoları sistemin “en önemli” işlevselliğini veya bileşenlerini kapsamalıdır. Amaç kapsamlı testler yapmak değil, sistemin en kritik işlevlerinin sorunsuz çalıştığını doğrulamaktır.

Sanity Testi; küçük değişiklikler ile yeni bir yapı alındığında kapsamlı testler yerine uygulanacak bir test türüdür. Amaç “daha önceden belirtilen hatalar” düzelmiş mi ve bu hataların düzeltilmesiyle herhangi bir sorun oluşmuş mu bunu görmektir.

Bu iki test türünü daha iyi anlayabilmemiz adına guru99’dan almış olduğum İngilizce bir görseli ekledim.

Smoke ve Sanity Testi Karşılaştırılması

Regresyon Testi Nedir?

Sistemdeki bazı özellikler değiştirildiğinde bu güncellemelerin beklenmedik davranışlara neden olma ihtimali çok yüksektir. Bu noktada, değişikliklerin herhangi bir işlevi bozmadığını doğrulamak adına kapsamlı ve sistemin çoğu ana fonksiyonunu test edecek test kümeleri oluşturularak gerçekleştirilen test çeşidi Regresyon Testidir. Amaç yanlışlıkla sisteme girmiş hataları bulmak ve önceden çözülen hataların yenilenmediğini veya yeni bir hata oluşmadığını doğrulamaktır. Smoke ve Sanity test türleri Regresyon Testinin alt kümesidir diyebiliriz.

Regresyon test kümesi her yeni versiyondan sonra genişlemektedir. Bu nedenle regresyon testi yazılım ilerledikçe zorlaşmaktadır. Büyük test kümelerinden oluşacak regresyon test planını güncel tutmak önemlidir. Regresyon testleri için zamandan kazanmak adına genellikle otomasyon testleri önerilmektedir.

Sistem Testi

Sistem testleri, bütün gereksinimler tamamlandıktan ve sistem entegre edildikten sonra yapılan testlerdir. Sistem testleri bu alanda uzmanlaşmış kişiler tarafından yapılır ve bu kişiler uygulama geliştirilirken yapılan testlerde rol almamış kişilerdir. Sistem testleri en kritik testlerdir. Program her şeyiyle hazır olduktan sonra bütün paydaşlar tarafından istenilen özellikleri karşılayıp karşılamadığını, sistemin bütün parçalarının entegrasyonunun doğru yapıldığını ve sistemdeki bütün modüllerin eksiksiz çalıştığını doğrular.

Sistem testleri; uygulamanın değişen/çıkartılan özelliklerinin onayları, projede çalışanlar, performans ile ilgili noktalar vb. sistemin bütün ilgili özelliklerine değinir.

Kullanıcı Kabul Testi

Sistemin gerçek kullanıcılarıyla yapılan testlerdir. Bu noktada, ürün müşteriye hazır konuma gelmiştir. Sistemin gerçek kullanıcıları ile birlikte en başta belirlenen isteklerin/özelliklerin uygulama tarafından sağlanıp sağlanmadığına bakılır.

Benim fonksiyonel test çeşitleri konusunda anlatmak istediğim test türleri bunlardı. Bu yazımda anlattığım test türleri dışında daha birçok fonksiyonel test türü bulunmaktadır. Bu yazımda anlattığım test çeşitleriyle de ilgili uzmanlık seviyesinde daha birçok detay bulabilirsiniz ancak ben kısaca ne olduklarına ve amaçlarına değinmek istedim. Umarım faydalı olmuştur 🙂

Comments are closed