你不需要软件测试人员吗?
上一篇 /
下一篇 2012-09-04 09:03:41
/ 个人分类:杂谈
w4u!yZT*j ^ z^[(A0 我曾经和来自不同开发机构的人探讨过关于他们如何管理软件开发,如何组织,他们遵循什么样的开发实践,以及什么样的开发实践真正有效。工作在小团队的大部分人都没有人手帮他们测试程序,因为测试人员们不是真正开发软件的人,所以通常觉得他们是多余的。这就意味着程序员许要自己测试他们的软件 – 或者用户来测试。51Testing软件测试网9{e;]0l7Y
51Testing软件测试网Y*v.`Tc:gYmg/r 敏捷团队中的测试人员能做什么?
Q:zI2x%rhS0,l
s_t*^0b0 很少敏捷团队会觉得需要测试人员。测试人员被看作是瀑布时代的产物(需求、设计、编码、测试)。在XP团队,每个人都是程序员,每个程序员都要负责测试自己的代码,写自动的单元测试,使得用户需要的验收测试自动化。Scrum根本没有定义测试要做什么 – 团队会最终找到解决方案,因为他们会检阅自己并调整自己,以获得最佳的实践。
U(o/Bz|~q
k/i
]0g:A@ W9zH kw"W0 如果程序员已经测试了他们的代码(也通过结队的方式进行了代码审查),那么他们需要测试人员做什么呢?
9N
eo9Fn:e1K4|09o4q:Mio1T:}0 Janet Gregory和 Lisa Crispin写了一本书来说明敏捷团队中测试人员的作用,它向程序员和测试人员说明测试人员是如何配合敏捷开发的,但这仍然没有改变大多数团队的看法,尤其在“工程驱动的文化”(程序员创立的创业团队)中更是如此。51Testing软件测试网 ^[mN S4x3Ph6^
51Testing软件测试网r#uA
z0e0I k%K 他们的论点是敏捷团队的步伐相对于测试人员来说太快了,黑盒测试人员们仅仅通过写测试计划,通过手动的测试代码来测试,或许要不断的更新他们的质量中心或SeleniumUI回归测试,这些都不可能追得上在短时间内就要发布新功能的团队的进度。如果测试人员不会用Fitness或Cucumber写验收测试,或者没有足够的业务知识帮助填补客户/产品拥有者的空当,不能回答程序员的问题的话,那么他们又有什么优势呢?
kQt+u'N4w051Testing软件测试网A"H\}K s C 这个问题在持续开发中更为显著,一些公司如IMVU和Facebook,使得某种编程实践变得流行起来,他们查看自己的工作,写自动测试用例,查看代码看看测试是否通过了,更新都是很快的,然后自动发布到在线系统中去。
x k Rf$In0