Test Methodojileri
YAZILIM TEST ve METHODLARI
Yazılım testi, bir yazılımın bütününün veya kodun belli bir kısmının gereksinimleri karşılayıp karşılamadığını, uygun şekilde hazırlanmış testler sayesinde öğrenme amaçlı yapılan birim çalışmalardır.
Yazılım testinin yapılma amaçları olarak; ileriye dönük kodun geliştirilme masraflarını azaltmak, ürün çalıştırılmadan önce kalitesini ve senaryolara uygunluğunu denetlemek, geliştirme sırasında gözden kaçan yanlışları bularak bu yanlışların ileride de tekrarlanmasını önleyerek zaman ve maliyet tasarrufu yapmak sayılabilir.

Yazılım projeleri değerlendirilirken test sürecine gelen ürünler, süreçlere uygun olarak teste tabi tutulur fakat ideal bir test süreci kodlama sürecinden ayrı değerlendirilmemelidir. İdeal bir test sürecinde olması gereken kodlama ve test süreçlerinin birbirinden koparılmamasıdır. Bu süreçte analiz, tasarım, teste hazırlık süreci, kodlama süreci, dinamik test süreci, testin bitirilmesi ve yazılımın ürün haline gelmesi şeklinde değerlendirilebilir.
Süreç içinde kullanılan teknikleri bir çok farklı şekilde sınıflandırılabilir. Bu sınıflandırmalar testin amacına, sistem bilgisine, yazılımın yaşam döngüsüne göre olabilir. Sınıflandırma yapmadan bu test tekniklerinden bazılarını açıklarsak;
Regresyon testi (Regression testing): Daha önceden yapılan testlerin sonucunu denetlemek için yapılan bir test türüdür. Amaç önceki testlerde bulunan sorunların giderilip giderilmediğini öğrenmektir.
Performans testi (Performance testing): Uygulamanın beklenmeyen zamanlarda beklenmeyen sayıda yüke verdiği tepkiyi ölçmek, uygulamanın ne kadar performanslı olduğunu ve uygulamada hangi noktalarda tepkinin yavaşladığını / tepkinin olmadığını denetleyen test türüdür. Yük testi olarak da bilinir.
Beyaz kutu testi (White Box testing): Genel anlamda kodun testidir. Uygulamanın kaynak kodu ve derlenmiş hali kodun içindeki akış denetimi ve koşullara göre test edilir.
Kara kutu testi (Black Box testing): Uygulamalarda en çok kullanılan test tekniğidir. Uygulama sadece derlenmiş kodu üzerinden test edilir ve bu teknikte yazılımın tasarımı veya kod hakkında bilgi sahibi olması gerekmez. Uygulamanın beklentilere ne ölçüde cevap verdiğine bakılır.
Birim testi (Unit testing): Testin ilk aşamalarındandır. Bu testte fonksiyonlar, metodlar, kod modülleri gibi kodun parça parça testi söz konusudur.
Tümleyim testi (Integration testing): Uygulamada farklı bileşen veya modüllerin birbiriyle uyum içinde çalışabilirliğini denetlemek içn yapılan testtir. İstemci / sunucu uygulamalarının testi bu tür teste örnek olarak düşünülebilir.