[发明专利]基于模型检测的分布式测试脚本的生成方法与生成系统有效
申请号: | 201710606329.6 | 申请日: | 2017-07-24 |
公开(公告)号: | CN107579871B | 公开(公告)日: | 2020-05-01 |
发明(设计)人: | 姚姜源;王之梁;施新刚;尹霞;李崇荣 | 申请(专利权)人: | 清华大学 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L12/24;H04L1/24 |
代理公司: | 北京聿宏知识产权代理有限公司 11372 | 代理人: | 吴大建;张杰 |
地址: | 100084 北京市海淀区1*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 模型 检测 分布式 测试 脚本 生成 方法 系统 | ||
本发明公开了一种一种基于模型检测的分布式测试脚本的生成方法与生成系统,其中,该生成方法包括,构建与网络通信协议的规范相适应的形式化模型以及约束;利用模型检测工具探索所述形式化模型的状态空间,如果存在对所述约束的违反,则由模型检测工具生成并输出与该违反对应的反例;对所述反例进行解析,以获取所述反例中的进程列表与消息序列;根据所述进程列表与所述消息序列生成分布式测试脚本。该方法实现了对网络通信协议的分布式测试,有利于提高网络通信协议测试的准确性。
技术领域
本发明属于网络协议测试技术领域,具体地说,尤其涉及一种基于模型检测的分布式测试脚本的生成方法与生成系统。
背景技术
协议测试技术是保证网络通信协议能够正确实现,以及不同的网络设备之间实现正确互连的重要手段。一致性测试是基本的协议测试方法,其主要用于检测协议的实现是否与协议的规范相一致。
基于模型检测的测试生成是这一领域中的重要问题,其主要是基于模型检测来发现协议规范中存在的错误,生成用于测试活动的测试集(或测试脚本)。在大多数已提出的基于模型检测的测试生成技术中,其基本思想是根据协议规范建立形式化模型,使用模型检测工具查找模型中存在的错误,进而生成对应的测试集。
现有技术中基于模型检测的测试生成方法仅考虑集中式测试的架构,即测试系统与被测试系统之间一对一的测试,对于分布式的测试架构,即多个测试系统与被测试系统之间多对一的测试,并没有涉及。而网络通信协议在实际网络中大都使用分布式的架构工作,分布式的测试架构更有利于发现网络通信协议中可能存在的错误,因此更适合于网络通信协议测试。
发明内容
本发明所要解决的技术问题之一现有技术中基于模型检测的测试生成方法存在局限于集中式测试的架构,不支持分布式测试架构,不利于协议测试的问题。
为了解决上述技术问题,本申请的实施例首先提供了一种基于模型检测的分布式测试脚本的生成方法,包括:构建与网络通信协议的规范相适应的形式化模型以及约束;
利用模型检测工具探索所述形式化模型的状态空间,如果存在对所述约束的违反,则由模型检测工具生成并输出与所述违反对应的反例;
对所述反例进行解析,以获取所述反例中的进程列表与消息序列;
根据所述进程列表与所述消息序列生成分布式测试脚本
优选地,所述形式化模型包括描述网络通信实体的进程,描述网络链路的信道,以及描述网络通信协议数据的数据结构;所述约束包括与网络通信协议相关的通用规则以及特定功能。
优选地,所述分布式测试脚本包括一个主测试部件与多个并行测试部件,
所述主测试部件被设置在分布式测试网络中的一个网络实体上,其用于定义测试环境以及连接各并行测试部件;
所述多个并行测试部件被分别设置在分布式测试网络中的多个网络实体上,用于分别对被测系统进行测试。
优选地,所述根据所述进程列表与所述消息序列生成分布式测试脚本,包括:
将所述进程列表中除与被测系统对应的进程以外的每个进程,分别初始化为一个并行测试部件;
建立主测试部件与各并行测试部件之间的端口,以连接各并行测试部件;
建立各并行测试部件之间的端口,以使各并行测试部件之间相互连接;
遍历所述消息序列中的每个消息,以确定各并行测试部件的测试脚本。
优选地,所述遍历所述消息序列中的每个消息,以确定各并行测试部件的测试脚本,包括:
在确定由同一个并行测试部件发出的消息时,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710606329.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种变频器专用控制电缆
- 下一篇:防挤压受损的电缆