软件开发是否需要专职测试?对于这个问题在若干年前就一直很有争议。网络上比较有代表性的文章有左耳朵耗子的《我们需要专职的QA吗?》、Sriram Krishnan的《关于测试和测试人员》,后续有邹欣对此的回复《测试QA的角色和分工》。
这些年业界发展趋势来看,很多公司都不需要专职测试了,只需要开发兼任测试工作就可以了。比如,Facebook号称自己没有专职测试工程师,Google和Amazon虽然有专职的测试工程师,但都是Dev对软件质量负责,Dev写大量的自动化测试代码。
1 为什么Facebook可以做到没有专职测试呢?
这里的专职测试,我的理解更偏向于Testing,主要职责是发现Bug,报告Bug,跟踪Bug。而Facebook是有测试工程团队的,主要职责是打造基础通用工具,有点像EP。RD都需要为他们的代码写自动化测试用例,并维护这些测试用例,保证产品代码改变的同时这些测试代码可以正确地运行。(参考Quora上的讨论:Facebook的自动化测试)
Facebook可以做到没有专职测试,可能有以下一些原因:
- 大量的优秀