您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件测试管理 > 缺陷管理 > 正文

从“扁鹊三兄弟”谈缺陷预防

发表于:2018-06-20 作者:杨丽颖 来源:埃森哲测试中心 点击数:
  据典记,魏文王曾求教于名医扁鹊:“你们家兄弟三人,都精于医术,谁医术最好呢?”扁鹊:“大哥最好,二哥次之,我最差。“魏王不解。
  扁鹊解释说:“大哥治病,是在病情发作之前,那时候病人自己还不觉得有病,但大哥就下药铲除了病根,使他的医术难以被人认可,所以没有名气,只是在我们家中被推崇备至。--类比需求阶段:对需求进行分析,识别风险,分析需求的可行性、可测性、梳理关键需求。
  我的二哥治病,是在病初起之时,症状尚不十分明显,病人也没有觉得痛苦,二哥就能药到病除,使乡里人都认为二哥只是治小病很灵。--类比设计阶段:站在架构的高度提升产品安全、性能和稳定性。
  我治病,都是在病情十分严重之时,病人痛苦万分,病人家属心急如焚。此时,他们看到我在经脉上穿刺,用针放血,或在患处敷以毒药以毒攻毒,或动大手术直指病灶,使重病人病情得到缓解或很快治愈,所以我名闻天下。”魏王大悟。
  评:解决患难者强,防患于未然者神。这个道理大家虽然能体会但真正做起来很难,等到错误的决策造成了重大损失才想起来弥补,弥补得好,当然声名鹊起,但更多的时候是亡羊补牢,为时已晚。
  上文中扁鹊大哥治病可类比软件工程中的缺陷预防(Defect Prevent,下文简称DP),DP是软件测试工作中需求分析阶段的一个很重要的概念。测试人员需要从项目生命周期之初就开始介入,这样他们才能准确地理解测试对象并且和其他涉众一起生成可测试的需求。在软件开发过程中缺陷预防是非常重要的,缺陷发现得越早,修复的代价越小。关于缺陷预防结合当前项目,我们主要关注点如下:
  1、DP时间点
  1)每个迭代完成后第一周
  2)在开发过程中,如果发现bug率异动,或生产环境问题频发
  2、DP方法
  1)DP活动重点在于找到缺陷的根本原因,定位有效措施。目前建议的方法有:5Why, 4M,Fishbone, 帕累托图(2-8原则)
  2)对于采取的措施,不要定位在人的马虎大意,工作时间不够,技术水平有待提高等泛泛的、不宜于改进提高的措施点。要定位于具体的文档,模板,流程,工具等能够有效实施并监控的措施点。
  3)后续需要对活动的有效性进行验证,例如参考绩效参数,以保3证活动的有效性。
  3、DP步骤
  结合当前项目,采用2-8原则(帕累托)方法收集分析缺陷,通过分类找到占比最大的几个类型为:功能缺陷、环境问题及Data Error,其中缺陷来源占比最大的几项为:代码、测试环境、配置。
  当缺陷收集分析完毕,则将选择占比最大的几项作为根因分析的重点。采用5Why方法:即不停的问为什么,层层递进,直至找到问题的根因。同时采用4M fishbone方法,从4个角度寻找原因,即:Man(人员)、Method(流程、标准)、Materials(输入,环境)、Machine(工具、技术)。
  根因分析完毕,则可以制定相应的DP计划,列举详细措施跟踪项,制定责任人,后续监督落实,定期反馈进展。
  综上,缺陷预防在我们的软件开发过程中非常重要,如果做得好,可以防患于未然,在软件开发过程初期可以规避大量风险,提高产品设计质量,降低后期bug修复代价;如果做得不好,则会在软件开发后期暴露大量缺陷,且修复代价极高。所以缺陷预防在测试管理过程中必不可少。