我这里所指的传统QA指的是在瀑布式研发流程中的测试工作。
业界星转斗移,对测试工作这些年大的冲击有两项:自动化测试和敏捷流程。自动化测试使得古老的黑盒测试受到的挑战,对测试人员的门槛要求骤然提高;敏捷则进一步加剧了混乱,不少测试人员发出了QA是不是在敏捷中无用了的哀叹,从而对QA的职业生涯产生了怀疑。
这些冲击很多来自工业领军的公司,比如谷歌。能够翻墙的朋友,可以在youtube看到不少谷歌如何做测试的视频。
如果我们把谷歌和传统QA相比,可以看出一些改进的线索。
我们先把测试从测试对象层次上分为单元测试,接口测试和功能测试。
单元测试指的是对函数级别的测试,常用工具有JUnit等。接口测试指的是对组件或模块外露的API的测试。功能测试指的是端到端的功能测试。以下是一个对比:
谷歌测试 vs 传统QA
谷歌的实践从效率和质量,更加符合互联网时代快鱼吃慢鱼的现状。而传统QA转型,大的难度在那里呢?以下是常见问题:
1、大量的没有单元测试的遗留代码。一是Mock的难度很大,同时工作量巨大,管理层很难下决心
2、部分开发人员抵制单元测试,因为他们更喜欢写功能
3、测试人员冷眼,因为他们的主要技能积累和信心经验在功能测试,对单元测试和接口测试的成功率没有信任感。
要实现转型,大量培训和尝试必不可少。管理层的决心和恒心往往是成败的关键。