缺陷分析方法简介

天翼云开发者社区
• 阅读 582

本文分享自天翼云开发者社区《缺陷分析方法简介》,作者:Miya

一、缺陷分析简介 质量是反应软件与需求相符程度的指标,缺陷则被认为是软件与需求不一致的某种表现。因此通过对测试过程中所有已发现的缺陷进行分析和评估,可以更加清楚地了解软件的质量状况,同时可以帮助项目组很好地掌握和评估软件的研发过程,进而改进研发过程。此外,还能为软件新版本的开发提供宝贵的经验,进而在项目开展之前,制定准确、有效的项目控制计划,为开发高质量的软件产品提供保障

二、缺陷分析方法简介 常用的缺陷分析方法有:缺陷根因分析法、四象限缺陷分析法、ODC 缺陷分析法、Rayleigh缺陷分析法和Gompertz 缺陷分析法等等 根据缺陷分析的目的不同,缺陷分析方法可以分类如下: 1、缺陷根因分析 • RCA法 RCA(Root Cause Analysis)根本根因分析方法,是一种产品质量管理工具,也经常应用于问题根因分析中。简单定位为:使用结构化的过程和方法,识别问题产生的根本原因并制定相应的解决方案,使问题不再发生。 RCA 过程包括四个阶段:收集信息、理解问题、确定根本原因和制定解决方案,其流程如下所示 缺陷分析方法简介 • 5W2H 5W2H法通常被应用在多个领域,如做产品、销售等,在缺陷分析领域同样可以通过7个问题来确认问题的根因。 5W(即5个为什么): what(发生什么事) when(什么时候) where(哪里) why(为什么) who(是谁) 2H: how (怎么做) how much(多少钱) • E-C失效机理分析法 E-C(Effect-CauseDiagram)是进行设备类故障分析的常用方法。失效机理是从激活缺陷的事件出发,到故障症状,是一个正向的“技术回放”,把系统行为打开,从逻辑上展示定位结论是正确的。分析方法包括五步,如下: 第一步:先两端(首:诱发时间 尾:故障症状) 第二步:再中间(导致的直接缺陷) 第三步:补节点(补充场景的事件及中间流程) 第四步:加强防护措施(包括正向和失效防护措施) 第五步:找隐患,总结负向经验(问题/隐患、改进措施、改进类别、完成时间、责任人)注:改进类型纠正修改、排查清零、负向需求、设计准则、场景库、测试经验。

2、过程改进 • FST缺陷流出分析方法 FST,全称Fault Slip Through,缺陷流出,是当前应用比较成熟的一种分析方法。其主要作用是根据各个阶段发现的问题数进而反向推动整个开发流程的一种负向改进方法。其目的是尽早暴露缺陷,在有限的开发和测试人力的基础上尽量降低后续暴露定位和修复的代价(即发现成本+修复成本最低原则) 主要从缺陷引入和缺陷流出两个维度进行分析,以确定缺陷的最佳发现活动。 缺陷流入率=本阶段发现的前期缺陷/本阶段发现的总缺陷 缺陷流出率=本阶段之后发现的本该本阶段发现的缺陷/本阶段应该发现的缺陷总数 通过分析各个阶段的缺陷流出率,可以优先改进流出率最大的研发阶段,进而分析该阶段哪种类型的缺陷漏出最多。 • 漏测分析工具 根据缺陷漏测的原因归类分析 • ODC分析方法 通过识别发现缺陷的手段方法的归类,对过程做针对改进。

3、分类分析 • ODC分析方法 ODC,全称Orthogonal Defect Classification,正交缺陷分类。是将缺陷按照不同属性分别归入正交的类别中,然后对分类后的数据进行定量分析,从中得出过程改进措施 odc缺陷分析法的具体工作流程如下: 第一步,对缺陷进行分类。 第二步,校验已经被分类的缺陷。 第三步,对数据进行评估。 第四步,采取行动来对工作作出改进 针对第一步的缺陷分类,目前ODC技术的主要维度包括发现问题的活动(分为8类)、触发因素(分为36类),结果影响(分为13类),问题根源对象(分为6类),缺陷类型(分为39类)、缺陷定界(分为3类),责任来源(分为5类),缺陷年龄(分为4类)8个,共114类。根据大量缺陷分类后产生的各类缺陷的统计数字,结合缺陷定位信息(所属子系统、模块、特性)进行多维度正交分析,能准确确定产品主要质量问题区域,识别缺陷引入和去除过程的重点改进对象,实现对过程和产品的精确改进指导。

4、质量评估 缺陷趋势分析 • Gompertz 根据测试的累积投入时间和累积缺陷增长情况,拟合得到符合自己过程能力的缺陷增长Gompertz曲线,用来评估软件测试的充分性、预测软件基线缺陷数和退出测试所需时间、作为测试退出的判断依据、指导测试计划和策略的调整。 • Rayleigh 通过生命周期各阶段缺陷发现情况得到缺陷Rayleigh曲线,用于评估软件质量、预测软件现场质量 缺陷对比分析 • 四象限 根据软件内部各模块、子系统、特性测试所积累时间和缺陷去除情况,和累积时间和缺陷去除情况的基线进行比较,得到各个模块、子系统、特性测试分别所位于的区间,从而判断哪些部分测试可以退出,哪些测试还需要加强,用于指导测试计划和策略的调整。

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
Google Protocol Buffer缺陷
之所以要列出protobuf的缺陷,就是为了在使用Protobuf的时候可以规避这些缺陷;没有一个工具是十全十美的,我们在使用工具的时候需要扬长避短,因此要对其优点和缺点都有所了解才可以设计出更好的软件系统!!!
Wesley13 Wesley13
3年前
MySQL 8.0 hash join有重大缺陷?
我并不这么看。友情提醒:本文建议在PC端阅读。徐春阳老师发文爆MySQL8.0hashjoin有重大缺陷。文章核心观点如下:多表(比如3个个表)join时,只会简单的把表数据量小的放在前面作为驱动表,大表放在最后面,从而导致可能产生极大结果集的笛卡尔积,甚至耗尽CPU和磁盘空间。就此现象,我也做了个测试。1\.
Wesley13 Wesley13
3年前
CEOF
CEOF应用复经验正交函数分析法GuiCastelao,BiaVillasBoas发布:2020122311:09:08.815600作者:GuiCastelao,BiaVillasBoas
Stella981 Stella981
3年前
SDN前瞻 传统网络的缺陷
引言在网络发展速度如此之快的今天,传统网络的架构充满了危机,主要有这四个问题:传统网络部署管理困难。分布式架构瓶颈出现。流量控制难真正实现。设备不可编程。现在的网络厂商!(https://oscimg.oschina.net/oscnet/656
Wesley13 Wesley13
3年前
560字带你彻底搞懂:MySQL的索引优化分析
正文一、SQL分析性能下降、SQL慢、执行时间长、等待时间长查询语句写得差索引失效关联查询太多join(设计缺陷)单值索引:在user表中给name属性创建索引,createindexidx\_nameonu
Wesley13 Wesley13
3年前
BUG关闭原因
以前用禅道和redmine管理bug的时候,对立面的bug关闭原因不太满意,后来整理了一下,也许有人能用得到。已解决:缺陷已经修复。重复缺陷:是指在系统里相同原因的缺陷已经被其他人报告。在此缺陷被作为重复缺陷返回时,先不要立即取消。必须等到核查修复后,才在系统里取消。这是因为有些缺陷被误认为是重复缺陷,实际上是不同原因造成的问
Wesley13 Wesley13
3年前
BUG描述规范管理
BUG:软件系统中存在的可能导致系统出错、失效、死机等问题的错误或缺陷。描述一个缺陷,需要以下核心要素标题:用简洁的话描述该缺陷,主要让开发知道这是一个什么样的缺陷参数设置:Bug的类型(功能/性能/界面等),Bug的严重程度、Bug优先级(是否需要立即修复等)、所属项目模块、项目的版本号详细描述:便于开发重现
Wesley13 Wesley13
3年前
18、软件缺陷
定义缺陷就是软件的问题,最终表现为没有满足用户的需求。软件测试缺陷1、软件未达到规格说明书表明的功能2、软件出现了规格说明说中指明不会出现的错误。3、软件功能超出了规格说明书指明的范围4、软件未达到规格说明书虽未指明但应该达到的目标5、软件测试人员或用户觉得不好。示例1、计算器说明书一般声
Stella981 Stella981
3年前
Chapter 2 全程测试:闪光的思想
软件质量其实是在软件开发生命周期中慢慢形成的,或者说,软件质量是内建的(Qualityisbuiltin),而不是测试测出来的。贯穿于软件开发全过程的测试,不仅可以在第一时间内发现缺陷,降低缺陷带来的成本(劣质成本),而且能有效的预防缺陷的产生,构建更好的软件产品质量。2.1测试的左移和右移测试左移:将测试计划与设计提前进行,以及开展需求
美凌格栋栋酱 美凌格栋栋酱
2个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
天翼云开发者社区
天翼云开发者社区
Lv1
天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。
文章
793
粉丝
16
获赞
40