基于Jenkins设计自动化测试工作流
2016-11-11 本文已影响1964人
wywincl
![](https://img.haomeiwen.com/i1884963/03b7adedd54611d1.png)
介绍
自动化测试工作流的意义是为了及时反馈测试过程中遇到的问题,当前敏捷开发模式日趋流行,Scrum团队的高频增量开发方式,加大了版本迭代测试的工作量。不少团队每日都有版本发布,因此就对自动化测试提出了更高的要求。我们基于此,设计了符合Devops理念的自动化测试工作流(不包括开发工作流和运维工作流)。
自动化测试结果统计:
![](https://img.haomeiwen.com/i1884963/8705ac6b4522c671.png)
自动化测试实时邮件反馈:
![](https://img.haomeiwen.com/i1884963/8549fc33ad9280a2.jpg)
工作流
自动化测试处于Devops中的一环,自动化测试的职责主要是负责冒烟测试以及回归测试和功能测试,包括性能测试。
![](https://img.haomeiwen.com/i1884963/57c84c3c6cf8e804.png)
自动化测试同时也是持续集成工作流中的一个环节。
![](https://img.haomeiwen.com/i1884963/c5af6c4ad0dde447.png)
设计
我们主要是用到了jenkins pipeline插件, Jenkins未来的方向是一切皆代码
。目前第一步就是工作流即代码
。这也符合当前软件发展的方向。用代码来定义工作流方便进行版本管理,同时也能够设计出更加复杂的工作流。
![](https://img.haomeiwen.com/i1884963/31abfd010f0a290c.png)
![](https://img.haomeiwen.com/i1884963/f0802aacea1c8b51.png)
Jenkinsfile
Jenkins已经采用Jenkinsfile来作为定义工作流的配置文件。类似于Dockerfile。Jenkins专门设计了一门DSL(domain scripting language)语言来描述工作流。因此要使用Jenkins Pipeline首先得学习这门领域描述语言。
在后面的章节中,我们将详细介绍Jenkins DSL语言。