新梦想干货分享——在测试的路上,如何做一个安静的美男子
请注意!!!
这里没有用例设计,没有测试分析,没有性能测试,没有自动化,更没有单元测试和接口测试,仅仅从测试—>发现bug的过程中看看我们能够走多远!
为了更加形象的描述每个阶段,我用小B的整个测试经历来给大家分享吧!
当然,小B刚开始也是一个测试菜鸟(我们叫测试的第一个阶段吧);刚进入项目后,基本上每天的工作就是:测试用例—>提交bug—>回归bug。刚开始还挺新鲜,一段时间后有天晚上突然惊醒,抓住一只蟑螂大吼:卧槽,尼玛这也太无聊,太没有技术含量了吧!难道我以后的工作就是每天干这个吗!当然,吼完后也跟其他人一样把蟑螂弄死后继续睡觉。
那一年,小B是23岁,不幸的是真的被他言中了,他以后很长很长的一段时间都是在干这个(直到现在);不过,幸运的是,他再也不觉得干这个是浪费青春了。不过这些都是后话,第二天上班后,小B就决心有所改变了。
当然,第二天的工作依然是重复昨天的故事,不过小B在这个过程中发现了一个问题:每次提交bug后开发还要跟自己确认环境,甚至再给开发演示一遍。这样经常被打断,效率也太低了,特别是自己也不太确认bug是怎么出来的时候。难怪以前经常任务完不成要加班的。
如果每次提交bug后,开发都能不用来找自己该多好啊?为了这个目标:小B开始进入了第二个阶段。过程就是每次发现一个bug都去想如何提交上去后就让开发不再找自己了。为了达到这个目标:小B做了如下事情(具体细节就不讲了);
1、熟悉对应功能的需求,因为经常有些问题自己也不确认是不是问题。熟悉了需求,了解了为什么需要这个功能,给客户带来的价值是什么。
2、看研发的设计文档,学习里面的业务逻辑,这样发现一个bug后就能过大概判断是怎样产生的,然后也能够更快的复现以及必现这个bug。
这个阶段经历了1年多的时间,而且也经历了很多痛苦的过程,比如:因为需要学习和自己尝试去排查问题,导致很多非必现的bug最后重现不出来了,还因此被老大说了几次;另外就是因为文档看不懂去厚着脸皮找开发被鄙视和拒绝了很多次(作为一个有自尊的人心里还是很难受的);还有就是加班比以前更多了。
不过,付出终有回报。一年后,基本上80%的bug开发都不再找自己了,更重要的是得到了开发的认可,这个开发的认可应该是一年来得到的最大收获吧。因为得到开发的认可后,感觉后面整个测试工作都非常轻松了,开发也愿意配合。
人总是贪婪的,在尝到甜头后,总是想得到更多,小B也不例外(请小B原谅我这样说你);于是,小B想是不是可以做的更多一点呢?要是能自己去排查和定位问题原因的话,应该更爽吧!而且前面学习了一些业务知识后,对于产品也有了一定的理解。为了达成这个目标,小B又做了如下事情(细节同上不讲):
1、自己发现的每个问题都尝试去定位,并且对自己的定位过程全部记录下来。定位不下去了再去找对应的开发(已经有了上面的一些排查和重现问题的基础),开发也很乐意(因为节省了开发定位问题的时间)。一边看着开发定位,一边跟开发去请教(虚心的请教大部分开发也是很乐意赐教的)。然后将开发的定位过程同时记录下来,等开发确认原因后。再跑过去跟开发一起回顾下整个定位过程,看看自己因为缺失什么技能而没有定位出来。
2、缺失的技能就主动去学习,其实无非就是对业务更加熟悉,然后掌握对应开发的一些调试方法。同时也跟着开发一起去看代码(庆幸的是测试能够去看开发的代码,以及跟开发的关系搞好了)。
3、下次碰到类似的问题就将以前总结的一些方法用上。
4、定期的梳理和总结自己的定位问题方法,形成自己的一套完善的定位问题过程,并且增加熟练度。
这个阶段又经历了一年多,过程同样的痛苦的,很多次想要放弃,特别是需要自己去硬着头皮看代码还看不懂的时候。而且时间花费的比以前更多了。坚持下来后,结果自然还是不错了。30%的bug自己能直接告诉开发大概是那块出问题了,比如:某个地方的返回没有判断,内存没有释放等等一些基本的问题。当然,万事开头难,经过一年多后自己至少养成了自己去定位问题的习惯,而且在不断的进步中(这个算是经历的第三个阶段吧)。
能自己定位一些问题,这些已经开始让团队的其他人员开始羡慕了,内心自然也开始膨胀,人性的贪婪也再次在这里体现出来,小B居然开始想去自己修复bug。这是不是越界了?不过既然是他自己的选择,我们暂且不去关注有没有必要,一起看看小B接下来又干了什么事情吧!
1、深入学习开发的语言,并且用该语言写一些小的测试工具来提高测试效率,通过具体的任务来学习编码知识。
2、学习整个设计架构,并且尝试用自己的理解对整个架构进行分析。
3、去分析和审核开发对应修改的代码,并且试图找出开发修改不合理的地方。
4、对于自己定位出来的bug,自己去主动给一些修复的建议,并且最后看看开发修改bug的思路跟自己的差别是什么?
5、自己在另外的地方去写fix的代码,然后跟开发进行对比,不断的找差距。
这个过程经历了差不多两年的时间,过程的艰辛估计只有小B自己知道(他没有说,小编也没有问),感兴趣的同学可以自己去体验下。不过总算是小有所成,小B自己也亲自fix了5个bug(直接将自己修改后的代码发给开发),其中只有1个bug是修改的有问题的(我们将这个阶段称为第四个阶段)。
好吧,到现在为止,差不多整整过了五年的时间。小B也从一个热血青年变成了一个快奔三的人了。也从当时的测试新手变成了目前测试团队的大牛之一。因为对于团队的重要性,工资待遇方面也有了很大的提高。
按照道理来说,小B应该很满足了,毕竟自己也被其他人当成大牛来膜拜了,虽然自己的大部分工作依然是测试用例(不同是用例都是自己分析和设计的)—>发现bug—>定位bug—>回归bug(有时候自己也去fix一个bug,不过这部分不是自己的主要工作)。人性的贪婪再次在这里表现的淋漓尽致,小B下一步打算去帮助开发一起去做缺陷预防,比如:提取一些共性的问题,然后思考如何去避免和及时的发现这样的问题。