DevOps 是通过持续集成与持续交付使得构建、测试、发布能够更加地快捷、频繁和可靠的一种方法。在 DevOps 实践中,自动化测试是一个重要环节,通过提高自动化测试的占比,提高测试效率,从而缩短项目周期。
然而,自动化测试与测试数据息息相关,随着业务的不断发展,被测系统往往不是独立存在,测试数据准备复杂,且对外围系统的数据可用性依赖较高,目前,我们已经通过将测试数据资源池化,解决了部分数据失效问题,并且总结提炼了一种资源池的快速构造方法。
一、准备工作及适用场景
- 安装 IDEA,用于查看代码
- 获取项目代码,用于找到交易对应 SQL 语句
- SSM 框架:SSM 其本质就是 Spring Spring MVC MyBatis。Spring是一个开源框架,Spring 是于2003年兴起的一个轻量级的 Java 开发框架,为了解决企业应用开发的复杂性而创建的; Spring MVC 属于 Spring Framework 的后续产品,支持 Spring 的特性,它分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让程序更容易进行定制,让开发变得简单而规范;MyBatis 是一个基于 Java 的持久层框架,使用简单的 XML 或注解用于配置和原始映射,将接口和Java 的 POJOs(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录。
Swagger 是一款 RESTFUL 接口的文档在线自动生成 功能测试软件。Swagger 的目标是为 REST APIs 定义一个标准的,与语言无关的接口,使人在看不到源码或者看不到接口文档的情况下能发现和理解各种服务的功能。
本文介绍的资源池的快速构造方法是基于以 SSM 框架 Swagger 为技术栈的系统。
二、操作步骤及注意事项
步骤一:首先打开 swagger 网页,找到对应交易,如交易 getAPPlist,记录交易描述 Team Activity Controller。
步骤二:打开IDEA,导入 swagger 对应的项目代码。
步骤三:点击上图红框中的放大镜,在弹框中输入Team Activity Controller。
步骤四:点击步骤三中第一个命中结果。打开对应的文件。 步骤五:Ctrl F,输入步骤一中的交易名称:getAPPlist 步骤六:找到交易对应的代码。按住Ctrl键,鼠标点击getAPPlist。转跳到交易对应的service代码。 步骤七:转跳至下图页面,点击红框中的按钮,跳转至代码页面。
步骤八:找到包含Mapper且标成紫色的代码,即为对数据库的操作代码。 步骤九:找到需要了解的数据操作代码,按住Ctrl键,鼠标点击相应代码A,跳转至详细代码页。 步骤十:复制代码页的文件名称,至步骤二的放大镜处进行查询。 步骤十一:选择Files下的查询结果。点击打开,Ctrl F,输入代码A的内容,就可以找到对应的 SQL 语句。
通过上述操作,即可快速找到测试数据对应的 SQL 语句,测试人员可自行构造资源池,减少对开发人员的依赖,提高数据准备效率,并且保证资源池的正确性。
随着自动化测试的不断发展及普及,自动化测试在提质增效方面的优势愈发突出,但同样会面临新的问题和挑战,测试人员也在不断探索更多的方法和实践。