[发明专利]一种面向状态协议实现软件的模糊测试方法无效
申请号: | 201110056095.5 | 申请日: | 2011-03-09 |
公开(公告)号: | CN102087631A | 公开(公告)日: | 2011-06-08 |
发明(设计)人: | 张博锋;赖志权;吴逸伦;乔林波;王勇军;解培岱;李美剑 | 申请(专利权)人: | 中国人民解放军国发科学技术大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/00 |
代理公司: | 湖南省国防科学技术工业办公室专利中心 43102 | 代理人: | 冯青 |
地址: | 410073 *** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 状态 协议 实现 软件 模糊 测试 方法 | ||
1.一种面向状态协议实现软件的模糊测试方法,其特征在于,包括以下步骤:
1)捕获目标状态协议实现软件的正常交互流量;
2)从捕获流量中识别和提取协议交互消息以及消息交换过程,最终生成一定格式的协议脚本文件;
3)遍历目标程序协议状态机,产生准备变异的正常测试用例;
4)将正常测试用例变异生成畸形测试用例,执行模糊测试。
2.根据权利要求1所述的一种面向状态协议实现软件的模糊测试方法,其特征在于,步骤1)捕获目标状态协议实现软件的正常交互流量的方法包括:
1.1)把目标程序和与之通信的客户端(或服务端)安装在真实或模拟的环境中,建立网络环境,保证能与目标正常通信,并且功能正常;
1.2)在目标程序通信的接口处,开启网络嗅探和抓包工具,准备捕获目标程序的正常通信流量;
1.3)发起与目标程序的正常通信,并尽可能全面地遍历目标程序的各种功能,保证捕获的流量包括目标程序的所有功能状态。
3.根据权利要求1所述的一种面向状态协议实现软件的模糊测试方法,其特征在于,步骤2)从捕获流量中识别和提取协议交互消息以及消息交换过程,最终生成一定格式的协议脚本文件,具体包括:
2.1)从通信流量中确定目标程序通信的协议、端口信息,并记录在脚本文件中;
2.2)提取目标程序通信消息。从通信流量中提取目标程序通信的内容,以传输层报文为单位,我们把一个报文定义为一个消息,并对这些消息进行编号,内容相同的消息被看作是同一个消息;这些消息内容记录在脚本文件中;
2.3)提取目标程序消息通信状态机。按照通信流量中,目标程序消息通信的过程,建立目标程序协议状态机;状态机从初始状态开始,以消息交互为条件驱动状态迁移,消息交互产生新的状态;把状态机以一定形式记录在脚本文件中。
4.根据权利要求1所述的一种面向状态协议实现软件的模糊测试方法,其特征在于,步骤3)遍历协议状态机,产生准备变异的测试用例的方法包括:
3.1)使用程序读取目标程序协议状态机脚本文件,并解析成程序内部的状态机;
3.2)从状态机的初始节点开始,遍历以初始节点为开始节点的所有路径,得到的每一条路径就是一个待变异的正常测试用例;
3.3)在状态机遍历过程中,如果出现环路,为避免遍历过程无休止进行,通过设置一个最长的路径长度来解决对环路的遍历。
5.根据权利要求1所述的一种面向状态协议实现软件的模糊测试方法,其特征在于,步骤4)变异生成畸形测试用例,执行模糊测试的方法包括:
4.1)对步骤3)中遍历状态机获得的正常测试用例进行变异,生成畸形测试用例;
4.2)把4.1)中生成的畸形测试用例逐个输入给目标程序,并观察目标程序的运行状态,如果目标程序出现异常,则生成异常报告提交给测试人员做进一步的分析。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国发科学技术大学,未经中国人民解放军国发科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110056095.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种治疗骨折的中药
- 下一篇:操作设备、电子设备、图像处理装置及操作方法