本章节主要讲解“软件测试的缺陷分析方法”的内容,软件缺陷管理过程不仅包含软件缺陷记录和统计,更重要的是对缺陷数据进行细致、深入的分析。缺陷分析是缺陷管理中的一个重要环节,有效的缺陷分析不仅可以评价软件质量,同时可以帮助项目组很好地掌握和评估软件的研发过程,进而改进研发过程,未对缺陷进行分析就无法对研发流程进行改进。此外,还能为软件新版本的开发提供宝贵的经验,进而在项目开展之前,制定准确、有效的项目控制计划,为开发高质量的软件产品提供保障。
常用的缺陷分析方法有:根本原因缺陷分析法、四象限缺陷分析法、ODC 缺陷分析法、Rayleigh缺陷分析法和Gompertz 缺陷分析法。
根本原因缺陷分析法
根本原因分析(Root Cause Analysis,RCA)是一种产品质量管理工具,但现在不仅仅用于对产品质量的管理,在很多领域对问题原因进行分析时都用到该工具。RCA 可以简单地定义为:使用结构化的过程和方法,识别问题产生的根本原因并制定相应的解决方案,使问题不再发生。根本原因(Root Cause)是指导致问题发生的最基本原因,与直接原因和表面原因不同的是,根本原因可防止问题的再次发生,一般一个根本原因与一组或一类问题相关,而不是仅仅局限于某个问题。
RCA 过程包括四个阶段:收集信息、理解问题、确定根本原因和制定解决方案。如图9-7 所示。
图9-7 RCA 过程
RCA 在分析时采用一些特定的方法和工具,常用的方法有鱼骨图、关系图(InterrelationshipDiagram)、当前现实树(Current Reality Tree)等,本节在后面的内容中主要介绍鱼骨图法如何分析系统缺陷。
1953年,日本管理大师石川馨先生提出一种把握结果(特性)与原因(影响特性的要因)的极方便而有效的方法,故名“石川图”。因其形状很像鱼骨,是一种发现问题“根本原因”的方法,是一种透过现象看本质的分析方法,也称为“鱼骨图”(Cause & Effect/Fishbone Diagram)或者“鱼刺图”。
鱼骨图分析法的步骤如下:
(1)决定问题特性。
问题特性即需要解决的问题,如图9-8 所示。
图9-8 问题特性
(2)特性和主骨。
特性写在右端,用方框框起来,主骨用粗线画,加箭头标识,如图9-9 所示。
图9-9 特性和主骨
(3)大骨和根本原因。
大骨上分类书写3~6 个根本原因,用方框框起来,如图9-10 所示。
图9-10 大骨和要因
大骨通常采用6M方法:人力(Manpower)、环境(Mother-nature)、机械(Machinery)、测量(Measurement)、方法(Methods)和物料(Materials)。6M 常规图如图9-11所示。
图9-11 6M 常规图
(4)中骨、小骨、孙骨。
中骨是阐明事实,小骨要围绕“为什么会那样”来写,孙骨要更进一步来追查“为什么会那样”。
(5)记录中骨、小骨、孙骨的“要点”。
(6)深究要因。
(7)记入关联事项。
软件缺陷分析过程中,根本原因主要从四个方面来考虑:开发阶段相关(phase-related)、人员相关(human-related)、项目相关(project-related)和复审相关(review-related)。软件缺陷根本原因分析图如图9-12 所示。
图9-12 软件缺陷根本原因分析
【实例】系统中包含一个采集数据的模块,在测试过程中发现该模块偶尔出现数据采集中断的现象,但一直没有找到具体的原因。在发布前缺陷评审时,该缺陷也通过评审,允许发布,但发布到市场后,大量客户反馈该问题,之后研发团队才开始重视该问题,对该问题进行详细分析。分析发现选择的中断处理方式不是最优的,当前使用的中断方式存在缺陷。
通过鱼骨图对该缺陷产生的原因进行分析,如图9-13 所示。
其主要的原因有两个:
一是:该方案在设计时并未经过任何审核;
二是:开发工程师经验缺乏,错误地认为设计的中断方案是最优的。
本章节关于“软件测试的缺陷分析方法”的内容就学习到这里,大家觉得文章有用的话记得每天来这里和小编一起学习涨薪技能哦。