测试人效率神器——Docker的应用场景及实现原理

作为一名测试人员,你是否经常遇到以下问题?

  1. 与开发共用一套测试环境,测试时环境的稳定性无法保证,在开发环境中可能是稳定的,但上线时常常遗漏一些文件配置。并且,关于bug的问题上经常会和开发有一些纠纷。
  2. 当多个项目部署到同一个服务器时,测试过程中会出现一些不相关的噪音,可能会导致测试结果不够准确。
  3. 重新部署测试环境,开发编写代码,环境配置由运维来操作。如果测试任务很多,需要部署新的测试环境怎么办?我们需要花费很大的力气去做这件事。
  4. 使用selenium进行ui自动化测试和兼容性测试时,需要安装相应的浏览器及其适配的驱动,过程繁琐还得亲自调试。更麻烦的是有的浏览器版本和驱动对系统内核还有要求。
  5. 很多时候,我们没有太多的资源来测试服务器。我们想在这个有限的资源上开发和部署自己的web平台,但我们也不希望自己的环境会影响到其他人,怎么办?

综上,我们需要一套自己的环境,可以随时使用,从而提高我们的测试效率和准确性。它的生命周期也需要我们来控制,这样我们才能放开手脚大干一场,而不是畏手畏脚的。

那么,这个环境问题有什么答案吗?

没错,docker就是答案。

Docker是一款开源的应用容器引擎,不管是开发还是测试都可以把应用打包到一个可移植的容器里。套用Docker官方的口号:Build, Ship, and Run Any App, Anywhere。想传达的意思就是不管在什么平台都可以构建、部署及运行任意应用。是不是一听就觉得很厉害?Docker集轻量(占用内存资源少)、标准与持续化部署(开发、测试及线上环境保持一致)、强大的移植能力(各种系统)、安全等优异的特性于一身,也的确有资格配得上这样 的口号。

测试实践

Docker搭建业务测试环境

Docker就是将应用正常运行所需的所有东西都打包成一个镜像,当你需要的时候,基于这个镜像启动一个容器实例,就可以直接使用了。

实现过程:

在Dockerfile中构建一个docker镜像的基本指令,包含FROM(基础镜像)、WORKDIR(建立文件夹)、COPY(宿主机文件复制)、RUN(linux常用命令操作)、ENV(环境变量设置)。这几个指令放一块能生成稳定的javaweb镜像。文件写完后,只需要docker build一下,就能够生成所需的javaweb镜像。可以把镜像上传至镜像仓库里,之后我们就能在任何我们想部署业务测试环境的系统上下载该镜像,并用docker run命令来生成容器,以此实现快速部署一套属于自己的测试环境。

Docker在selenium自动化中的应用

Selenium Grid主要用于分布式自动化测试,就是一套Selenium 代码可在不同的环境上运行。Grid使用了hub-node(Master Slave)的概念,在此概念里,测试只在一个机器上运行(hub),而执是在不同的机器(nodes)上并行执行。而Docker可以做到快速的创建各种环境,从而使得selenium分布化测试变得更为快捷可靠。

实现过程:

一套脚本如何同时跑多个浏览器做兼容测试?

  2.1>先后下载hub及node镜像

  docker pull selenium/hub

  docker pull selenium/node-chrome

  2.2>启动hub容器

  docker run -d –p 32768:4444 --name selenium-hub selenium/hub

  注:Selenium/hub 容器的端口号为4444,对centos映射的端口为32768

  2.3>启动分支node chrome 容器

  docker run -d --link selenium-hub:hub selenium/node-chrome

  注:–link 通过 link 关联 selenium-hub 容器,并为其设置了别名hub

  2.4>可以在本地机器上执行脚本

Docker与CI/CD

Docker可以让你非常便捷地以“容器化”的方式去部署应用,就像集装箱一样,打包了所有依赖,然后再想要在其他服务器上进行部署就不是什么难事了,也不会说换服务器以后发现配置文件零零散散掉了一地。Docker在CI/CD上的应用则使得整个过程更进一步自动化,也使整个过程镜像化,轻松实现了一次构建,多次部署

CI流程:1.开发者向gitlab提交代码 2.gitlab通过webhook通知jenkins有更新 3.jenkins从gitlab下拉最新代码 4.jenkins对代码进行编译、构建新的集成镜像、最后将镜像上传到docker镜像仓库上。

CD流程:1.在镜像仓库上拉取最新集成镜像 2.启动容器。

 

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】

在这里插入图片描述

 全套资料获取方式:

 来都来了,别走了呗

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码小怡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值