Page 208 - 软件工程与项目管理
P. 208
软件工程与项目管理
Software Engineering & Project Management
在测试过程中不进行软件缺陷的改正,它首先确定安全性验证指标,并开发统计
测试剖面,然后确定验证测试用例数量,按照测试剖面产生测试用例。若执行测
试后的软件满足安全性测试指标,则表明该软件安全性达标,否则表明该软件安
全性不达标。
(二)嵌入式软件安全性测试方法
嵌入式软件的安全性测试方法包括基于故障树最小割集的方法和基于统计
测试的安全性测试方法。前者需要对软件安全性进行形式化描述,该过程十分复
杂,且该测试方法缺少衡量测试覆盖率的标准,即无法保证测试结果满足测试覆
盖率要求。后者在执行基于软件运行剖面的测试用例时,很难检测出引发软件系
统危险的代码问题,需要大量的测试用例和较长的测试时间,无法实现软件快速
增长。若能充分挖掘出每个嵌入式软件系统的危险项,并对危险项进行充分的安
全性测试,则不仅能够提高软件系统的安全性,而且能够极大提升软件的整体测
试效率。
1. 安全性测试的故障树模型分析
对嵌入式软件的安全性进行故障建模前,软件需求分析员需要详细分析软
件需求规格说明,采用功能性危险分析法分析软件系统中的不安全状态和可能
失效的关键状态,然后生成一张基于软件关键安全的故障事件表,并对该表中
的每个故障事件分别建立故障树。以某个软件系统危险失效作为顶事件,在对
系统中的所有故障树进行安全性分析之前,首先应该求出每个故障树的最小割
集。通过定性分析最小割集中各个功能模块失效对顶事件的影响,定义功能模
块的安全度。一般来讲,越低阶的故障事件安全度相对较高;同一故障事件出
现在不同的割集中,该事件的安全度较高;仅出现在同一个最小割集中的所有
故障事件安全度相等。
2. 安全性测试剖面生成
嵌入式软件的安全性测试是无法进行所有测试的,在软件中定义一些安全重
要功能模块,将这些功能模块的测试用例集合作为安全性测试的测试剖面,并从
统计学原理上分析评估测试剖面的测试结果,作为整个软件系统的总体安全性指
标。利用上述故障树分析方法找出了嵌入式软件系统中的安全重要模块,并定义
了每个模块的安全度。利用模块的功能失效及安全度来建立重要功能集合。重要
功能集合包含软件的功能失效模式及失效后对软件安全性的影响 2 个部分内容,
198
198

