(5)路径覆盖率计算:由基本路径集BP设计测试用例集T,使T理论上按BP执行。然后分析动态跟踪数据,构造实测路径集Pn。计算测试覆盖率PCP=(Pn/BP)×100%其中Pn=P(T1)P(T2)…P(Tn)。

2、 嵌入式软件动态测试框架

嵌入式软件动态测试框架如图1所示。它包含宿主机程序插桩及数据处理分析和目标机数据处理两部分。

通过嵌入式软件实现路径覆盖测试的设计方案研究

在嵌入式软件测试中,静态测试是基础,对被测软件进行代码规则检查、静态结构分析和代码质量评估;动态测试是必要补充,在目标机真实环境下或仿真环境下运行被测程序,采集动态跟踪数据,分析其动态行为。

嵌入式软件路径覆盖测试的特点就是必须在交叉编译环境下,通过物理通道传输完整的动态测试跟踪数据,分析数据后得到路径覆盖率。动态执行前先要检查目标机与宿主机的连接状况,确保测试正常进行。

2.1 被测试程序静态分析

静态分析并不真正执行被测程序,也不需要对代码进行编译链接,生成可执行文件。首先,对源码进行词法语法分析和变量分析,找出不符合编码规范的地方,根据某种质量模型评价代码的质量,生成模块调用关系图、模块的程序流程图等。其次,从程序中提取必要的数据并保存,提供给后续的动态分析和测试报告使用。最后,根据模块的程序流程图绘制程序控制流图G,得到程序控制流图的边数E和节点数N,指导插桩库的建立,并根据Z路径优化法构造程序的基本路径集BP,构建动态路径覆盖测试的比较基础。