【摘要】本文将从DevOps模式下对测试人员的活动的变化,以及常用的测试技术层面进行解读。

项目的软件开发模式主要经历瀑布模型、敏捷开发和DevOps这几个阶段,其中DevOps主要解决开发和运维、运营之间的隔阂,更强调自需求设计至生产部署的端到端协同运作,更强调精益、高效;更强调想尽办法剔除每个环节的浪费,极致追求每个环节的高生产率,达到快速、高质量上线的目的。本文将从DevOps模式下对测试人员的活动的变化,以及常用的测试技术层面进行解读。

1、为什么会有DevOps?

项目的软件开发模式主要经历了以下几个阶段:

瀑布模型解决了分工协作困难的问题,但是一年1~2次的发布流程太慢,且无法满足日益变化的需求变更。

敏捷开发解决了需求频繁变更、上线慢的问题。但是未解决开发和运维的鸿沟,甚至给开发和维护之间增加了非常多困难和争议。

DevOps在敏捷的基础上,从E2E的角度来考量。主要解决开发和运维、运营之间的隔阂,更强调自需求设计至生产部署的端到端协同运作,更强调精益、高效;更强调想尽办法剔除每个环节的浪费,极致追求每个环节的高生产率,达到快速、高质量上线的目的:

2、DevOps模式给软件测试带来了哪些变化:

一个DevOps活动的流程如上图所示,可以看到测试已经融入到DevOps流程中的一环,DevOps模式下的测试流程也会发生变化。以我们团队为例,看下在DevOps模式下常用的测试方法和活动:

可以看出,

1、全流程测试:测试活动已经贯穿到DevOps全环节,DevOps模式下测试并未消失,而是嵌入到全流程的阈值评估点中。

2、测试向左移动:开发团队也要承担起测试的任务,测试团队也会接入到开发阶段的测试及测试指导活动

3、自动化权重增加:接口自动化、契约自动化测试、功能自动化被大量使用,用来提高上线测试进度

4、UT弱化,API和契约测试更被愿意接受:UT自动化依旧存在,由于UT维护工作量巨大,且需求变化快,导致UT的投入产出不成比例,UT自动化权重下降,使用API和契约、Mock等测试替代。

5、测试菱形模型:有专家指出,DevOps模式下,测试的倒三角模型依旧存在,但是测试层依旧很重要,甚至要做厚测试层,呈现菱形模型,个人认可这种菱形模型。

6、部署自动化,灰度发布越来越受欢迎:服务的部署已经完全被自动化工具替换,测试基于部署的环境进行自助测试。同时,灰度发布和A/B测试很好的解决了流程过快导致的全局性风险,升级和回退成为常规活动。

7、测试人员依旧必要:服务测试和解决方案测试依旧很重要,同时也是DevOPS流程中发现问题最多的环节,是DevOps环节中不可或缺的一环。

8、在线测试和度量兴起:OPS阶段的测试和在线监控越来越被接受,权重增加,比如在线拨测、在线测试、在线度量。

9、平台工具的重要性:DevOps流程环节打通后,更加依赖平台工具的能力做支撑,比如华为的DevOps平台DevCloud软件开发云、ServiceStage等都提供了很好的流程打通能力,使整个流程得心应手,降低准入门槛。

结语:以上就是DevOps模式下常用的测试方法和活动,希望对相关小伙伴的工作带来一些指导意义。下一期,我们将介绍下具体的DevOps测试技术和测试实践,敬请关注!

点击关注,第一时间了解华为云新鲜技术~

测试攻城狮必备技能点!一文带你解读DevOps下的测试技术的更多相关文章

  1. Fiddler无所不能——之测试开发攻城狮必备利器

    Fiddler无所不能——之测试开发攻城狮必备利器 1.模拟真实网络环境4g网.3g网络.2g网络.弱网.请求超时 开启弱网Rules——Performance——勾选Simulate Modem S ...

  2. 安全攻城狮研发技能栈V1.0,附详细点评~

    2015-12-21 正宗好PT 正宗好PT 今天公司年会,又木有抽到奖,求安慰/(ㄒoㄒ)/~~ 言归正传,我曾经在推特发过一个Skill CheatSheet,被转发和点赞了几百次,我又更新了一下 ...

  3. JBPM4之decision节点:3、程序猿|菜鸟|攻城狮|牛人

    JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流程图的插件 JBPM4入门——3.JBPM4开发环境的搭建 JBPM4入门—— ...

  4. 遗留系统:IT攻城狮永远的痛

    我常常觉得我们非常幸运,我们现在所处的时代是一个令人振奋的时代,我们进入了软件工业时代.在这个时代里,我们进行软件开发已经不再是一个一个的小作坊,我们在进行着集团化的大规模开发.我们开发的软件不再是为 ...

  5. 【Copy攻城狮日志】docker搭建jenkins拉取svn代码打包vue项目部署到nginx

    ↑开局一张图,故事全靠编↑ 前言 打开搜索引擎输入『Copy攻城狮』,发现最新的一条记录已经是去年的4月,意味着我又有一年时间没有再总结成长了.习惯了“温水煮青蛙”的日子,无论是经验水平还是薪资收入, ...

  6. Android优秀资源整理合集(论菜鸟到高级攻城狮)

    转载请注明转自:http://blog.csdn.net/u011176685/article/details/51434702 csdn文章:Android优秀资源整理合集(论菜鸟到高级攻城狮) 时 ...

  7. 攻城狮送女友的CSS3生日蛋糕

    在线预览:http://keleyi.com/keleyi/phtml/html5/29.htm 代码如下: <!DOCTYPE html> <html> <head&g ...

  8. iOS程序猿如何快速掌握 PHP,化身"全栈攻城狮"?

    这是一篇以 iOS 开发人员的视角写给广大iOS 程序猿的 PHP 入门指南.在这篇文章里我努力去发掘 objectiv-c 与 php 之间的共性,来帮助有一定 iOS 开发经验的攻城狮来快速上手一 ...

  9. iOS攻城狮修炼之路

    自己总结的学习iOS的笔记,打造一个全面的知识体系,iOS攻城狮修炼之路[持续更新中] iOS学习笔记01-APP相关 iOS学习笔记02-UIScrollView iOS学习笔记03-UITable ...

  10. 【Copy攻城狮日志】Node快速重命名文件,告别Potplay字幕困扰问题

    ↑开局一张图,故事全靠编↑ 前言 Copy攻城狮日志的惯例,开局一张图,开始为您讲述一个鲜为人知的故事.故事的开头要从本大狮从盗版网站下载udemy课程的犯罪伊始说起,去年的某月某天,我真正接触到了“ ...

随机推荐

  1. 是因为不同的浏览器内核吗--Could not register service workers到底是怎么回事

    什么是浏览器内核 浏览器内核(Rendering Engine),是浏览器最核心的部分. 它负责处理网页的HTML.CSS.JavaScript等代码,并将其转化为可视化的网页内容.即我们常说的对网页 ...

  2. C、C++函数和类库详解(GCC版)(2014-4-23更新)

    C.C++函数和类库详解(GCC版)(未完成) 整理者:高压锅 QQ:280604597 Email:280604597@qq.com 大家有什么不明白的地方,或者想要详细了解的地方可以联系我,我会认 ...

  3. umich cv-5-1 神经网络训练1

    这节课中介绍了训练神经网络的第一部分,包括激活函数的选择,权重初始化,数据预处理以及正则化方法 训练神经网络1 激活函数 数据预处理 权重初始化 正则化方法 激活函数 这部分主要讨论我们之前提到的几种 ...

  4. JavaScript:对象的三个属性

    每一个对象都有与之相关的原型(prototype).类(class)和可扩展性(extension attribute). 原型 prototype 对象的原型属性是用来继承属性的.通过对象直接量创建 ...

  5. 阿里发布AI编码助手:通义灵码,兼容 VS Code、IDEA等主流编程工具

    今天是阿里云栖大会的第一天,相信场外的瓜,大家都吃过了.这里就不说了,有兴趣可以看看这里:云栖大会变成相亲现场,最新招婿鄙视链来了... . 这里主要说说阿里还发布了一款AI编码助手,对于我们开发者来 ...

  6. 服务器没有开放3306端口 远程访问MySQL数据库方法

    一.前言 ​ 当装有MySQL的服务器为了防止数据库被黑,提高安全性,把3306端口禁止掉,禁止对外访问,我之前写过一篇是借助跳板机的SSH隧道来访问实现安全,这种情况依然需要开放3306端口和使用一 ...

  7. 使用单卡v100 32g或更低显存的卡,使用peft工具qlora或lora混合精度训练大模型chatGLM2-6b,torch混合精度加速稳定训练,解决qlora loss变成nan的问题!

    最近新换了工作,以后的工作内容会和大模型相关,所以先抽空跑了一下chatGLM2-6b的demo,使用Qlora或lora微调模型 今天简单写个文档记录一下,顺便也是一个简单的教程,并且踩了qlora ...

  8. JVM-Java语法糖与Java编译器

    基本类型和其包装类型之间的自动转换,也就是自动装箱.自动拆箱,是通过加入[Wrapper].valueOf(如 Integer.valueOf)以及[Wrapper].[primitive]Value ...

  9. Django学习(一) 之 环境搭建

    写在前面 最近比较迷AI绘图,那就上个图吧,我感觉还挺好看的. 可能会有人说,之前不一致分享的是flask吗,怎么突然改到django了? 这个问题问得好,开发环境遇到了一些小困难! 不过django ...

  10. mysql数据库数据同步几种通用方法?

    MySQL数据库数据同步的几种通用方法包括以下几个方面: 一.基于主从同步 主从同步是 MySQL 数据库最为常见和基本的同步方式,即其中一台 MySQL 服务器作为主服务器(Master),另外一台 ...