[发明专利]一种基于动态编译的业务场景自动化测试方法有效
申请号: | 201810181164.7 | 申请日: | 2018-03-06 |
公开(公告)号: | CN108446223B | 公开(公告)日: | 2021-07-27 |
发明(设计)人: | 罗波 | 申请(专利权)人: | 吉旗(成都)科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京权智天下知识产权代理事务所(普通合伙) 11638 | 代理人: | 张廷利 |
地址: | 610000 四川省*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 动态 编译 业务 场景 自动化 测试 方法 | ||
本发明公开了一种基于动态编译的业务场景自动化测试方法,包括如下步骤:A、构建DSL;B、在线调试;C、任务预编译;D、结果校验;本发明采用简单易用的DSL,降低业务场景自动化测试对编码能力的要求;用例代码在线调试,提高自动化测试实施效率;此外,基于数据类型识别以及数据源整合,提供强大易用的结果校验能力。
技术领域
本发明涉及自动化测试技术领域,具体为一种基于动态编译的业务场景自动化测试方法。
背景技术
现有的Web自动化测试方法,主要针对每个接口进行独立的测试,无法支持完整业务场景的自动化测试,或支持的成本非常大;大部分Web自动化测试方法都是以离线形式提供服务,自动化测试的实现是一个静态的代码工程,测试用例和数据通过文本文件进行管理,在多人协作、并行任务、实时更新等方面能力薄弱;现有的Web自动化测试方法在响应结果校验方面通常使用正则匹配方式,难以支持对复杂的响应数据结构的校验,如数组校验、数组指定元素校验等,而这类响应数据结构在当前的互联网系统中很常见;现有的Web自动化测试方法缺少对数据库操作的整合,如数据预置、数据清理和数据表数据检查等。
发明内容
本发明的目的在于提供一种基于动态编译的业务场景自动化测试方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种基于动态编译的业务场景自动化测试方法,包括如下步骤:
A、构建DSL:将请求数据包的构建、接口调用、响应数据解析、结果校验、数据源获取和数据库操作自动化测试的关键步骤用更规范、可读性更强的方式提供给测试实施人员;
B、在线调试:在新设计一个用例的时候,可以直接在网页进行在线调试,以确认用例是否达到预期的测试目的;
C、任务预编译:将测试用例代码保存到数据库之前会使用动态编译技术对该测试用例代码进行一次编译,以检测可能的编译期异常,如果编译不通过,将提示用户进行调试排查,并放弃保存该次内容,从而确保每次任务执行时,从数据库中获取到的测试用例代码是没有编译错误的;
D、结果校验:包括对HTTP响应数据校验和数据库数据校验;校验响应数据,先获取响应报文,将其解析为一个结构体对象,校验时通过指定的路径表达式从结构体中获取目标数据进行数据类型和值的验证;校验数据库数据,先使用动态数据源管理方法管理所有被测产品数据库,校验时根据用例信息获取对应的数据源连接数据库数据进行查询操作,根据查询的匹配条数来确认校验是否通过。
优选的,所述步骤B具体流程为:在设计一个新用例,直接通过在线页面将用例代码以字符串格式传递到服务端,服务端基于动态编译技术,对收到的字符串代码进行处理后直接进行编译,通过反射获取测试逻辑对象并执行相应的测试逻辑,从而完成指定的测试内容;具体是自定义一个Compiler类,负责将接收到的原始测试代码进行基本的格式校验和默认依赖补全,进而构建成源代码文件对象并交给一个文件管理器对象,然后使用JDK提供的JavaCompiler编译得到对应的字节码文件对象以及编译诊断信息,进而通过该类持有的自定义classloader来进行加载,由此得到一个Class对象,最后基于反射机制获取到该Class的实例来执行测试代码中的测试逻辑。
优选的,所述步骤D中检验HTTP响应数据时先获取响应数据报文,对其结构和每个属性值的类型进行解析,得到一个结构体对象,校验时通过指定的路径表达式获取到目标属性的对象,再判断该对象的数据类型和值是否与预期相符。
优选的,所述步骤D中数据库数据校验流程:当某个产品有首个需要操作数据库的用例时,则根据产品基础信息中的数据库信息创建一个数据源,并将其置于一个数据源管理池中,要操作数据库时,根据产品从该池中获取数据源,建立数据库连接,使用用例信息中SQL语句的完成数据查询操作,根据查询的匹配条数来判断校验是否通过;每次更新产品的数据库连接信息时,将创建新的数据源来替换管理池中的旧数据源,以保证数据源的有效性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于吉旗(成都)科技有限公司,未经吉旗(成都)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810181164.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:应用测试方法、装置及设备
- 下一篇:移动端上应用程序的性能分析方法、存储介质