Yazılım geliştirirken sebepleri ve kaynağı değişmek ile birlikte hataların olması kaçınılmazdır. Çalışılan projenin türüne göre hataların doğuracağı sorunlar değişkenlik gösterir. Örneğin bankacılık/finans uygulamasında yapılan küçük bir hata çok büyük miktarlarda para kaybına yol açabilecekken, bir savunma sanayi yada havacılık projesinde küçük bir hata mal kaybının yanı sıra can kaybına da neden olabilir. Bunlar haricinde yazılım ile beraber testlerinin de yapılmasını diğer nedenleri,
- Müşteriye sunulmadan önce ürün kalitesinden emin olmak,
- Yeniden kullanılabilirlik ve geliştirme masraflarını azaltmak,
- Müşteri memnuniyetini arttırmak
gibi amaçlardır.
- Birim (Unit) Testi
- Entegrasyon (Integration) Testi
- Fonksiyonellik (Functional) Testi
- Güvenlik (Security) Testi
- Onay-Kabul (Acceptence) Testi
- Stres (Stress) Testi
- Kullanılabilirlik (Usability) Testi
- Performans (Performance) Testi