【摘要】本文将从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. 【BUU刷题日记】——第一周

    [BUU刷题日记]--第一周 一.[极客大挑战 2019]PHP1 题目说自己有一个备份网站的习惯,所以要了解一下常见的网站源码备份格式及文件名: 格式:tar.tar.gz.zip.rar 文件名: ...

  2. jenkins 原理篇——pipeline流水线 声明式语法详解

    大家好,我是蓝胖子,相信大家平时项目中或多或少都有用到jenkins,它的piepeline模式能够对项目的发布流程进行编排,优化部署效率,减少错误的发生,如何去写一个pipeline脚本呢,今天我们 ...

  3. c# 引入同一个版本dll(比如包含opencv不同模块的dll,但是版本却是一致的)

    1.使用dnSpy.exe工具,打开相关dll 在左侧"管理器"中选中并点击右键 2.在弹出菜单中点击编辑程序集 3.更改名称和版本号 4.工具栏-文件-全部保存 5.在VS中引入 ...

  4. 动态规划的状态设计 | bot 讲课の补题

    sto james1badcreeper orz. 好厉害的题,但是怎么有人补了三天才补完呢? CF1810G The Maximum Prefix 线性 dp,怎么有 bot 说题目难度在 *240 ...

  5. 理解maven命令package、install、deploy的联系与区别(转)

    https://blog.csdn.net/zhaojianting/article/details/80324533 我们在用maven构建java项目时,最常用的打包命令有mvn package. ...

  6. Velocity之Hello World(tomcat下配置Velocity)

    本文主要参考:http://hi.baidu.com/dalianjingying/item/1fb3a98ad64dcac299255f72 http://wangbaoaiboy.blog.163 ...

  7. [Python急救站课程]猜拳游戏

    猜拳游戏 import random # 调用random函数库 while True: x = random.randint(0, 2) # 调用库里的randint函数使用随机数. print(& ...

  8. 改变element dialog弹窗的关闭按钮样式

    .el-dialog__headerbtn { top: 8px !important; background: url('https://你路径资源的url图片') left no-repeat; ...

  9. L2-029 特立独行的幸福

    #include <bits/stdc++.h> using namespace std; bool isyifu[10010]; bool isunhappy[10010]; bool ...

  10. MySQL 出现 Error 1114 (HY000) The table is full 的解决方法

    版权声明:原创作品,谢绝转载!否则将追究法律责任. ----- 作者:kirin MySQL 出现 The table is full 只有一个原因,对应的表数据容量达到系统上限 . 这个问题可能是2 ...