InfoQ

新闻

将测试人员整合到敏捷团队中

作者 Mark Levison译者 郑柯 发布于 2008年5月13日 下午9时29分

社区
Agile
主题
协作,
敏捷实施
标签
测试,
结对编程

将测试人员整合到敏捷团队中,这是敏捷之道常常重复的一条箴言,可我们并没有认真想过这到底意味着什么或者应该怎么做。

团队中测试人员的角色具体负责什么呢?他们要:

  • 协助团队抽取并定义验收条件(或需求)
  • 提供相关质量信息,而不是通过自动化测试、探索性测试(exploratory test)[译注]来寻找bug
  • 与客户一起工作,识别风险
  • 在开发人员测试(单元测试与集成测试)的薄弱环节投入更多精力。比如,如果我们知道团队已经完成了对数据层的测试,但是GUI层难于进行单元测试,那测试人员就应该花费更多努力在这一层的测试上。

选编自(Cem Kaner, Johanna Rotheman(pdf),以及Jonathan Kohl)。

与大多数人已经熟知的传统测试经验大不相同,敏捷团队中的测试有其自身特点。Jonathan Kohl,是Kohl Concepts的联合创始人。如他所说:“不同之处在于:在敏捷项目中,我们可以更快地找到重要的bug。我们更愿意将测试贯穿于开发过程始终。现在开发人员们使用可靠的自动化测试来让他们的工作更加严谨,我所测试的产品也就更加健壮了。”

Antony Marcano是一位敏捷测试独立咨询顾问,他提及了自己学习到的一些经验:

  • 编写验收测试需要协作:尤其是在客户、测试人员和程序员之间。
  • 测试人员与开发人员应该互相提升彼此的技能。
  • 测试任务应该作为sprint backlog的一部分,而不能是单独的测试计划。
  • 使用“探索性测试”来产生反馈。
  • 在修复bug之前,要先写自动化测试以重现这些bug。

Simon Baker是Energized Work的联合创始人。在他的团队中,开发人员编写绝大部分的验收测试。测试人员从而可以专注于进行“探索性测试”,并与Product Owner一起与客户沟通,并帮助团队理解用户(而不仅仅是故事)。开发人员针对垂直的切片(故事的小部分)展开工作,以满足特定的验收条件。当切片完成后,开发人员与测试人员一起仔细检查切片,并理解验收测试。团队将缺陷视为工作线性进展的停止点。开发人员可以在下次切片处理过程中修复缺陷,或者选择创建一个缺陷修复任务,从而使其不再处于开发阶段。缺陷修复任务成为团队优先级最高的任务。测试人员发现,即使他们与开发人员都使用同样的技能,还是要花费很多时间彼此协作,而整理bug的时间反而少了。


译注:探索性测试(Exloratory Test),是一种通过假定来寻找软件缺陷的战术测试技能。利用它,可以同时进行学习、测试设计和测试执行。软件在接受测试的同时,测试人员学到新的东西,积累更多经验,从而能够产生更多优秀的、有新意的测试。

查看英文原文Integrating Testers on to the Agile Team

没有回复

回复

独家内容

程立谈架构、敏捷和SOA实践

支付宝首席架构师程立在本文分享了支付宝技术架构的发展,对架构的认识,成功架构的特点,如何避免架构设计的失败,以及在敏捷和SOA方面的实践等。

Emmanuel Bernard谈Bean验证规范

InfoQ有幸采访到了Emmanuel Bernard,向其了解Bean验证框架及专家组正在寻求的社区参与的更多相关信息。

通过索引器简化C#类型信息访问

作为一个有别于Java、Ruby等语言的一个特性,C#可以用索引器(Indexer)将类型本身以对象数组的形式供外部使用。同时,把索引器和LINQ结合使用倒是一个非常不错的组合,索引器做接口、LINQ完成内部检索逻辑,客户程序在无需记住具体方法名称的前提下,按照键值检索即可,索引器内部则依托LINQ to系列的基础,提供对各种异构数据源的访问。

产品负责人成功之道

Scrum中,产品负责人这个角色具有很大的影响力,能够带来很高的价值。但要想运用得当,可没那么轻而易举。如果做得好,就可以在客户和开发者之间建立更为融洽的关系,并能够增加组织的竞争优势。

硝烟中的Scrum和XP

在本书中,作者Henrik Kniberg讲述了他在一年的时间里,带领40人的团队实施Scrum的过程。他们试过了多种团队尺寸(3~12人)、sprint长度(2~6星期),定义“完成”的不同方式,不同的backlog格式,各种测试策略,在多个Scrum团队之间进行同步的多种方式。他们还尝试过XP实践——持续集成、结对编程、测试驱动开发等等,还试过了把XP跟Scrum组合。

软件开发中的准时化生产

准时化生产(Just In Time)是精益生产(Lean Production)和丰田生产系统(Toyota Production System)中的概念,敏捷开发与准时化生产中的很多观点和实践是一致的,精益思想作为精益生产背后的指导思想也正在积极地影响着软件开发领域,向其中不断注入创新与活力。

Tapestry for Nonbelievers

I. Drobiazko和R. Zubairov合作撰写了一篇文章,详细介绍Apache Tapestry 版本5——一个面向组件web框架。文章向读者展示了创建组件方法,并谈到了Tapestry中的IoC以及Ajax的相关特性。

ESB拓扑方案

在本文中,Adrien Louis讨论了两种基于ESB的SOA拓扑方案的优缺点:单个公司级ESB vs. 彼此互联的“部门级”ESB系统。Adrien讨论了每种方案对管理、业务监测、治理、可靠性和编配等问题的影响。