基于路径覆盖的嵌入式软件动态测试研究
2.3 数据处理及分析
目标机在真实环境中运行可执行程序,测试用例集T为运行输入参量,探针采集数据为运行的输出参量。探针函数采集动态跟踪测试数据,传输给宿主机测试平台。宿主机测试平台对接收到的动态跟踪数据进行处理,计算出路径测试覆盖率,并结合数据处理过程中的测试日志分析出最后的测试报告。
3 测试实例分析
根据上述的嵌入式软件动态测试框架,模拟测试实验室现行项目208型海区终端的航标数据采集模块。
在编译器MPLAB IDE 8.63中编写源代码,并对源代码进行规则检查。图2为航标数据采集模块的主控程序流程图,可将其简化为程序控制流图。本文引用地址:http://www.amcfsurvey.com/article/148015.htm
该航标数据采集模块由C语言开发,根据插桩策略可以计算出插桩探针的位置、个数,构造基本路径和实际程序执行路径,计算路径测试覆盖率。部分测试结果分析如表1所示。
基本路径测试覆盖率PCP:
基本路径测试覆盖率大小涉及到测试的各个阶段,受到各方面因素的影响。比如,在该测试模块中,Rx_Data_Svr()和AddataConvert()程序中出现了多个判断语句和多个循环语句,可能的路径数目增长,以致影响路径覆盖率。
4 结语
本文通过研究嵌入式软件测试的特点和路径覆盖测试的相关理论,给出了嵌入式软件动态测试框架方案。并结合实验室目前的项目,分析基本路径测试的各个步骤,得出路径测试覆盖率,进而达到测试目的。但是路径覆盖测试受多方面因素的影响,尤其是当程序中出现多个复合条件时,会大大的增加可能的路径数目,所以接下来的工作是进一步探讨插桩策略、测试用例生成等影响路径覆盖率的相关问题。
评论