我的观点是测试人员的核心竞争力在于提前发现参与研发过程中的其他人员所无法发现的问题。
●提前:问题发现的越早,解决的成本越低。如果1个需求在还未实现的时候就能发现需求的漏洞,那么这种问题的价值是最高的
●别人无法发现:所有人都能发现的问题,你发现了,那就证明你是可以被替代的。别人发现不了,而你可以发现,那么你就是无法被替代
专家的观点跟我类似,他认为测试同学的核心技能不是执行用例,而是识别盲点。
测试同学应该要组织整个测试活动,并且识别出系统或者产品的盲点,让合适的人去进行合适的测试活动。比如告诉开发在做单元测试的时候注意哪些点,让测试开发的同学在做接口级的自动化测试的时候注意哪些异常的接口行为等。
那么识别盲点的能力如何培养呢?我觉得可以从下面几个方面去主动提升这个能力。
●做最熟悉系统或产品的那个人。有同学可能觉得这应该是产品经理或BA的事情。其实产品经理们可能对系统或产品的正常行为比较清楚,对一些异常的行为可能关注度不够,测试同学是有能力做最熟悉产品和系统的那个人的,毕竟任何一个地方出问题首当其冲的就是测试同学;
●经验。老司机们踩过的坑比较多,在一个领域浸淫的时间长了,试过许多错,自然就知道哪些地方出错的概率比较高,提前抛出问题,识别盲点,这大概就是是老司机测试之道吧;
关于全栈测试
目前测试人员的发展方向里出现了全栈测试的概念。
这个概念具体代表什么,我其实不是很清楚,但职责范围可能会围绕着下面几个方面
●测试左右移:我之前的文章里其实提过,测试可以把质量保障活动左移到需求分析阶段,把质量监控又移到线上阶段。左移要求业务熟练,右移要求运营敏感和技术提升
●自动化执行测试能力:把测试的执行尽可能的分配给机器去做
●识别盲点:核心能力不能丢
●测试工程化:不同的测试策略需要不同的工程支持
●专项测试能力:客户端,性能等专项测试,测试的广度跟精度都需要有
●架构能力:能够识别出架构上的盲点,提前抛出问题,推动解决
总结
测试的核心竞争力是识别盲点,业界对测试的期望越来越高,大概是出于项目或产品的实际需求以及节约人力成本提升测试效率的考虑。
测试需要发现问题,但如果越早发现,价值越高。
开发是可以做测试的,项目进度紧张的时候,其实开发可以顶上做测试,就是所谓的开发右移或者devops。然而开发资源紧张的时候,测试往往没办法左移去帮助开发,可以想到,当开发的质量意识提升,质量行为左右移之后,传统的测试岗位可能会减少。