从0构建自动化测试pipiline(一)

Jenkins Pipeline提供了非常强大的流程定制功能,是DevOps的核心。本系列文章从0开始搭建一个自动化测试的Pipeline,包括静态测试、WEB UI测试、APP测试、安全测试、接口测试、性能测试等自动化。

1. 总体拓扑

例:

- 服务器:

- Jenkins pipeline slave Node:

- 测试环境:

- 团队:

2. Pipeline流程

测试工程师提交测试脚本、配置文件到Git Server

程序员提交代码、配置文件到Git Server

Jenkins Master checkout脚本及代码到本地

Jenkins将代码copy到build节点,build节点完成单元测试

Jenkins使用SonarQube节点完成静态测试

Build节点使用本地Maven仓库编译代码,并将jar包到本地Maven仓库;同时将后台War包build到docker镜像中;编译前端APP安装包

Build节点将构建的Docker镜像push到本地Docker Register,标记为测试版本

Jenkins使用Ansible部署测试环境

测试环境从本地Docker Register下载测试版本的image,启动测试服务器

Jenkins将测试脚本copy到各测试节点,在Selenium Hub节点使用Grid测试农场完成Web及App UI测试

Zap节点完成安全测试

JMeter Master使用Jmeter Slaves农场完成接口测试及性能测试

Jenkins Master汇总各类型测试报告,邮件通知研发团队

使用Grafana监控整个环境

3. 涉及的技术

Jenkins & Jenkins pipeline

Linux(CentOS7)

Ansible & Ansible Playbook

Docker

SMTP/ssh

Maven/Gradle/Tomcat

Git/Github

Windows Powershell

SonarQube

RobotFramework/JUnit

JMeter & JMeter Master/Slave

Selenium & Selenium Grid

Appium

OWASP ZAP

Python2/Python3/Groovy/Yaml

Taurus bzt

Grafana

待续...

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181109G0TC8Q00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券