问题描述:
如何对缺陷进行分析,都分析哪些指标,它们有什么意义?
精彩答案:
会员 xlf24:
首先需明确对缺陷进行分析的目的,哪些指标是项目里需要的,然后对其进行定制。而对缺陷进行分析的目的基本是为了总结当前项目的状态及为下一个项目的流程改进提供数据。比如发现各类缺陷的发生概率,及缺陷的分布状态等。及时提出预防缺陷发生的措施来提高软件产品的质量的同时降低项目成本。
对于缺陷的收集及管理,主要是通过对缺陷属性的控制,缺陷属性的基本项有:summary, description, report date, affect version, module, security, priority, Defect status, defect solution, fix version, fix date, assgin to, reopen times, phase detected, phase injected, defect type, Reason,worklog
这里每个基本项有每个基本项的目的,我们可以利用他们的组合来实现我们的目的。以上提到的项除了summary与描述不用参与之外,任意两个属性均可用来组合成图表。在此列下几个常用分析图表:
1:phase detected 及 security 的组合报表
这个报表里的数据,用来分析各个阶段发现的缺陷严重程度的分布及每个阶段发现缺陷的比例。从该图可以看出哪个阶段的测试需要加强。若在SIT阶段发现了太多的critical的issue,则说明SIT阶段之前的测试力度不够,这些issue影响到了测试进度,对项目计划有影响。
2:phase injected 及 phase detected 的组合报表
这个报表里的数据,用来分析缺陷引进的阶段分布及缺陷被发现的阶段的分布,反映了缺陷发现及修复的效率,从这个图可以看出哪些阶段引进的缺陷遗留到了其他阶段。比如说在SIT阶段发现了很多需求阶段引进的错误,那么说明需求阶段对需求的准备及测试需改进。
3:Review efficiency(需求阶段加设计阶段发现的缺陷与UI加SIT阶段发现的缺陷之比)
从缺陷的角度来说,软件测试的目的是缺陷预防及缺陷侦察,缺陷的成本是发现的越晚越高,那么从这个图表可以我们看出在编码之前我们消除了多少的缺陷。可以看出评审的力度是否需要加强及评审方法是否需要改善。这个比例当然是越高越好。一般公司会有指标定义。
4: 发布前缺陷去处率 (UAT之前发现的缺陷与UAT阶段发现缺陷之比)
我们知道缺陷被客户发现了是件让作为测试人员的我们很不爽的一件事。那么这个比例可以看出有多少的缺陷被我们遗漏了,这个比例的大小直接影响到了客户及我们的心情,更影响了老板的心情。从这里也可以看出我们的产品质量及团队的工作成果。若这个比例太小,则需考虑团队测试的技术需要怎样加强。