测试之魂之BUG的三重境界
BUG 三重境界
❝之前玩的一款游戏叫穿越火线,常常和室友一起找到一个箱子或是底面位置,一直按住下蹲按键,就有可能进入"另一层空间",对方看见我但是怎么都打不死我,就这样找游戏的bug,当时其实并没有认识到这个问题对于游戏的严重性,只是觉得有漏洞,好玩。
❞
三重境界
第一重境界:青铜
围着bug转,通过发现bug,协助开发人员进行分析、定位问题,最后由研发解决。只有解决了bug,测试的价值才得以体现,同时也对质量才有实质的贡献。「适用于1~2年的测试工程师。」
虽然是第一重境界,但是对一个测试工程师也有非常细致的要求,如「发现bug」,涉及到需求、用例、正向思维和逆向思维、执行;「bug分析」:设计到对业务的理解,使用场景,对显性需求和隐性需求的认识,以及产品系统中的代码交互,对bug出现的详细必现描述和辅助日志。「回归bug」:就是对研发已解决的问题的关闭,许多时候会遇到研发解决一个问题,引入2个问题的头疼事件,所以在回归bug时候,既要对已解决的问题点进行充分验证,还要对此模块的相关功能进行测试,到第二阶段时候还要考虑怎么使用自动化去回归。「漏测、复盘」:对问题的总结是为了更好的前行。
第二重境界:黄金
跳出软件测试的小圈子,拓宽测试视野,测试的价值不仅仅是发现bug,还要服务整个产品的开发链,项目的成功,才能带来测试的成功。「适用于2~4年的测试工程师」
这个阶段的要求不再是自己手里的一亩三分地管理好,而且要从前端到后端,都能发挥自己的作用,主要表现为计划安排,资源统筹协调,沟通。这个时候已经不单单局限于发现问题,而是从「质量、成本、时间」三个维度进行项目管理的考虑。
这个阶段要思考做正确的事,而不拘泥于杂事。分析所面对的产品,到底哪些是客户最重要的模块,并对此进行验证。边边角角的模块只需要投入20%的精力,80%的精力要设计关键模块的用例。 不过对于这种优先级模块的划分,要有书面的测试策略,有迹可循,有目标,有方向,可追溯。
第三重境界:王者
挑战零缺陷,这其实是一个很难的结果,但是也是我一直想着手做的事情,许多问题都是逻辑设计类和函数之间调用出错的问题,测试工程师80%的时间都被这些事务性的工作缠身,忙于业务,而对软件深层次的问题缺乏思考与探索。我始终相信「bug是设计出来的,而不是测出来的」,追求零缺陷,主要以预防为主,测试验证为辅,如何推动在设计阶段将bug解决,是测试值得修炼的高进阶。
软件bug的堵和防
如果能在设计阶段,程序猿就能把设计规范做好,把洞堵上,首先要有防患未然的意识,如果一点bug都没有,那也是不现实的,漏到测试手上bug就需要通过各种方法去挖掘,属于一种被动的方式,技术好的程序猿可能还能彻底解决,遇到400大佬的话,就和下图一样了。
总而言之,“零缺陷”的最终目标是要求团队的每一环做好自己该做的事情,努力做到无缺点。注重预防系统的控制和过程的控制,从源头上消灭问题,而不是靠别人给你提问题再去打补丁。
零缺陷的是一个体系,无法通过一个人或一个团队做好,需要围绕产品的整个生命周期进行布局,最重要的是需要高层领导支持,带头去做。
两重思维
逆向思维 发散性思维
请自行百度