"The driving test" olarak geçen ve test nediri açıklamak üzere kullanılan bir benzetmedir. Test klasik olarak sadece bir değerlendirme yani "OK" etiketini yapıştırma değil daha detaylı bir tanım gerektirir. Bir bilgi birikimi ve referans noktalarına dayanarak "işte hatayı buldum!" denilebilir. Diğer boyutuyla yazılım sürecinde küçük bir heycandan öteye gitmeyen aktiviteler topluluğu olur. Bunun sonucunda ise test grupça ve birey olarak değerini kaybeder ve "yalnızlaştırılır".
Nedir
Eğer sürücü çeşitli yolları deneyerek bir rotayı takip eder ve çeşitli manevralar yaparak rotasını güvenli bir şekilde tamamlar ise sürücü testi başarılıdır denir.
Sürüş sırasında rotanın tamamlanmasına engel olabilecek tek bir ciddi hata tüm sürüşün başarısız olmasına sebep olur fakat sürüş sırasında birçok küçük hata şürüşün başarılı sayılmasına engel değildir. Yazılım testi açısından bakıldığında, yazılım birçok küçük hatalar olabilir hatta bunları bulmak uzman test mühendisleri için dahi zor olabilir, yazılım testi bu tip hatalardan ziyade yazılımın konusuna ve önemine göre dikkat alınacak olan ciddi hataların bulunması ve raporlanması olarak açıklanabilir.
Hatalardan tamamen ayıklanmış bir yazılım sadece hayal ürünüdür fakat hataların kontrol edildiği, risk değerlendirilmesi yapıldığı ve raporlandığı test anlayışı daha uygulanabilir bir test anlayışıdır.
ISTQB’ye Göre Test
Sürücü benzetmesinden yola çıkarak testin tanımını ISTQB aşağıdaki gibi 6 farklı başlık altında değerlendirir.
1. Proses (process)
Test tek bir aktiviteden ziyade bir süreçtir. Belli kaideleri vardır ve herbir olgu bu kurallar içinde değerlendirilir. Sürecin kalitesi aslında işletilen testin de kalitesini verir. Test kalite içerisinde en önemli başlıktı fakat test bir süreç dahilinde işletiliyorsa.
2. SLDC boyunca Test Yapılır
Test sadece geliştirme tamamlandıktan sonra yapılan ve burada biten bir activite değil SDLC’nin her bir evresinde değişik test tipleri işletilerek yazılım sürecine katkıda bulunulur. Unutmayınızki iyi SDLC’nin erken evrelerinde bulunan hatalar kolay çözülebilir ve daha düşük maliyetler harçanır.
3. Statik (static) ve Dinamik (dynamic) testler vardır
Test sadece kara kutu (black box) değil aynı zamanda beyaz kutu (white box) ve gri kutu (gray box) testleride kapsamaktadır. Testin alanı sadece ekran karşısından bilenin fonksiyonların doğru çalışmasını kontrol etmek değil ilerde değinileceği gibi daha geniş bir kapsamı vardır.
4. Planlama (planning)
Test planı teste hazırlık kısmında yapılır ve buna bağlı kalmak şarttır.
5. Hazırlanma (preparation)
Testle ilgili herşey bu evrede hazırlanır ve teste başlama kriterlerinin (start enterance criteria) oluşmasıyla teste başlanır. Test sonlandırma kriterleri (test exit criteria) ile de test sonlandırılır.
6. Değerlendirme (eveluation)
Test sonladırılması ile test sonuçları değerlendirilir.
Yalnızlaştırılmak
Test grubuna yeterli önemin verilememesi veya test grubunun henüz rüştünü ispat edememesi sonucunda yazılım geliştirme sürecine dahil edilmemesi anlamına gelir. Peki test yapması için maaş ödenen mühendisler neden sürece dahil olmamasına rağmen varlığıu devam eder. Buda basittir: çünkü kimse test grubunun aldığı sorumluluğu almak istemez. Herkes başarı durumunda "ben de burdayım" diyebilir fakat çatlak-patlak durumunda kimse "o hatade benimde katkım oldu" demez, diyebilemez.