敏捷测试人员的十大原则


敏捷团队中的每个人都是测试人员。任何人都可以接测试任务。如果这是真的,那么敏捷测试人员有什么特别之处呢?如果我把自己定义为敏捷团队中的测试人员,那到底意味着什么呢?敏捷测试人员是否需要与传统团队中的测试人员不同的技能集?是什么在指导他们的日常活动?

这篇文章摘录自书中,“Agile Testing: A Practical Guide for Testers and Agile Teams作者Lisa Crispin和Janet Gregory讨论了敏捷测试的思维定势,展示了敏捷的价值和原则如何指导测试,并概述了测试人员如何为敏捷团队增加价值。

敏捷测试人员的十大原则

作者:Lisa Crispin和Janet Gregory

 

什么是敏捷测试人员?

我们这样定义敏捷测试人员:一个专业的测试人员,与技术人员和业务人员都能很好地协作,并理解使用测试来记录需求和驱动开发的概念。敏捷测试人员倾向于拥有良好的技术技能,知道如何与他人协作以自动化测试,同时也是经验丰富的探索性测试人员。他们愿意了解客户的做法,以便更好地理解客户的软件需求。

谁是敏捷测试人员?她是负责敏捷测试的团队成员。我们认识很多敏捷测试人员,他们是从其他专业开始的。开发人员会受到测试感染,并在单元测试之外进行分支。一个探索性的测试人员,习惯于以敏捷的方式工作,被敏捷团队的想法所吸引。担任其他角色的专业人员,如业务或功能分析师,可能具有相同的特征,并做许多相同的工作。

技能固然重要,但态度更重要。Janet喜欢说,“没有态度,技能什么都不是。”在为我们的敏捷团队雇佣了大量的测试人员之后,我们对此进行了大量的思考,并与敏捷社区中的其他人进行了讨论。测试人员倾向于从全局看问题。他们更多地从用户或客户的角度来看待应用程序,这意味着他们通常是以客户为中心的。

 

敏捷测试思维定势

是什么让一个团队变得“敏捷”?对我们来说,敏捷团队是一个持续专注于做最好的工作和交付最好的产品的团队。根据我们的经验,这涉及到大量的纪律,学习,时间,实验和合作。这并不适合所有人,但对于我们中那些喜欢团队活力并专注于持续改进的人来说是理想的。

成功的项目是好人做好工作的结果。使一个人在敏捷团队中成为一个成功的测试人员的特征,很可能是使一个在任何团队中成为一个受到高度评价的测试人员的相同特征。

敏捷测试人员并不认为自己是一个优秀的警察,保护她的客户免受代码不足之害。她随时准备收集和共享信息,与客户或产品负责人合作,帮助他们充分表达需求,从而获得所需的功能,并向每个人提供项目进展的反馈。

敏捷测试人员,可能还有任何具有正确技能和思维定势的测试人员,都在不断地寻找团队能够更好地生产高质量软件的方法。在个人层面上,这可能意味着参加本地用户组会议或圆桌会议,以了解其他团队在做什么。它还意味着尝试新的工具,以帮助团队更好地将客户需求指定,执行和自动化为测试。

底线是敏捷测试人员,就像他们的敏捷队友一样,喜欢学习新的技能和接受新的挑战,他们并不局限于只解决测试问题。这不仅仅是测试人员的特点;我们在所有敏捷团队成员身上都看到了这一点。敏捷测试人员帮助开发人员和客户团队解决任何可能出现的问题。测试人员可以提供信息,帮助团队回顾并了解哪些是有效的,哪些是无效的。

创造力,对想法的开放,承担任何任务或角色的意愿,关注客户,以及对大局的持续看法只是敏捷测试思维定势的一些组成部分。优秀的测试人员对软件可能在哪里,如何出现故障以及如何追踪故障有一种直觉和理解。

测试人员可能在测试方面有特殊的专业知识和经验,但是一个优秀的敏捷测试人员并不害怕跳入设计讨论,提出有助于测试性或创建更优雅的解决方案的建议。敏捷测试的思维定势是以结果为导向的,工匠式的,协作式的,渴望学习的,并且对及时交付业务价值充满热情的思维定势。

 

应用敏捷原则和价值观

个人可以对一个项目的成功产生很大的影响。我们期望一个拥有更多经验和更高技能成员的团队能够胜过一个缺乏天赋的团队。但是一个团队不仅仅是它的单个成员。敏捷的价值观和原则促进了对项目中涉及的人员以及他们如何交互和沟通的关注。一个用敏捷的价值观和原则来指导自己的团队将比一个由才华横溢的个人组成的运作不佳的团队有更高的团队士气和更好的速度。

我们在第一章开始时提出的敏捷宣言中的四个价值陈述,显示了偏好,而不是最后通牒,也没有对做什么或不做什么做出任何陈述。敏捷宣言还包括一个定义我们如何处理软件开发的原则列表。我们的敏捷“测试”原则列表部分来源于那些原则。因为我们都来自极端编程文化,所以我们采用了它的许多价值观和基本原则。我们还纳入了对我们团队有效的指导方针和原则。你的团队自己的价值观和原则将在你选择实践和决定如何工作时指导你。

我们认为对于敏捷测试人员来说重要的原则是

  1. 提供持续的反馈。
  2. 向客户提供价值。
  3. 启用面对面交流。
  4. 要有勇气。
  5. 保持简单。
  6. 实践持续改进。
  7. 应对变化。
  8. 自我组织。
  9. 把注意力放在人身上。
  10. 好好享受吧。


(ClICK HERE FOR LARGER IMAGE)

 

增加价值

这些原则给团队带来了什么?它们一起带来了商业价值。在敏捷开发中,整个团队负责交付高质量的软件,这些软件使客户感到高兴,并使业务更有利可图。这反过来又为业务带来新的优势。

团队成员戴着很多帽子,敏捷开发倾向于避免按专业对人进行分类。即使是短的迭代和频繁的发布,在客户团队的期望和团队的交付之间也很容易产生差距。使用测试来驱动开发有助于防止这种情况,但是您仍然需要正确的测试。

敏捷测试人员不仅从将接受解决方案的涉众的角度考虑系统,而且他们还掌握了开发团队面临的技术约束和实现细节。程序员专注于让事情运转起来。如果他们的编码符合正确的需求,客户会很高兴的。不幸的是,客户通常不善于表达他们的需求。用错误的测试来驱动开发不会产生期望的结果。敏捷测试人员会尽早,经常地向客户和开发人员提出问题,并帮助将答案形成正确的测试。

敏捷测试人员采用比传统瀑布项目上的测试人员更集成,更面向团队的方法。他们使自己的技能和经验适应团队和项目。一个把程序员看作对手,或者坐等工作来找她,或者期望花更多的时间去计划而不是去做的测试人员,很可能会坚持她在传统项目中学到的技能,并且不会在敏捷团队中持续很长时间。


危险:你不是“真正”的团队成员

如果您是一名测试人员,并且您没有被邀请参加计划会议,站立或设计会议,那么您可能处于这样一种情况,即测试人员被视为某种程度上与开发团队无关。如果你被邀请参加这些会议,但你却没有发言,那么你可能会让人觉得你并不是团队的一员。如果业务专家都是自己编写故事和定义需求,那么您就不能作为敏捷团队的一员参与其中。

如果这是你的情况,你的队伍就有危险了。隐藏的假设很可能直到发布周期的后期才被发现。一个故事对系统其他部分的涟漪效应等到发现时已经太晚了。团队没有充分利用每个团队成员的技能,所以它不可能生产出最好的软件。沟通可能会中断,而且很难跟上程序员和客户正在做的事情。开发团队面临着以一种不健康的方式被划分为开发人员和测试人员的风险,而且开发团队更有可能与客户团队隔离开来。

你怎样才能避免这种危险呢?看看能不能安排在开发商附近。如果你不能,至少到他们的地区来谈谈,结对测试一下。让他们给你看看他们在做什么。让他们看看你写的测试用例。如果没有人邀请你,请你自己参加会议。通过测试和提供反馈让自己变得有用,成为团队的必需品。

帮助客户开发他们的故事和验收测试。推动“整个团队”的态度,并要求团队致力于测试问题。如果您的团队在适应敏捷开发方面遇到困难,建议在一两次迭代中尝试一些新的想法。建议采用“三方力量”规则,促进良好沟通。用这本书中的信息来说明测试人员可以帮助敏捷团队取得超出他们最狂野的期望的成功。

 

在故事估计和计划会话期间,敏捷测试人员从多个角度来看待每个特性:业务,最终用户,生产支持和程序员。他们考虑业务面临的问题以及软件如何解决这些问题。它们提出的问题冲破了客户和开发人员团队所做的假设。在每次迭代开始时,它们帮助确保客户提供了清晰的需求和示例,并且帮助开发团队将这些转化为测试。测试驱动开发,测试结果提供团队进度的反馈。测试人员帮助提出问题,这样就不会忽略任何测试;不仅仅是功能测试。客户并不总是知道他们应该提及他们的性能和可靠性需求或安全关注,但是测试人员认为应该询问这些。测试人员还保持测试方法和工具尽可能简单和轻量级。到迭代结束时,测试人员验证最小测试已经完成。

敏捷团队中角色之间的界限是模糊的。其他团队成员可能擅长测试人员执行的相同活动。例如,分析师和程序员也编写面向业务的测试。只要执行了所有的测试活动,一个敏捷团队就不一定需要那些主要将自己标识为测试人员的成员。然而,我们已经发现团队受益于专业测试人员所开发的技能。我们所讨论的敏捷原则和价值观将帮助任何团队做好测试和交付价值的工作。


摘要

在本章中,我们介绍了敏捷测试人员的原则,以及我们认为敏捷测试人员为了有效地为敏捷团队做出贡献而需要具备的价值。

  • 一个“敏捷测试思维定势”是以客户为中心,以结果为导向,工匠式的,协作式的,创造性的,渴望学习的,以及对及时交付业务价值的热情。
  • 态度很重要,它模糊了测试人员,程序员和敏捷团队中其他角色之间的界限。
  • 敏捷测试人员应用敏捷价值和原则,例如反馈,沟通,勇气,简单,享受和交付价值,以便帮助团队识别和交付每个故事的客户需求。
  • 敏捷测试人员用他们独特的观点和面向团队的方法为他们的团队和组织增加价值。


这是从书中摘录的, 《Agile Testing:A Practical Guide for Testers and Agile Teams》,由Lisa Crispin和Janet Gregory编写,由Pearson/Addison-Wesley Professional出版,ISBN 0321534468,2009年1月,版权所有2009 Pearson Education,Inc.获得完整的目录,请访问出版商站点:
www.informit.com/title/0321534468