测试理念是实现DevOps不可或缺的重要环节
与敏捷和精益实践的初期相比,当今的软件测试实践与理念已经产生了根本性的变化。软件测试实践与理念已经成为DevOps文化中不可分割的一部分。
Shirly Ronen-Harel是 Sisense 的敏捷教练及负责研发运作的总监,她近期撰写了一系列 博客 文章,阐述了软件测试理念在DevOps环境中的重要性。
DevOps的目标包括快速地进行无阻碍的合作式开发、持续测试、持续部署以及持续监控。而如果没有建立起一种正确的理念,是不可能实现这些目标的,正是这种理念促成了全体成员的协作,共同加速交付价值的脚步。
Sanjeev Sharma来自 IBM ,他是一位DevOps方面的专家,还是一位敏捷传教士和一名作者,他最近撰写了一系列关于 理解DevOps 的博客文章,表达了持续测试是DevOps中一个必要的组成部分的观点。
如果缺少了持续测试,那么持续集成与持续交付(几乎)都是没有意义的。缺乏对应用程序的监控,就无法了解它在生产环境中的表现情况,整个DevOps流程就完全失去了它的意义。
Shirly 说道 :DevOps存在的意义是为了打破开发者与运维人员之间的壁垒。同样,它也必须打破开发者、测试人员与运维这三者之间的壁垒。如此一来,传统测试中的过程都已不再适用。在DevOps文化中的测试过程经历了一种颠覆性的变化。因此,对于测试来说,所有的一切也变得面目全非了。这些变化包括测试人员的技能、方法学、测试方式、测试的时机,以及测试的计划与执行的方式。
但是,有了好用的工具,“优秀”的流程以及经过良好定义的职责,这些只是做好DevOps的一部分因素。如果我们期望在DevOps环境中实现高效的测试,那么必须建立起正确的理念。
Shirly 列举 了为使测试与DevOps相容的文化的组成元素:
- 协作 —— DevOps意味着在产品负责人、开发者、测试人员、分析师与架构师之间的协作。
- 测试无处不在 —— 如果我们希望测试能够覆盖到每一个角落,那么实现这一目标需要所有人共同参与测试过程。
在敏捷与DevOps文化中,我们所关注的是整个生产线的运作,我们不会分别计算每个单元的成本,而是从头至尾关注整个价值流。
Marc Hornbeek是 思博伦通信 (Spirent Communications)的DevOps持续测试方案的高级解决方案架构师,他在一篇 博文 中表示,DevOps使测试成为开发流程中的主流,并且避免了在传统开发周期结束前才开始的“大爆炸”式测试方法所带来的问题,例如发布的延迟及质量缺陷。
- 始终可用的软件 —— 可用的软件就意味着测试始终伴随着开发过程。
- 我们齐心协力 —— 测试人员不再是唯一一个为最终产品中的bug负责的人,我们共同为问题承担职责,并一起寻找解决方案。
- 精益思想 —— 减少封闭性、避免浪费、确定瓶颈、价值驱动的思考方式以及持续集成。
在敏捷与DevOps文化中,我们所关注的是整个生产线的运作,我们不会分别计算每个单元的成本,而是从头至尾关注整个价值流。
Shirly还分享了一些其它DevOps文化的元素,包括共同责任、前期反馈、可见性以及持续改进。
Shirly将测试人员定义为一个促进者、一个熟练的开发者、以及一位尽责的业务代表。为了实现这一目标,她给出了以下几点建议:
- 管理层的积极支持以及正确的理念
- 理解我们需要应对这种快速变化的环境这一事实
- 技术的转变是其根本
- 需要技艺精湛的测试人员
- 需要技艺精湛的开发者
- 招聘善于团队合作的人员
- 当理念还没有充分开发时就开始适应新的文化,因为理念是随着时间的推移而逐渐成型的
- 招聘一位敏捷教练