TESTİN 7 PRENSİBİ

Nurşen Bozkurt
BilgeAdam Teknoloji
2 min readDec 23, 2019

Yazılım firmaları başta olmak üzere üretim yapan firmaların neredeyse tamamı mutlaka ürünlerini test eder. Testler kalite, maliyet ve zaman dengesini korumamız için çok önemlidir. Hangimiz bozuk ürün üreterek adımızı lekelemek isteriz ki???

Test projenin en önemli aşamalarından biridir. Bu nedenle son 50 yıldır test üzerine önemli çalışmalar yapılmaktadır. Bu süreçte de 7 önemli prensip kabul görmüştür.

Peki test yaparken dikkate almamız gereken bu 7 prensip nedir?

1.Testler Hataların Varlığını Gösterir

Testler hataların bulunduğunu gösterebilir, ancak hata olmadığını ispatlayamaz. Test, yazılımda kalan keşfedilmemiş hataların olasılığını azaltır; ancak herhangi bir hata bulunmasa bile, bu yazılımın doğru olduğunun bir kanıtı değildir. Yani ne kadar test edersek edelim bir yerlerde bir hata olabilir.

2. %100 Test Mümkün Değildir

Her şeyi tamamen test etmek imkansızdır. Tüm kombinasyonları deneseniz de gözden kaçırdığınız bir nokta olabilir. Bu yüzden odak noktası olarak risk analizi ve önceliklendirme yapılması gereklidir. Önce neyi test etmemiz gerektiğini, nereden başlamamız gerektiğini bilmemiz gerekir.

3. Erken Test Etmek Gerekir

Bence prensiplerin en önemlisidir. Doktorların da dediği gibi erken teşhis hayat kurtarır.

Teste yazılım geliştirme sürecinin başında başlamak gerekir. Yazılımı geliştirme hayat döngüsünün başlangıcıyla birlikte test etmek maliyeti ciddi derecede düşürecektir. Bir taraftan adım adım ürün geliştirirken bir taraftan da sağlamasını yapmak gerekir.

4. Arıza Kümülenmesi

Yapılan araştırmaların da doğruladığı üzere yazılımda hatalar birbirine yakın bölgelerde yoğunlaşır. Bu hatalarla ya belli modüllerde ya da belli kişilerin yazdığı kısımlarda karşılaşılır. Genel olarak hataların %80’i, tüm yazılımın %20’sini kapsar. Yani ipin ucunu yakaladınız mı bırakmayın.

5. Pesticide Paradoksu (Antibiyotik Direnci)

Test senaryolarının belirli aralıklarla güncellenmesi ve revize edilmesi gerekir. Bunun yanında yazılımın farklı ve daha önce test edilmemiş parçalarını test ederken yeni test senaryolarının hazırlanması, yeni test tekniklerinin kullanılması, farklı bir gözle bakılması yazılımda daha fazla hatanın tespitine olanak sağlar. Bir hata üzerinde sürekli aynı test tekniğini uygulamak, hastaya sürekli aynı tedaviyi uygulamak gibidir. Oysa onu iyileştirmek için tedaviyi değiştirmek gerekebilir.

6. Test İçeriğe Göre Değişir

Test farklı bağlamlarda farklı yapılır. Farklı yazılımlar için farklı test teknikleri kullanılmalıdır. Örneğin, güvenlik açısından kritik olan yazılımlar, bir e-ticaret sitesi için tasarlanan yazılımdan farklı şekilde test edilir.

7. Hatasızlık Algısı

Testte tespit edilen hataların düzeltilmiş olması, yazılımın müşteri/kullanıcı ihtiyaçlarını tam, eksiksiz ve doğru karşılıyor olduğu anlamını taşımaz. Testi yaptınız, hatayı yakaladınız sonra da düzelttiniz. Peki bitti mi? Tabi ki bitmedi. Test etmeye devam…

--

--