发明名称 一种针对嵌入式软件的测试用例自动化生成装置及其方法
摘要 本发明公开了一种针对嵌入式软件的测试用例自动化生成装置及其方法,属于软件测试技术领域,包括符号执行核心模块、路径选择模块、求解器、调试器、实际执行核心模块和调试代理模块。被测试软件、测试用例通过调试器和调试代理从主机系统上传到嵌入式系统;实际执行核心模块启动被测软件,符号执行核心模块通过调试器获取被测软件的运行时信息,当被测软件操作符号源时,符号执行核心模块标记符号源、跟踪符号传播、产生路径条件,并将路径条件发送到路径选择模块,再将修改后的路径条件发送给求解器;如果存在解,则产生相应的测试用例。本发明能够自动产生嵌入式软件的测试用例。不需要被测软件的源码便可处理商用软件。
申请公布号 CN104063325A 申请公布日期 2014.09.24
申请号 CN201410329276.4 申请日期 2014.07.11
申请人 电子科技大学 发明人 陈厅;张小松;王东;陈瑞东;牛伟纳;汪小芬
分类号 G06F11/36(2006.01)I 主分类号 G06F11/36(2006.01)I
代理机构 成都华典专利事务所(普通合伙) 51223 代理人 徐丰
主权项 一种针对嵌入式软件的测试用例自动化生成装置,其特征在于,包括以下器件:主机系统:运行符号执行部分;嵌入式系统:运行实际执行部分;符号执行核心模块:标记符号源、跟踪符号传播、产生路径条件、运行时维护被测软件的执行树;路径选择模块:运行路径选择算法;求解器:判断路径条件是否满足,如果不满足则表示对应的路径不可行,如果满足,产生一组赋值,这组赋值被解释为新的测试用例,该测试用例能够覆盖路径条件对应的路径;测试用例选择器:从测试用例池中选择一个测试用例,作为被测试软件的输入;调试器:是主机系统上唯一与嵌入式系统通信的模块,负责从符号执行核心模块接收被测软件与命令,从测试用例选择器接收测试用例,发送命令、被测软件、测试用例到嵌入式系统,从嵌入式系统接收被测软件运行时信息再发送给符号执行核心模块;中间语言翻译模块:将机器指令翻译为中间语言,根据符号执行核心模块能够处理的中间语言类型和机器指令类型来选择;实际执行核心模块:负责实际执行部分的主要功能,包括:启动和停止被测软件、设置断点、单步调试、继续执行被测软件、获取指定寄存器和内存的值;调试代理模块:是嵌入式系统上唯一与主机系统通信的模块,负责将命令重定向到实际执行核心模块,发送被测软件的运行时信息到主机系统;被测试软件、测试用例通过调试器和调试代理从主机系统上传到嵌入式系统;所述实际执行核心模块启动被测软件;符号执行核心模块通过调试器获取被测软件的运行时信息,当被测软件操作符号源时,符号执行核心模块完成符号源的标记工作并跟踪符号传播,产生路径条件,再将路径条件发送到路径选择模块,路径选择模块根据路径选择算法构造一条或者多条路径条件,再将其发送给求解器;求解器将输入的路径条件求解,如果存在解,则产生相应的测试用例,并全部存放到主机系统上的用例池中。
地址 610000 四川省成都市高新西区西源大道2006号