[发明专利]基于自定义脚本的自动化测试系统有效
申请号: | 201410266121.0 | 申请日: | 2014-06-13 |
公开(公告)号: | CN104021080B | 公开(公告)日: | 2017-01-11 |
发明(设计)人: | 孙峰;闫勇 | 申请(专利权)人: | 中国民航信息网络股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京瑞思知识产权代理事务所(普通合伙)11341 | 代理人: | 李涛,袁红红 |
地址: | 100010 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 自定义 脚本 自动化 测试 系统 | ||
技术领域
本发明涉及软件测试技术领域,尤其涉及一种基于自定义脚本的自动化测试系统。
背景技术
软件测试是用于验证软件质量的活动。验证的内容包括软件的功能特性和以及包括性能以及安全等的非功能特性。软件测试的方式主要分手工测试与自动化测试两种,后者高度依赖于自动化测试工具。自动化测试是软件测试部门的一项日常工作,工具的选择是自动化测试成败的一项关键因素。在实践中,针对自动化测试工具,测试部门通常有三种选项:自行开发、购买商业产品、采用开源工具。但是,针对单个测试项目自行开发测试工具通常费时费力。而商业产品和开源工具通常具有局限性,存在许多不能使用的测试场合。
发明内容
有鉴于此,本发明提供了一种基于自定义脚本的自动化测试系统,能够实现指令/报文的自动化测试,并具有高度可扩展性和普遍适用性。
本发明提供的基于自定义脚本的自动化测试系统,包括加载解析模块、执行控制模块以及执行服务模块,其中,
所述加载解析模块,用于加载并解析测试脚本,以备测试执行;
所述执行控制模块,用于通过调用所述执行服务模块执行测试脚本,并对测试执行过程进行控制,以及在测试执行过程中完成取值和检验、错误处理、报告生成、日志处理;
所述执行服务模块,用于接受所述执行控制模块的调度,并在被调度时以适配器的形式与被测系统进行交互,完成指令/报文的发送,以及指令/报文响应的接收。
所述加载解析模块,还用于验证所述测试脚本语法的合法性;其加载功能支持xml文件、电子表格文件两种脚本格式,其解析功能将脚本处理为具有所述执行控制模块可执行的数据结构。
所述执行控制模块可执行的数据结构,包括:指令/报文部分、参数部分、配置部分,其中,
所述指令/报文部分,由一个测试用例序列构成,内部结构是多行列的二维表结构:每一行代表一个测试用例,每一列代表一种字段类型,行列交叉的单元格代表一个测试用例的一个字段;其中,每个测试用例包含多个字段,字段分为三类:内容字段、控制字段、函数字段;其中,内容字段由包括用例序号字段、指令字段、思考时间字段的单义字段以及包括指令类型字段的复合字段构成;控制字段用来实现执行中的分支与循环逻辑;函数字段用来进行取值和校验;每个测试用例,代表一个指令/报文的发送、以及取值、校验、流程控制逻辑;
所述参数部分:用于定义脚本参数,并由所述指令/报文部分进行引用,其中,所述脚本参数包括三种类型:无值参数、单值参数、多值参数;
所述配置部分:包括两类信息,第一类是与被测系统交互所需的地址、端口、服务名信息,供执行服务模块在建立适配器实例时使用;第二类是包括迭代次数的测试元数据。
所述函数字段包括取值函数、校验函数和复合函数,其中,
所述取值函数用来在指令/报文响应中取值,供执行控制模块使用,即取值函数提供了测试执行阶段动态获取变量值的能力;取值逻辑包括:按行、按位、按特征字符、正则表达式,并提供基于API的扩展能力;
所述校验函数根据测试用例中的结果预期描述,对指令/报文响应进行校验,以判断测试用例的通过/失败;校验逻辑包括等、不等、数值比较、字符排序、包含、不包含;校验函数属注册函数,注册发生在指令/报文发送之前,校验发生在收到响应之后,支持同步校验与异步校验;
所述复合函数封装了常见取值和校验函数组合。
所述执行控制模块,用于通过调用所述执行服务模块执行测试脚本,并对测试执行过程进行控制,以及在测试执行过程中完成取值和检验、错误处理、报告生成、日志处理,包括以下步骤:
第一步:将参数值注入测试脚本中,其中,所述参数值包括静态参数值与动态参数值,所述静态参数值预先写在脚本的参数部分,所述动态参数值由测试脚本中的取值函数在前序指令响应或报文响应中获取;
第二步:调用所述执行服务模块的适配器实例,进行指令/报文发送,并接收指令响应或报文响应;
第三步:通过测试脚本中的校验函数判定所述测试用例的通过与失败,并将判定结果记录在测试报告中;
第四步:通过测试脚本中的取值函数,从第二步中获得的指令响应/报文响应中取值,以备后续测试用例使用;
第五步:继续下一个测试用例的执行。
若在测试脚本执行过程发生异常,则所述执行控制模块终止测试执行,并在报告中给出错误提示信息。
所述执行控制模块将引擎运行信息记录在日志中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国民航信息网络股份有限公司,未经中国民航信息网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410266121.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种可高效过滤细颗粒物的新型口罩
- 下一篇:一种护踝