我这里所指的传统QA指的是在瀑布式研发流程中的测试工作。
业界星转斗移,对测试工作这些年最大的冲击有两项:自动化测试和敏捷流程。自动化测试使得古老的黑盒测试受到的挑战,对测试人员的门槛要求骤然提高;敏捷则进一步加剧了混乱,不少测试人员发出了QA是不是在敏捷中无用了的哀叹,从而对QA的职业生涯产生了怀疑。
这些冲击很多来自工业领军的公司,比如谷歌。能够翻墙的朋友,可以在youtube看到不少谷歌如何做测试的视频。
如果我们把谷歌和传统QA相比,可以看出一些改进的线索。
我们先把测试从测试对象层次上分为单元测试,接口测试和功能测试。
单元测试指的是对函数级别的测试,常用工具有JUnit等。接口测试指的是对组件或模块外露的API的测试。功能测试指的是端到端的功能测试。以下是一个对比:
单元测试 | 接口测试 | 功能测试 | |
谷歌 | 强 | 强 | 20-40%自动化,其余外包 |
传统QA | 弱 | 中等 | 强,人数多 |