zoukankan      html  css  js  c++  java
  • 小B从测试小白到测试大牛的过程

    今天看到一篇有点意思的文章,讲的是仅仅从测试—>发现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下一步打算去帮助开发一起去做缺陷预防,比如:提取一些共性的问题,然后思考如何去避免和及时的发现这样的问题。

    原文就讲到这里,我总结一下小b的经历,前后大概4个阶段。

    第一阶段:菜鸟阶段
    测试用例—提交bug—回归bug,甚至提的bug还要和开发进一步进行确认。

    第二阶段:定位问题阶段
    这里不单单的能够找到bug,还能定位bug到代码层面。

    第三阶段:fix bug
    这个就厉害了,能够修复代码中的逻辑缺陷。

    第四阶段:缺陷预防
    这个更厉害了,能够用丰富的测试经验以及对bug的敏感性来定制方案,从而避免某一类或者某些通用性的bug产生。可谓将缺陷消灭在萌芽之中。

  • 相关阅读:
    javascript 基本数据类型
    数据库管理小工具帮助
    CSS3实现32种基本图形
    面试题2:替换空格
    面试题1:二维数组中查找
    图的深度优先和广度优先搜索算法
    Spring+Maven+Dubbo+MyBatis+Linner+Handlebars—Web开发环境搭建
    Spring学习笔记—最小化Spring XML配置
    Spring学习笔记—装配Bean
    Spring学习笔记—Spring之旅
  • 原文地址:https://www.cnblogs.com/D-zsd/p/11126648.html
Copyright © 2011-2022 走看看