对于这个观点,在社区有过很多激烈的讨论,比如这篇文章《我们需要专职的QA吗?》就曾经引起了很大的争议,其实个人认为这篇文章里提到的QA指的是Tester,具体两者的区别可参考前面的观点;抛开这个,作者的某些观点其实是很有价值的,比如作者最后提到了质量不是测出来的,要通过软件生命周期各个阶段相关活动的保障,而这些活动都离不开QA的参与。
首先需求分析阶段,QA可以从不同的视角对于需求提出疑问,补充,修改,因为QA特有的技术背景,对于软件的可用性等有更深入的理解,所以往往可以提出不同于业务分析师和开发人员的观点;开发阶段,QA也会审查开发人员写的自动化测试,通过QA的专业测试背景帮助开发人员写更有价值的测试,比如我们在项目中曾经发现开发人员写了很多没有业务价值的测试;测试阶段,探索性测试,可用性测试,安全测试,性能测试等都是QA们在做的事情。
当然,如果业务分析师从各种视角把业务分析的透彻完美,开发人员可以写非常有价值的测试,也可以做各种类型的手动测试,那么去掉专职QA也不是不可以,那样的话不是不需要QA,而是人人都是QA。
结论
以上列出来的七点是刚刚接触敏捷测试时很容易进入的误区,甚至有的观点在一些已经施行敏捷很长时间的团队中仍然存在,这些观点很容易导致敏捷测试走上弯路,以上是结合实际项目经验个人的一些思考,希望对大家有所帮助。