[发明专利]一种基于动态符号执行的分布式自动测试案例生成方法有效
申请号: | 201510559331.3 | 申请日: | 2015-09-06 |
公开(公告)号: | CN105117341B | 公开(公告)日: | 2017-11-17 |
发明(设计)人: | 郭文生;桑楠;雷航;秦小凤;徐栋;汪勇;李明 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 电子科技大学专利中心51203 | 代理人: | 詹福五 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 动态 符号 执行 分布式 自动 测试 案例 生成 方法 | ||
1.一种基于动态符号执行的分布式自动测试案例生成方法,包括:
步骤1.测试设备配置:采用带操作系统的微机、小型机作为预处理机,带有CPU、内存和数据通信接口及操作系统的嵌入式设备作为被测程序运行装置,采用带操作系统的服务器作为测试案例自动生成装置;预处理机与被测程序运行装置及服务器之间、被测程序运行装置与服务器之间均分别通过通信接口连接,待用;
步骤2.被测程序的预处理:当预处理机收到被测程序后,首先采用动态符号执行技术对被测程序中确定路径的参数变量进行符号化标识,再对格式化的中间代码进行插桩处理并在程序的每个语句前插入符号执行函数的同时提取程序的分支信息、控制流图信息,然后将插桩处理后的被测程序交叉编译成被测程序运行装置所运行操作系统平台的可执行文件,最后将可执行文件发送给被测程序运行装置、将程序的分支信息和控制流图信息发送给测试案例自动生成装置;
步骤3.路径约束条件的提取:被测程序运行装置在收到步骤2发送来的可执行文件后,执行可执行文件并提取路径约束条件;
3-1.首先提取被测程序运行设备的操作系统平台基本数据类型的长度参数和包括本次测试的被测程序名、测试类型,最大运行次数、路径选择方法在内的测试参数,发送给测试案例生成装置以执行步骤4、并转步骤3-2;
3-2.运行从步骤2所得可执行文件,首次运行的测试案例由步骤2插入到可执行文件中的符号执行函数的处理符号输入语句函数自动随机生成,然后转3-3;
3-3.在可执行文件运行过程中利用步骤2插入到程序中的符号执行函数收集执行路径的路径约束条件,并将所得路径约束条件发送给测试案例生成装置以执行步骤4、并转步骤3-4;
3-4.接收步骤4测试案例自动生成装置发来的新的测试案例,然后转3-3重新运行可执行文件,直至收到步骤4发出的终止信号、退出程序运行;
步骤4.测试案例的自动生成:
4-1.测试案例自动生成装置首先对由步骤2预处理机发来的程序分支信息和控制流图进行缓存,再对被测程序运行装置中步骤3-1发送来的被测程序运行装置的操作系统平台基本数据类型的长度参数和包括本次测试的测试参数进行测试案例自动生成参数的配置,然后转4-2;
4-2.对被测程序运行装置中步骤3-3发送来的路径约束条件进行缓存,再对路径约束条件进行格式化处理成SMT标准格式,然后并行调用SMT求解器以生成测试案例;
4-3.将步骤4-2所生成测试案例发送给被测程序运行装置执行步骤3-4,并转4-4;
4-4.判定测试案例数量如果未达到最大次数且约束条件格式化处理及并行处理状态为真则转步骤4-2;如果达到最大运行次数则设置终止信号为真,并向被测程序运行装置中的步骤3-4发送、以结束本次测试。
2.按权利要求1所述基于动态符号执行的分布式自动测试案例生成方法,其特征在于在步骤1中所述带操作系统的预处理机,其操作系统包括Windows或Linux、Mac OS;所述被测程序运行装置,其操作系统包括Linux或uClinux、WinCE的嵌入式操作系统;而所述测试案例自动生成装置,其操作系统包括Windows、Linux。
3.按权利要求1所述基于动态符号执行的分布式自动测试案例生成方法,其特征在于步骤2中所述插入符号执行函数,插入的符号执行函数为处理符号输入语句的函数,处理赋值语句函数,处理条件语句函数和含调用函数、返回函数、处理返回值函数在内的处理函数调用语句函数。
4.按权利要求1所述基于动态符号执行的分布式自动测试案例生成方法,其特征在于在步骤3-1中所述最大运行次数由按要求设定的分支覆盖度确定。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510559331.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:帐篷及其屋檐杆的安装结构
- 下一篇:一种终端及其CPU或内存的状态检测方法