Güvenlik açısından kritik olması nedeniyle, test edilirken savunma yazılımına özel önem verilmelidir. Özünde risk yönetimi süreci yatmaktadır. Uygun risk tanımlama, risk değerlendirmesi ve risk azaltma süreci olmadan, yazılım test etme çabaları etkin ve verimli bir şekilde kullanılamaz. Bu nedenle, yazılım geliştirme yaşam döngüsüne risk tabanlı bir test yaklaşımı uygulanmalı ve benimsenmelidir. Savunma yazılımının uygun ve titiz işlevsel testine ek olarak, aşağıdaki işlevsel olmayan nitelikler test stratejisinde ve/veya test planında ele alınmalıdır:
Bu nitelikler nedeniyle, bu tür sistemlere bazen RAMS sistemleri denir.
Güvenilirlik Testi
Güvenilirlik testinde, savunma yazılımının belirli koşullar altında kullanıldığında belirli bir performans seviyesini koruma yeteneği test edilir. ISO 25010’a göre güvenilirlik testi aşağıdakilere ayrılabilir:
Sürdürülebilirlik Testi
Sürdürülebilirlik testinde, belirli değişiklikleri yapmak için gereken çabaya dayanan bir dizi özellik test edilir. Sürdürülebilirlik testi ayrıca aşağıdakilere ayrılabilir:
Yukarıdaki listede test edilebilirlik, test otomasyonunda önemli bir başarı faktörüdür. Zayıf test edilebilirlik, test otomasyon çalışmalarında başarısızlıklara neden olur. Araç etkileşimine odaklanan otomatikleştirilebilirliğin yanı sıra, test edilebilirlik insan etkileşimi ve test etmeye odaklanır. Daha önce de belirtildiği gibi, test edilebilirlik, geliştiricilerin kodlama becerileri ve temiz kod ile doğru orantılıdır. Bazı teknolojiler, araç desteği ve kullanılabilirliği nedeniyle diğerlerinden daha fazla test edilebilir. Testi desteklemek için belirli özellikler eklenerek test edilebilirlik artırılabilir.
Güvenlik Testi
Güvenlik testi, savunma yazılımının güvenlik politikasını tehlikeye atmaya çalışarak bir sistemin tehditlere karşı savunmasızlığını değerlendirir. Güvenlik testi daha da ayrılabilir:
Savunma Yazılımı Testi