从事测试工作 7 年了,最近是越来越看不懂测试圈了,我想问我是不是走进了测试误区
大学刚毕业的时候做的是嵌入式产品的手工测试,客户是日本人,那个时候的工作几乎是都是分析需求,设计用例,Review 用例,测试执行,bug 反馈之类的工作,没有什么技术含量,但是培养的是测试思维,我想这可能是当时测试人员最重要的素质了,虽然说穷尽的测试是不可能的,但是 Case 的覆盖率真的是很高,想的到的,想不到。后来逐渐开始带团队,主要的工作重心放在提供完整的测试解决方案,测试计划,风险评估,测试流程管理等等,那个时候用的还是瀑布式开发模式,留给测试的时间和空间也足可以让测试人员自己对测试产品有足够的信心,那个时候我以为测试可能会一直这样下去。
后来,互联网时代的到来,测试人员开始学习一些新的技术,想尽办法减省人力,提高效率,开发模式也发生了变化,迭代,敏捷成了各大公司最求效益的最好方法,因为升级迭代的成本不像嵌入式产品那么大,所以流程和风险都可以通过下一个迭代来弥补,这样的方式流程测试人员的时间是有限的,甚至是被压缩的,对于做了这么久的瀑布模式的我,不走完所有的流程对产品质量就没有信心,所以每次版本发布都是惴惴不安的,后来我也还是接受了现状,根据产品的上线时间点,用户场景,issue 的等级来有条件的放宽上线标准,至此,测试失去了主动权,更多的是产品作为主导,只要是产品经理说可以上线的就可以上线了,也不是我放弃了测试的信念,只是审时度势,现实确实这样的,大家都在抢占先机的时间段,有些事情是要分轻重缓急的。可是,当出现上线的问题的时候往往大家第一句是测试是怎么测的呢,这个锅测试背不起呀,于是接下我的工作就是和开发斗智斗勇,和产品经理划分责任,和老板反馈现状,对于测试工作,我只能是做到我能做的,根本不敢说多产品质量负责。
终于我决定跳出现状,不想要继续做管理,打算静心研究技术,只是技术的水太深,我学了 python,学了各种自动化框架,可以写写脚本,利用工具做做性能,压力,分析分析瓶颈,应该可以是可以做一个自动化测试工程师了,于是我决定出去面试,但是发现面试官需要我有测试框架的能力,由于我对接下的工作有自己的想法,宁缺毋滥,不想先找一个随便做做,于是我开始学习自己搭建自动化测试框架,搭建了 2 套,在项目用了一下,我觉得还可以,能够满足使用的需求了,于是我又面试了,后来我发现公司希望的不仅仅是框架,他们希望的是测试人员能做出一整套的测试工具,我曾经问面试官,有一些开源的工具完全可以拿来用呀,面试官的回答是开源的工具不能和公司很 match,希望自己公司的产品能做到不懂代码的人员也可用,那么我就有个疑问了,工具是给不懂代码的人员用的,那为什么各大公司在招聘的时候要要求会代码,能写脚本,甚至是要会开发呢,于是我开始学习前端,后端技术,希望自己能开发个简单的工具(没有学明白目前)。
多次的面试还发现,有的公司希望测试来管理流程,通过测试规范开发流程,常常还被问道如果发现 bug 的时候开发不肯改,你该怎么处理,这样的问题其实我知道该怎么回答,我也知道问这种问题的公司大多是因为开发很难搞,测试很被动,但是我真的不想回答,如果只是测试去迎合开发,开发自己本身对自己的产品没有要求,那还沟通个毛线,公司为什么能容忍这样的开发,可能这样的公司是少数,或者是不规范的公司,但是我想说的是在大家的思维中,测试的地位大致都是比较低的吧。我知道的一个真实状况,一家金融公司的测试总监,测试技术不用说了,开发能力也很强,喜欢研究前沿的技术,也喜欢分享,经常开会给开发和测试人员分享技术,可是开发的想法却是一个测试跟我们谈技术。。。
最近我经常想测试的本质是什么?难道是开发各种测试工具进行测试,还是只是尽量减少手工,高效的测试,现在除了通过工具分析下测试覆盖率,真正的 Case Review 大家都是怎么做的,有几轮的 Review,那些场景性的测试怎么覆盖的,探索性的测试是怎么做的。没有详细的需求文档,测试人员是怎么进行需求分析的,产品的逻辑是通过什么方式理解的,我在想我一味的追究前沿的测试技术,到底是在学习怎么进行开发还是怎么进行测试。
我想我可能最近是有些浮躁了,就这样的发发牢骚,希望大牛们能帮我理清下思路,当然我不负能量爆棚的人,我希望和我一样迷茫的人能明白,如果现在看不透,那就不用努力看透,低头做好现在正在做的,也许会在猛抬头的一瞬间就看透了,事情总是在发展的,光有焦虑是不行的,静下心来,沉淀自己,就算是一事无成,也会有很多一事无成的人陪着您的。