软件测试在面向安全的软件开发过程中的作用。它侧重于两个相关主题:软件功能安全测试和基于风险的安全测试。软件功能测试旨在确保软件按其应有的方式运行。因此,它主要基于软件需求。基于风险的测试以软件风险为基础,每个测试都旨在探查先前通过风险分析确定的特定风险。
安全测试的商业案例
从技术和项目管理的角度来看,执行安全测试活动主要是为了验证系统是否符合安全要求并识别系统内潜在的安全漏洞。从业务角度来看,进行安全测试活动通常是为了降低整体项目成本、保护组织的声誉或品牌、减少诉讼费用或符合法规要求。
在产品部署之前识别和解决软件安全漏洞有助于实现这些业务目标。安全测试活动是一种用于识别和解决安全漏洞的方法。不幸的是,在某些组织中,这是用于识别安全漏洞的唯一方法。
了解安全测试活动的高级好处相对容易理解。然而,从历史上看,获得安全测试活动的真正成本效益一直是一项艰巨的任务。
软件测试和质量保证社区在识别进行测试以尽早和经常识别软件错误的成本收益方面做得非常出色。如果认为安全漏洞也是软件缺陷的一种形式,那么安全测试也可以得出同样的结论。在 QA 社区的同时,安全行业和执法社区一直在编制有关过去十年安全事件成本的统计数据。这两个社区收集的信息有助于了解安全测试的业务案例。
结论
软件安全测试的总体目标是减少软件系统中的漏洞。如上所述,这些漏洞如果在部署之前没有暴露出来,至少需要额外的技术故障排除和开发工作来修复。解决这些漏洞的成本影响很容易评估。然而,在最坏的情况下,安全漏洞会对公司的声誉或品牌产生不利影响,导致销售损失或诉讼,并严重影响企业的财务状况。
在整个软件开发生命周期中实施安全最佳实践的组织都明白,尽早解决问题可以节省成本。安全测试是一项用于减少这些漏洞和控制未来潜在成本的活动。