基于嵌入式软件的覆盖测试技术研究
【摘要】:
随着嵌入式软件的广泛应用,嵌入式软件的结构和开发技术日新月异,相对于硬件的日益稳定,软件故障却经常出现。为了保证软件的质量,需要对软件进行测试。由于嵌入式软件的自身特点,例如实时性、内存资源有限、开发工具昂贵等,使得嵌入式软件测试和普通软件测试不同。
为了节约系统资源,在测试中生成较少的测试用例,本文采用了基于全局支配图的优化算法,在建立局部支配图的基础上,采用基于程序的嵌套循环树来优化程序的控制流图,经过该优化后,避免了产生过多冗余的测试用例。同时,该算法也可以用于减少程序的插装位置。在大型软件中,目录下面的文件较多,一一进行覆盖比较繁杂,本文提出一种解决批量插装的方法,首先读取目录下的文件,产生makefile文件,然后利用gnu系列的make工具进行自动插装,从而解决了批量插装的问题。
由于不能把所有的测试都放在目标机上运行,这样会挤占有限的系统资源,这就需要交叉测试,本文采用开源工具gcc以及gcov,进行了测试环境的搭建,利用上面的算法对其进行了改进,采用了skyeye来仿真硬件环境,通过设置一个发送进程,一个接受进程,解决了宿主机和目标机之间的数据传输问题。