计算机软件的本质是解决信息传播的效率问题,软件测试的本质则是保障软件质量,提高计算机软件的发布效率问题。
如果说开发是创造,那么测试只能算是辅助,拼代码能力肯定是拼不过开发人员的,那么就只能考虑在其他方面胜出了。以下是本人认为测试人员最需具备的核心竞争力。
一.测试策略设计能力
针对不同被测软件,能够快速准确理解需求,且在有限的时间和资源的前提下,明确测试重点及最适合的测试方法。
主要包含以下几个问题:
1.测试需要执行到什么粒度;
2.需要用到哪些工具;
3.自动化框架选型及如何运用;
4.测试资源如何合理分配;
5.测试进度如何把控;
6.测试风险如何应对
出色的测试策略设计能力,需要经过大量项目的实战,并且不断总结提炼出共性内容,这个是最核心的竞争力,也是最难培养的。
二.测试设计能力
无论对于什么类型的测试,你所设计的测试用例总能高效的发现程序缺陷,保障产品质量,这就要求你不仅需要深入理解被测软件需求和用户使用习惯,还要熟悉项目软件的技术架构、缓存机制等。
另外,在平时都得多积累,对常见缺陷模式、类型进行归类总结形成体系。还可以阅读一些好的测试用例设计开阔思路,达到融合贯通的目的。
执行力超强但不懂设计的测试人员,犹如比赛中常胜但却不懂赛道设计的赛马。
三.快速学习的能力
包含两个方面:
1.对不同业务需求功能的快速学习与理解能力; 2.对测试领域新方法和新技术的学习和应用能力。
如今的软件项目,尤其是互联网项目,都是以月为周期的,有的甚至以周或者天为单位,测试需要接触不同类型的项目,所以快速学习的能力是必备技能。
四.良好的沟通能力
测试往往需要对接产品经理或项目经理,确保产品需求的正确实现与项目整体质量的达标,另外还需要和开发不断沟通,确保缺陷的不断沟通与验证。
所以测试工程师的沟通能力好坏,直接影响事物处理效率的高低。
五.自动化测试技术
掌握了自动化技术,可以把你从大量的重复劳动中解放出来,这样提高效率后,就可以有更多时间做其他类型的测试。
不过切记,不管是自动化测试还是测试开发,其重点都是“测试”,保障产品质量才是测试的根本,其他都只是手段。