TDD团队中的测试人员_第1页
TDD团队中的测试人员_第2页
TDD团队中的测试人员_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第第页TDD团队中的测试人员TDD团队中的测试人员

发表于:2023-06-13来源:infoq:MaartenFolkers点击数:标签:测试人员

测试驱动开发(TDD)是一种开发方式,它改变了传统软件开发的流程,即首先设计程序,再进行编码与测试工作。TDD采取了很小的增量式开发方式:首先编写一个测试,再编写实际程序代码

(测试)驱动(开发)(TDD)是一种(开发)方式,它改变了传统软件开发的流程,即首先设计程序,再进行编码与(测试)工作。TDD采取了很小的增量式开发方式:首先编写一个测试,再编写实际程序代码以通过测试,最后对代码进行改进。这种方式的结果是大量的(通常可达到几千个)(自动化)测试,能够在几秒钟之内执行完毕。

(测试人员)需要注意到一点,这些高效的自动化(单元测试)剔除了大多数手工测试的执行。这样一来,我们就需要重新反思是否有必要在TDD团队中继续保留(测试人员)的角色。

从表面上看,无论是否采用TDD,"测试人员'都是团队中必不可少的角色,但实际情况要复杂得多,现在让我们来看看这些复杂性体现在何处:

如果你打算开始尝试TDD,那么建议你不要试图在团队中揉合老派的QA与(功能测试)人员。

如果你已经成功地实施了TDD,那么在团队中安排一位专攻测试的成员仍然是有意义的。

在TDD中团队中能够取得成功的测试人员与传统的功能测试人员的区别在于,前者具有更扎实的技术背景。

QA的兴衰

在对"TDD已死?'这一主题所展开的一次对话中,KentBeck(KB)、MartinFowler(MF)与DavidHeinemeierHansson(DHH)围绕着QA与测试展开了激烈的讨论。他们指出了专职测试人员历史的3个发展阶段:

堆积QA:通常指机能失调的QA部门,其中充斥着大量的功能测试人员。

摒弃QA:对于让程序员负责测试的做法过于自信,在开发过程中摒弃测试人员。

当前现状:在项目中引入适当的QA(甚至是功能性的)仍是有必要的。

流行于上世纪90年代的堆积QA的做法现在看来似乎已经过时了,许多IT组织已经解散了他们的QA部门,并将测试人员分派到各个敏捷团队中。不过,在许多敏捷团队中,这些测试人员仍在继续着早期的手工测试任务。众多组织仍然受困于延续自20年前的机能失调的(测试方法)。

老派的QA方式之所以出现机能失调的情况,是因为这种方式依赖于大量的功能测试人员。这些测试人员是手工测试方面的专家,但对于技术方面的技能知之甚少。测试人员的专业性决定了他们擅长于对功能的"测试'。但是,老派的QA部门更倾向于(同时也出于商业利益的考虑)让这些测试人员对功能进行"检查'。

"检查'的主要特点在于:这种测试完全可以实现自动化(Bach与Bolton2023)。这就意味着"检查'功能可以由程序员完成。至于是应该让测试人员还是程序员进行功能"检查',这种选择貌似随意,其实不然:无论是发现(bug)、进行隔离、汇报、跟踪或是提出修复意见,测试人员都要花费更多的时间(Kaner2023)。

通过手工测试人员对功能进行"检查'的方式让老派的QA变得非常低效。一旦团队培养出"不要测试自己的代码,把它丢给QA去做'这种观念,测试工作就变得机能失调了(KB与DHH在这次对话中的观点)。这种方式发展到一定程度,就会造成效率的不断下降,随着投入的测试人员越多,反而会造成bug数量的不断升高。(BetterTesting-WorseQuality,Hendrickson2023)

摒弃QA是对于手工测试这种机能失调的实践的一种自然反应。之所以本文的标题没有取名为"敏捷团队中的测试人员',是因为摒弃QA的做法在某些情况下并不可行,比如你的敏捷团队虽然实施了Scrum框架,却没有进行任何自动化单元测试,又或是团队正在进行某些商业现成品或技术(COTS)的软件开发。如果团队中没有设立功能测试人员,则必须实施TDD实践,或是其他任何一种能够生成自动化单元测试的方法。

在大多数情形下,选择了TDD就意味着你必须改变程序员的技能、习惯,并且往往还需要改变他们的态度与自我意识。而实现以上这几点并不容易,同时TDD本身也并非可以一促而就的:"要很好地掌握遗留代码、对单元测试进行适当的隔离、以及集成测试是非常困难的'(Shore2023)。根据评估,当程序员转为采用TDD实践后,前几个月的生产力会急剧下降。不仅如此,对实践TDD的新手往往要进行几周乃至几个月时间进行手把手的(培训)(Larman,Vodde2023)。

依我的经验看来,老派的程序员与测试人员之间往往存在着一种共生现象。老派的程序员不喜欢进行单元测试,只要项目中有测试人员,他们就企图蒙混过关。而老派的测试人员也不愿意学习技术知识,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论