Page 209 - 软件工程与项目管理
P. 209
第六章 项目计划与控制
主要用于调整软件统计测试的功能剖面。
嵌入式软件安全性测试剖面的生成过程如下:第一,生成嵌入式软件中所
有原始的功能剖面和运行剖面,这些原始剖面通常基于统计测试剖面完成;第二,
从上述原始的功能剖面中提取重要功能集合,调整重要功能集合中软件功能发生
的概率值,生成软件安全性测试的功能剖面,软件安全性测试的功能剖面通过输
入一系列输入变量完成重要功能集合中软件功能的实现;第三,软件安全性测试
的运行剖面定义了上述一系列输入变量的取值范围,并统计了输入变量在取值范
围内的概率分布,由输入变量的取值及它的概率分布,生成软件安全性测试的运
行剖面;第四,安全性测试剖面是一组运行及它们的概率组合,将重要功能集合
中不同软件功能下相同的运行剖面软件功能发生的概率值进行相加合并,得到完
整的软件安全性测试剖面。基于安全性测试的故障树分析模型建立的软件重要功
能集合含有 6 项重要功能,这 6 项功能又分别有各自的功能剖面。
3. 安全性测试用例生成
嵌入式软件安全性统计测试用例的生成由在软件安全性测试剖面中挑选所
需要的运行和根据软件运行输入变量的取值范围 2 个部分组成。通过 2 次随机抽
样取值确定其输入值。在对软件运行的输入变量取值进行随机抽样时,若为离散
型输入变量,应在输入变量的取值集合中根据概率分布进行抽样;若为连续型输
入变量,应在输入变量的取值范围内按照概率密度函数进行抽样。完成对上述运
行和输入变量取值的随机抽样工作后,生成该软件功能的安全性测试数据。该测
试数据作为安全性测试用例,用于测试被选定的软件功能。按照上述方法和步骤
不断进行随机抽样和测试数据的生成,直到产生所需数量的嵌入式软件安全性测
试用例。
(三)嵌入式软件安全性测试流程
嵌入式软件安全性测试流程分为以下几个步骤:第一,安全性需求获取。
基于功能性危险分析技术识别软件系统中各个功能的危险状态和危险级别,进一
步分析软件各个失效模式的产生原因及危险影响,生成软件的安全性需求。第二,
安全性测试剖面生成。利用故障树分析方法找出嵌入式软件系统中的安全重要模
块,基于统计测试剖面方法提取安全性测试的功能剖面,由输入变量的取值及它
的概率分布生成安全性测试的运行剖面,最终生成安全性测试剖面。第三,测试
用例生成。测试用例是对每个运行和输入变量取值的随机抽样后生成的,并且认
199
199

