[发明专利]一种基于动态符号执行的分布式自动测试案例生成方法有效
申请号: | 201510559331.3 | 申请日: | 2015-09-06 |
公开(公告)号: | CN105117341B | 公开(公告)日: | 2017-11-17 |
发明(设计)人: | 郭文生;桑楠;雷航;秦小凤;徐栋;汪勇;李明 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 电子科技大学专利中心51203 | 代理人: | 詹福五 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 该发明属于软件测试案例自动生成技术领域中的一种基于动态符号执行的分布式自动测试案例生成方法。包括测试设备配置,被测程序的预处理,路径约束条件的提取,测试案例的自动生成。该发明由于将被测程序与测试案例自动生成工具分离。该发明由于使被测程序在测试中可在真实平台上运行,因此所收集到的路径约束条件是遵循程序本身的语义且准确,也有助于对复杂数据结构进行分析处理,进而提高测试的可靠性和有效性,并可同时为多个被测程序进行测试及提供多种并行的多种路径选择方法;因而,本发明具有让被测程序真实平台上运行、其可行性高,可同时进行多个测试,且有效提高了测试的可靠性、准确性和测试效率,测试工具的利用率高等特点。 | ||
搜索关键词: | 一种 基于 动态 符号 执行 分布式 自动 测试 案例 生成 方法 | ||
【主权项】:
一种基于动态符号执行的分布式自动测试案例生成方法,包括:步骤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发送、以结束本次测试。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510559331.3/,转载请声明来源钻瓜专利网。
- 上一篇:帐篷及其屋檐杆的安装结构
- 下一篇:一种终端及其CPU或内存的状态检测方法