軟件測試在面向安全的軟件開發過程中的作用。它側重于兩個相關主題:軟件功能安全測試和基于風險的安全測試。軟件功能測試旨在確保軟件按其應有的方式運行。因此,它主要基于軟件需求。基于風險的測試以軟件風險為基礎,每個測試都旨在探查先前通過風險分析確定的特定風險。
安全測試的商業案例
從技術和項目管理的角度來看,執行安全測試活動主要是為了驗證系統是否符合安全要求并識別系統內潛在的安全漏洞。從業務角度來看,進行安全測試活動通常是為了降低整體項目成本、保護組織的聲譽或品牌、減少訴訟費用或符合法規要求。
在產品部署之前識別和解決軟件安全漏洞有助于實現這些業務目標。安全測試活動是一種用于識別和解決安全漏洞的方法。不幸的是,在某些組織中,這是用于識別安全漏洞的唯一方法。
了解安全測試活動的高級好處相對容易理解。然而,從歷史上看,獲得安全測試活動的真正成本效益一直是一項艱巨的任務。
軟件測試和質量保證社區在識別進行測試以盡早和經常識別軟件錯誤的成本收益方面做得非常出色。如果認為安全漏洞也是軟件缺陷的一種形式,那么安全測試也可以得出同樣的結論。在 QA 社區的同時,安全行業和執法社區一直在編制有關過去十年安全事件成本的統計數據。這兩個社區收集的信息有助于了解安全測試的業務案例。
結論
軟件安全測試的總體目標是減少軟件系統中的漏洞。如上所述,這些漏洞如果在部署之前沒有暴露出來,至少需要額外的技術故障排除和開發工作來修復。解決這些漏洞的成本影響很容易評估。然而,在最壞的情況下,安全漏洞會對公司的聲譽或品牌產生不利影響,導致銷售損失或訴訟,并嚴重影響企業的財務狀況。
在整個軟件開發生命周期中實施安全最佳實踐的組織都明白,盡早解決問題可以節省成本。安全測試是一項用于減少這些漏洞和控制未來潛在成本的活動。