写点什么

测试理念是实现 DevOps 不可或缺的重要环节

  • 2015 年 6 月 26 日
  • 本文字数:1402 字

    阅读完需:约 5 分钟

与敏捷和精益实践的初期相比,当今的软件测试实践与理念已经产生了根本性的变化。软件测试实践与理念已经成为 DevOps 文化中不可分割的一部分。

Shirly Ronen-Harel 是 Sisense 的敏捷教练及负责研发运作的总监,她近期撰写了一系列博客文章,阐述了软件测试理念在 DevOps 环境中的重要性。

DevOps 的目标包括快速地进行无阻碍的合作式开发、持续测试、持续部署以及持续监控。而如果没有建立起一种正确的理念,是不可能实现这些目标的,正是这种理念促成了全体成员的协作,共同加速交付价值的脚步。

Sanjeev Sharma 来自 IBM ,他是一位 DevOps 方面的专家,还是一位敏捷传教士和一名作者,他最近撰写了一系列关于理解 DevOps 的博客文章,表达了持续测试是 DevOps 中一个必要的组成部分的观点。

如果缺少了持续测试,那么持续集成与持续交付(几乎)都是没有意义的。缺乏对应用程序的监控,就无法了解它在生产环境中的表现情况,整个 DevOps 流程就完全失去了它的意义。

Shirly说道:DevOps 存在的意义是为了打破开发者与运维人员之间的壁垒。同样,它也必须打破开发者、测试人员与运维这三者之间的壁垒。如此一来,传统测试中的过程都已不再适用。在 DevOps 文化中的测试过程经历了一种颠覆性的变化。因此,对于测试来说,所有的一切也变得面目全非了。这些变化包括测试人员的技能、方法学、测试方式、测试的时机,以及测试的计划与执行的方式。

但是,有了好用的工具,“优秀”的流程以及经过良好定义的职责,这些只是做好 DevOps 的一部分因素。如果我们期望在 DevOps 环境中实现高效的测试,那么必须建立起正确的理念。

Shirly列举了为使测试与 DevOps 相容的文化的组成元素:

  1. 协作 —— DevOps 意味着在产品负责人、开发者、测试人员、分析师与架构师之间的协作。
  2. 测试无处不在 —— 如果我们希望测试能够覆盖到每一个角落,那么实现这一目标需要所有人共同参与测试过程。 > 在敏捷与 DevOps 文化中,我们所关注的是整个生产线的运作,我们不会分别计算每个单元的成本,而是从头至尾关注整个价值流。

Marc Hornbeek 是思博伦通信(Spirent Communications)的 DevOps 持续测试方案的高级解决方案架构师,他在一篇博文中表示,DevOps 使测试成为开发流程中的主流,并且避免了在传统开发周期结束前才开始的“大爆炸”式测试方法所带来的问题,例如发布的延迟及质量缺陷。
3. 始终可用的软件 —— 可用的软件就意味着测试始终伴随着开发过程。
4. 我们齐心协力 —— 测试人员不再是唯一一个为最终产品中的 bug 负责的人,我们共同为问题承担职责,并一起寻找解决方案。
5. 精益思想 —— 减少封闭性、避免浪费、确定瓶颈、价值驱动的思考方式以及持续集成。 > 在敏捷与 DevOps 文化中,我们所关注的是整个生产线的运作,我们不会分别计算每个单元的成本,而是从头至尾关注整个价值流。

Shirly 还分享了一些其它 DevOps 文化的元素,包括共同责任、前期反馈、可见性以及持续改进。

Shirly 将测试人员定义为一个促进者、一个熟练的开发者、以及一位尽责的业务代表。为了实现这一目标,她给出了以下几点建议:

  • 管理层的积极支持以及正确的理念
  • 理解我们需要应对这种快速变化的环境这一事实
  • 技术的转变是其根本
  • 需要技艺精湛的测试人员
  • 需要技艺精湛的开发者
  • 招聘善于团队合作的人员
  • 当理念还没有充分开发时就开始适应新的文化,因为理念是随着时间的推移而逐渐成型的
  • 招聘一位敏捷教练

查看英文原文: Importance of the Testing Mindset in DevOps

2015 年 6 月 26 日 07:351868
用户头像

发布了 428 篇内容, 共 158.7 次阅读, 收获喜欢 29 次。

关注

评论

发布
暂无评论
发现更多内容

Grafana和ES打造的Nginx的仪表盘

陈磊@Criss

PIP的报错Could not fetch URL https://pypi.org/

陈磊@Criss

Docker 容器连接

陈磊@Criss

22种超全用户触点采集,易观方舟SDK又更新了

易观大数据

最受欢迎的男友职业排行榜Top10

程序员生活志

程序员

快速掌握的测试用例优先级划分方法

陈磊@Criss

作业一

Kiroro

弹性计算的内部概念:弹性扩张、弹性收缩、弹性自愈

陈磊@Criss

企业微信群消息机器人发送开源项目

陈磊@Criss

该了解一波了!零基础入门Nginx

程序员的时光

nginx Docker

微信小程序的自动化测试框架

陈磊@Criss

高中生写LOL外挂1年狂赚500万,落网前刚买下120万保时捷...

程序员生活志

编程 程序员 外挂

Clover:解决Java8和Cobertura的问题以及解决方法

陈磊@Criss

python判断文件和文件夹是否存在、创建文件夹

陈磊@Criss

人人都可以掌握的正交试验设计测试用例方法

陈磊@Criss

Nginx的容器部署

陈磊@Criss

Docker的Image

陈磊@Criss

欲速也可达:Battle接口测试训练系统的1分钟快速说明

陈磊@Criss

jmeter 执行python脚本

陈磊@Criss

DockerFile 详解

陈磊@Criss

什么是死信队列

Java旅途

RabbitMQ

Web前端性能优化,应该怎么做?

华为云开发者社区

运维 大前端 HTTP js

作业二

Kiroro

架构师培训第10周练习

小蚂蚁

原创 | 使用JPA实现DDD持久化-R:数据的世界

编程道与术

Java hibernate DDD JDBC jpa

Python的Twisted事件驱动的网络引擎框架

陈磊@Criss

第十周.总结

刘璐

标新立异的日志归档:用更少的内存归档大规模测试日志

陈磊@Criss

Git删除仓库中的文件和文件夹

陈磊@Criss

pipreqs:生成python项目的requirements

陈磊@Criss

Docker的Image

陈磊@Criss

测试理念是实现DevOps不可或缺的重要环节_测试_Savita Pahuja_InfoQ精选文章