Page 174 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 174
174 | Yazılım Testleri ve Test Odaklı Geliştirme Yaklaşımının Kullanımı
Entegrasyon testinin amacı, bağımsız modüllerin diğer modüllerle entegrasyonları sağlandıktan
sonra beklendiği gibi çalıştığından emin olmaktır. Entegrasyon noktalarının yoğun olduğu yazılım
geliştirme projelerinde birim testler ile birlikte entegrasyon testi için kullanılan uçtan uca işlevsel iş
akışı testleri kullanır. Birim test sırasında ayrı ayrı test edilen bileşenler birbirine entegre edildikleri
zaman hataya sebep olabilirler. Entegrasyon testi, sistemin farklı bileşenlerinin (birimlerinin)
birlikte doğru çalışıp çalışmadıklarını test etmeyi amaçlar.
Entegrasyon testlerinde test metodolojileri genellikle büyük ölçüde değişebilir, ancak bunlar iki
temel test stratejisi çerçevesinde uygulanır:
• Büyük Patlama Entegrasyon Testi (Bigbang Integration Test)
Büyük patlama entegrasyon testi, yazılım ekiplerinin tüm bireysel modüller geliştirildikten sonra
gerçekleştirebileceği bir entegrasyon testi türüdür. Büyük patlama testi gerçekleştirilirken, tüm
modüller tek bir yazılım sistemi oluşturacak şekilde birleştirilir ve artımlı entegrasyon testinin tek
seferlik yapısının aksine eş zamanlı olarak test edilir. Büyük patlama entegrasyon testi, bir hata
ortaya çıktığında, hatanın yeri ve nedeni konusunda kafa karışıklığına daha az sebep olan daha
küçük sistemler için uygundur.
• Artımlı Entegrasyon Testi (Incremental Integration Test)
Artımlı entegrasyon testi aşağıdan yukarıya (bottom-up testing) ve yukarıdan aşağıya (top-down
testing) olmak üzere iki temel stratejiye göre gerçekleştirilir. Yukarıdan aşağıya entegrasyon,
entegrasyon testinin sistem yığınının en üstünden yazılım mimarisinin her katmanına doğru
gerçekleştirildiği bir test yaklaşımıdır. Testin kontrol akışı, kullanıcı arayüzü (UI) ile başlayıp yazılım
veri tabanında sona erecek şekilde yukarıdan aşağıya doğru hareket eder. Aşağıdan yukarıya
entegrasyon testi, mimarideki en alt modülden başlayarak ve yukarıya doğru çalışarak tek tek
bileşenlerin test edildiği ve entegre edildiği bir süreçtir. Aşağıdan yukarıya entegrasyon testi,
ekiplerin üst düzey modüller henüz geliştirme aşamasındayken teste başlamasına olanak tanır.
1.3. Sistem Testi
Sistem testi, eksiksiz ve entegre bir sistemde gerçekleştirilir. Gereksinimlere göre sistemin
uygunluğunun kontrol edilmesi sağlanır. Bileşenlerin genel etkileşimi test edilir. Yük performans
ve güvenlik testlerini içerir.
Sistem testi, sistemin şartnameye uygun olduğunu doğrulamak için yapılan son testtir. Bu yüzden
test için hem fonksiyonel hem de fonksiyonel olmayan gereksinimler değerlendirilir. Fonksiyonel
gereksinimlerle ilgili sistem testi, test edilecek sistem için en uygun kara kutu (black box) teknikleri
kullanılarak başlar. Ardından, beyaz kutu (white box) tekniklerine geçilerek kara kutu testlerinin
yakalayamadığı hatalar yakalanabilir.