TDD团队中的测试人员(4)

发表于:2016-06-13来源:infoq作者:Maarten Folkers点击数: 标签:测试人员
那么,TDD团队中的测试人员究竟应当掌握哪些技术方面的知识呢?以下陈述基本是没什么疑问的: 敏捷测试人员需要掌握良好的技术知识,了解如何与他人

  那么,TDD团队中的测试人员究竟应当掌握哪些技术方面的知识呢?以下陈述基本是没什么疑问的: 敏捷测试人员需要掌握良好的技术知识,了解如何与他人合作进行自动化测试,而成为经验丰富的探索性测试人员(Crispin, Gregory 2009)对于TDD团队来说同样有意义 。

  但我却相信,对于已开始实践TDD的敏捷团队与尚未开始实践TDD的敏捷团队来说,他们对于职务的需求也是不同的。对于尚未开始TDD的团队来说,敏捷测试人员也许将被迫使用某些不为开发人员所用的测试工作,或是进行大量的手工测试。而在TDD团队中,测试人员更有可能在IDE中进行工作,这时,该角色的技术需求就变为:

  掌握至少一门编程语言(从而能够阅读及编写测试)。

  了解命令行与脚本编写的知识(包括服务器与本地机器)。

  具备数据库方面的经验(用于在没有GUI的情况下检查持久化的情况)。

  结语

  本文引用了Kent Beck、Martin Fowler和David Heinemeier Hansson的对话,这也是激励我撰写本文的动力。如果你对于测试有兴趣,应该听一听他们对于“将代码扔给QA”以及“老派的QA做法还不如不要QA” 等观点坦率而直接的表述。

  为了对此问题进行透彻的分析,我首先描述了老派的功能性测试方法,它所造成的结果不经过思考的功能检查,这种方式带来的伤害更大于它的价值。这并非我的臆想,而是有强烈的迹象表明仍有许多组织以这种方式进行测试,无论他们是否采用了“敏捷”实践。

  接下来,我指出了为什么将TDD开发者与“老派的功能测试人员”结合在一起是一种不推荐的方式。在团队组成那一部分,我对于在TDD团队中设置测试人员的角色持保留态度,并将其修正为在团队中应当设立一些对于测试充满热情的成员。

  至于测试人员所需的技能,我认为在TDD过程中已不需要进行老派的功能性检查。在TDD团队中仍然有测试人员的一席之地,但他们的测试工作需要更专业的技术知识。

  收获

  如果你是一位仍在进行手工检查的测试人员,那么应当考虑TDD或其他能够将手工检查自动化的解决方案。如果你还不具备上文所提到的技术知识,那么是时候将你的知识水平提升至这一程度,从测试工作中获得更大的乐趣!《More Agile Testing》(Crispin Gregory 2015)一书对于应当具备的知识进行了详尽的介绍,我极力推荐这本书给那些希望继续从事测试工作的读者们。为了掌握这些知识,我建议大家进行正规的学习,它会让你更好地了解某个主题,并且加快学习的速度,同时也使你有机会证明自己已具备了这些知识。

  如果你是一位团队主管或经理,并且对于测试方面的问题感到受挫,那么你或许应当考虑一下如何实现更高级的测试方案。你需要的是在团队中找到能够实现方案,同时又对测试充满热情的人。在“程序员即测试人员?”(Programmers as Testers?)这篇文章(Gregory 2011)中,Janet Gregory表示她倾向于测试人员应当具备技术背景的观点,但如果他们将测试人员的角色仅仅当作成为程序员的一块垫脚石,那么就不要以测试人员的身份招聘他们。这一点无可厚非,如果测试人员对于测试工作没有热情,他们就无法很好地实现测试象限或探索性测试。反过来说,如果某个测试人员不具备必需的技能,他就无法实现测试自动化,甚至在探索性测试中也做不到完全高效。换句话说,技能与热情是实施敏捷测试的必要条件。

  参考

  Ambler (2003-2014), Personas an Agile Introduction

  Bach, Bolton (2013), Testing and Checking Refined

  Cohn (2009), The forgotten layer of the Test Automation Pyramid

  Crispin (2009), Agile Test Planning with the Agile Testing Quadrants

  Crispin, Gregory (2009), Agile Testing A Practical guide for Testers and Agile Teams

  Crispin, Gregory (2015), More Agile Testing Learning Journeys for the Whole Team

  Gregory (2011), Programmers as Testers ?

  Hendrickson (2001), Better Testing – Worse Quality ?

  Hendrickson (2006), Test Heuristics Cheat sheet

  Hendrickson (2013), Explore it!

  Kaner, Hendrickson and Brock (2001), MANAGING THE PROPORTION OF TESTERS TO (OTHER) DEVELOPERS

  Larman, Vodde 2008, Scaling Lean & Agile Development

  Marick (2003), Agile testing directions, tests and examples

  Shore (2007), The Art of Agile

  关于作者

  Maarten Folkers 是一位测试方面的专家顾问,他对于(管理)传统的软件测试方法与现代化的测试技术的应用有着丰富的经验。现代化的测试技术包括TDD风格的编程方式、构建与部署自动化、在构建管道中集成协议层以及GUI层的测试、以及探索性测试(的宣传)。Maarten具有法律专业的硕士学位,并且正在攻读计算机科学方面的本科学位。他目前居住在位于荷兰南部的Den Bosch,热衷于历史、烹饪与跑步。

原文转自:http://www.infoq.com/cn/articles/testers-TDD-teams