持续部署中测试非常非常重要,但引入自动化测试往往只需要一行代码(Java系:maven+Junit4实现)

持续部署中测试的重要性

持续部署是一种软件开发策略,方法是将应用的代码变更自动发布到生产环境中。 这种自动化由一系列预定义的测试驱动。 一旦新更新通过这些测试,系统会将更新直接推送到软件的用户。很显然这一过程中测试环节是非常关键的,因为全程无人工干预,只有测试环节通过,才能进入下一环节。这里的测试环节是通过测试脚本来实现的(包括:单元测试脚本+接口测试脚本+UI测试脚本),由于持续部署整个流程太过复杂,往往需要专门的团队负责运维,本文只针对测试这一环节进行讲解,注重流程梳理,忽略具体实现细节。

在服务器上配置JDK和 Maven

在要执行测试用例的服务器上(记作A)安装 maven 和jdk,并把二者的安装目录加入到系统的环境变量中。

JDK的作用就不多说了,就是提供Java的运行环境;mave是java的一个依赖管理工具。所谓依赖就是指在Java开发过程中引入的各种jar包和第三方库,而可能这些库本省还要引用其他的库,这样我们直接引用的称为直接依赖,库的依赖称为间接依赖。如果我们手动去引入这些依赖,过程将变得十分繁琐, Maven会为我们管理并引入这些依赖。

利用Maven+junit4创建自动化测试项目

写一个Java 的Maven 自动化测试项目,并拷贝到上一步的服务器A,结构如下:

持续部署中测试非常非常重要,但引入自动化测试往往只需要一行代码(Java系:maven+Junit4实现)_第1张图片

使用的是Junit4框架

把运行case的执行文件AllTests.java放到了test>com.my.test目录下(这个是junit4的规定,放在maven工程test目录下的测试类会在构建中自动执行), AllTests.java源码如下:

@RunWith(Suite.class)
@SuiteClasses({BaiduTest1.class, BaiduTest2.class})
public class AllTests {

}

java>com.my.testcase目录下 存放的是需要执行的测试用例,这个目录下哪些用例需要被调用由AllTests.java 文件决定

java>com.my.framework 目录下 存放的是自动化架构设计的核心类,目的是让自动化测试脚本执行稳定

备注:这里的测试脚本包括:单元测试脚本、接口测试脚本和UI测试脚本

关于这个maven工程的详细类设计,我会在后面的文章中发给大家

执行mvn test 启动测试执行

进入Maven 自动化测试项目的根目录 ,执行命令 mvn test即可启动测试

此处一般都是通过shell 命令执行,通常语句是:

cd  你的项目目录

mvn test

实际工作中,都是负责自动化持续集成的人来编写相关代码,一行代码即可,如下:

sh "cd ${pompath};${maven}/bin/mvn test"

分析测试报告

测试结束后会生成测试报告到maven工程目录 \target\surefire-reports,我们可以在写程序对生成的xml文件进行解析,一旦出错就做后续处理,下面这张图很好的解释了这一流程。

持续部署中测试非常非常重要,但引入自动化测试往往只需要一行代码(Java系:maven+Junit4实现)_第2张图片

我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力

你可能感兴趣的:(测试开发,自动化测试,Java,ci/cd,集成测试)