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

阅读数:1316 2015 年 6 月 26 日

话题:测试DevOps文化 & 方法

与敏捷和精益实践的初期相比,当今的软件测试实践与理念已经产生了根本性的变化。软件测试实践与理念已经成为 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