与敏捷和精益实践的初期相比,当今的软件测试实践与理念已经产生了根本性的变化。软件测试实践与理念已经成为 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 使测试成为开发流程中的主流,并且避免了在传统开发周期结束前才开始的“大爆炸”式测试方法所带来的问题,例如发布的延迟及质量缺陷。
3. 始终可用的软件 —— 可用的软件就意味着测试始终伴随着开发过程。
4. 我们齐心协力 —— 测试人员不再是唯一一个为最终产品中的 bug 负责的人,我们共同为问题承担职责,并一起寻找解决方案。
5. 精益思想 —— 减少封闭性、避免浪费、确定瓶颈、价值驱动的思考方式以及持续集成。 > 在敏捷与 DevOps 文化中,我们所关注的是整个生产线的运作,我们不会分别计算每个单元的成本,而是从头至尾关注整个价值流。
Shirly 还分享了一些其它 DevOps 文化的元素,包括共同责任、前期反馈、可见性以及持续改进。
Shirly 将测试人员定义为一个促进者、一个熟练的开发者、以及一位尽责的业务代表。为了实现这一目标,她给出了以下几点建议:
- 管理层的积极支持以及正确的理念
- 理解我们需要应对这种快速变化的环境这一事实
- 技术的转变是其根本
- 需要技艺精湛的测试人员
- 需要技艺精湛的开发者
- 招聘善于团队合作的人员
- 当理念还没有充分开发时就开始适应新的文化,因为理念是随着时间的推移而逐渐成型的
- 招聘一位敏捷教练
评论