Yazılım Test Süreci
Yazılım testleri olabildiğince en erken safhada başlamalıdır. Bunu önceki makalelerde de konuşmuştuk. Şimdi konuyu biraz daha ayrıntılı ele almak gerekirse; yazılım testi bir faaliyetten ziyade bir süreçtir aslında ve biz bu test süreçlerini 5 ana başlık altına alabiliriz. Peki nedir bu başlıklar?
1. Planlama ve Kontrol
2. Analiz ve Tasarım
3. Uyarlama ve Yürütme
4. Değerlendirme
5. Testi Sonlandırma
1.Planlama ve Kontrol ( Test Planning and Control )
Test sürecinin ilk aşaması tabi ki öncelikle yapacağımız işin planını tasarlamakla başlıyor. Yapacağımız testin amacını, testin kapsamını (neleri test edeceğimizi, neleri test etmeyeceğimizi) , test çıkış kriterleri, uygulayacağımız teknikler gibi yapacağımız testle alakalı birçok şeyi bu planda ele alıyoruz.
Bu planı oluşturmamızın en büyük sebeplerinden biri de, henüz projemize başlamadan bu planı belirleyip müşteri ile paylaşarak ortak bir çerçeve belirlemiş, karşılıklı olarak proje ile ilgili pek çok şeyi netleştirmiş oluyoruz. Böylece ilerleyen aşamalarda müşteri ile fikir ayrılıklarına düştüğümüzde, oluşturduğumuz bu plan sayesinde daha net bilgiler ile daha sağlıklı bir iletişim kurabiliriz.
Kontrol aşaması ise aslında tüm süreç boyunca ele alınan bir olaydır. Kontrol aşamasından gelen geri bildirimlere göre test planı revize edilebilir. Test planlama sürekli faaliyet gösteren bir aktivitedir.
2. Analiz ve Tasarım ( Test Analysis and Design)
Bu aşama bence sürecin en kritik adımı çünkü biz bu aşamada projeyi analiz edip testimizi tasarlıyoruz. Ve yaptığımız yanlışların sürecin bütün adımlarını etkilediğini düşünürsek, zaman ve maliyet açısından zarara uğramamak adına bu adımın çok önemli olduğunun farkına varabiliriz.
Test analiz aşaması “neyin test edileceği” , test tasarım aşaması ise “nasıl test edileceği” sorularına cevap vermemizi sağlar. Bir önceki aşamada gerçekleştirdiğimiz plandan da yola çıkarak gereksinimleri inceleyip projenin analizini yaparız. Bu aşamada test senaryolarımızı tasarlar ve test koşullarımızı belirleyip önceliklendirmesini yaparız. Test Ortamının tasarlanması, Test verilerinin belirlenmesi de bu aşamanın bir parçasıdır.
3.Uyarlama ve Yürütme (Test implementation and execution)
Bu adım aslında Yazılım Testini faaliyete geçirdiğimiz adımdır. Uyarlama ve yürütme aşaması için fiili çalışmanın yapıldığı temel test sürecidir diyebiliriz. Planlayıp analizini yaptığımız ve tasarladığımız testlerimizi bu adımda uygulamaya başlarız. Analiz aşamasında belirlemiş olduğumuz test verilerini, test koşullarını burada oluştururuz.
Testlerimizi gerçekleştirip beklenen sonuç ve gerçekleşen sonucu karşılaştırırız. Bulunan hataları raporlayıp Bug/Fix olayından sonra Retest ve Regresyon testlerimizi bu aşamada gerçekleştiririz.
Sınav için de bir dipnot düşecek olursak hangi adımda neyin belirlendiğine ya da oluşturulduğuna dikkat etmenizi öneririm. Çok karıştırıldığı için genelde sınav sorularında karşımıza çok çıkabiliyor.
4.Çıkış Ölçütleri ve Değerlendirme (Evaluating exit criteria and Reporting)
Bu aşama sonuçların değerlendirilmesini içerir. Planlama aşamasında yer verdiğimiz test çıkış kriterlerindeki hedeflere ulaşıp ulaşamadığımıza bakarak, testin sonlanıp sonlanmadığını ya da daha fazla teste ihtiyacımız olup olmadığına karar veririz. Bu süreçlerin sonunda da paydaşlar için bir test özet raporu hazırlarız.
5.Test Kapatma Faaliyetleri (Test closure activities)
Test süreçlerinin son aşamasıdır. Bu aşamada proje teslim edilir ve test bakım ekiplerine devredilir. Test ortamı, test verileri, test altyapısı daha sonra tekrar kullanılmak üzere arşivlenmelidir.