[发明专利]一种基于协议状态机的模糊测试脚本及测试引擎在审
申请号: | 201910201771.X | 申请日: | 2019-03-18 |
公开(公告)号: | CN110532162A | 公开(公告)日: | 2019-12-03 |
发明(设计)人: | 郭涛;李明柱;叶青 | 申请(专利权)人: | 信联科技(南京)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;H04L12/26 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210000 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 脚本 状态机模型 状态引导 测试引擎 定义状态 建立状态模型 协议状态机 状态机测试 被测设备 测试脚本 测试流程 测试平台 管理状态 模糊测试 数据库表 状态迁移 自动识别 定义表 语法 迁移 引用 测试 | ||
1.一种基于协议状态机的模糊测试脚本及测试引擎,其特征在于,包括以下模块,
状态机模型定义,所述状态机模型定义包括状态机模型定义元素、状态定义表和引用状态定义表;
所述状态机模型定义元素包括<model>、<state_machine>和<state>;
所述状态定义表包括表名:StateMachine;主键:TransitionID;外键:ProtocolID;说明:关联Protocol表与Script表;
所述引用状态定义表,将每个状态迁移的过程定义以后,Script表中的StateMachineScript字段内容则是引用StateMachine表中transition过程;
测试引擎状态引导执行,包括状态初始化、状态引导执行和监测脚本为空的处理;
状态监测机制,包括测试脚本和测试引擎。
2.根据权利要求1所述的一种基于协议状态机的模糊测试脚本及测试引擎,其特征在于,
所述<model>元素用于定义协议状态机模型框架,其下包括一个或多个<state_machine>元素;
所述<state_machine>元素定义了一个协议状态机,其属性包含状态机模型名称和初始状态,在<state_machine>元素下,采用<state>元素进行状态定义;
所述<state>元素用于定义一个状态迁移过程,其属性包含当前状态名称、迁移后的目的状态名称、迁移Action集,Action集包含<assign>、<send>、<recv>等元素。
3.根据权利要求1所述的一种基于协议状态机的模糊测试脚本及测试引擎,其特征在于,所述状态机初始化包括以下步骤,
步骤A1,对测试脚本进行初始化之前,先对状态引导脚本进行初始化;
步骤A2,状态引导脚本正则匹配;
步骤A3,解析状态引导脚本中的Channel、Action信息并存储。
4.根据权利要求1所述的一种基于协议状态机的模糊测试脚本及测试引擎,其特征在于,所述状态引导执行包括以下步骤,
步骤B1,监测脚本执行完成后,在正式测试执行前,先执行状态引导脚本;
步骤B2,如果状态引导脚本执行失败,测试平台将报异常终止测试。
5.根据权利要求1所述的一种基于协议状态机的模糊测试脚本及测试引擎,其特征在于,所述监测脚本为空的处理,当监测脚本为空时,若不含状态引导脚本,以测试脚本作为监测脚本使用向下兼容;如果包含状态引导脚本,则以状态引导脚本作为监测脚本。
6.根据权利要求1所述的一种基于协议状态机的模糊测试脚本及测试引擎,其特征在于,所述测试脚本,其中定义了变异数据包,同时也定义了回复包解析组件,因为不同的协议需要调用不同的组件,所以组件必须要在测试脚本中定义,并由测试引擎调用执行。
7.根据权利要求1所述的一种基于协议状态机的模糊测试脚本及测试引擎,其特征在于,所述测试引擎,判断状态机测试过程中调用回复包解析组件结果异常时自动重发送正常数据包探测被测设备状态;如果反馈的结果仍然与期望不符则引擎判定此时被测设备的协议状态已经失效;用户可根据实际测试需求选择终止测试,或者重新进行状态引导继续测试。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于信联科技(南京)有限公司,未经信联科技(南京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910201771.X/1.html,转载请声明来源钻瓜专利网。