软件缺陷的有效管理

标签: 软件缺陷 有效 管理 | 发表时间:2015-08-01 15:29 | 作者:
出处:http://news.cnblogs.com/

“这次发布之前怎么这么多的缺陷,是不是需要分析一下啊?” 答案是肯定的,可是这个时候才想起要分析已经有点晚了,有可能这些缺陷很难分析了。这是发生过的一个真实场景,所记录的缺陷包含信息很有限,很难有效的做好分析!本文就来聊聊如何有效的管理和分析缺陷。

缺陷记录

曾经有个项目是在 QC (Quality Center)里记录缺陷,需要填写很多必填属性字段,加上 QC 服务器在国外,访问速度非常的慢,每次记录缺陷成为了大家极其痛苦的一件事情。于是,很多时候,发现了缺陷也不愿意往 QC 里填,而是直接写个纸条简单记录下,验证完了它的生命周期就结束了,这样后面就没办法去很好的跟踪和分析了。(题外话:当时采用脚本稍微减轻了点痛苦。)

也有的项目对缺陷的格式和属性没有严格要求,记录的时候很简单也很自由,这样记录的缺陷由于很多必要信息的缺失,对后续的跟踪和分析也是极为不利。

还有一种情况就是记录缺陷时同样有一些属性要求填写,但是这些属性值可能不是那么有意义,导致存储的信息不仅没用,反而添加混乱,也是不利于跟踪和分析的。比如,其中的“根源(root cause)”属性的值如下图 1 所示,这些值根本就不是根源,这是一个没有意义的捣乱属性。

Screen+Shot+2015-06-18+at+9.26.37+AM

图 1 某缺陷根源属性值

缺陷记录应该做到尽量简单,且包含必要的信息。

1. 标题:言简意赅,总结性的语句描述是什么缺陷

2. 详情:包括重现步骤、实际行为、期望结果等,根据具体情况确定其详细程度,必要时可以添加截图、日志信息等附加说明。

3. 重要属性:优先级、严重性、所属功能模块、平台(OS、浏览器、移动设备的不同型号等)、环境、根源等,这些属性对应的值需要根据不同项目的情况自己定义,其中“根源”是相当关键的一个属性,后面有示例可以参考该属性对应的值有哪些。

4. 其他:每个项目对应的还会有其他信息需要记录的,自行定义就好。

在敏捷开发环境中,测试人员可能随时在测试、随时都会发现缺陷,包括还在开发手里没有完成的功能。什么时候发现的缺陷需要记录呢?通常情况下,开发还没完成的用户故事(story),测试人员发现缺陷只需要告诉开发修了,在该故事验收的时候一起检查就好了,无需单独记录;在开发已经完成,交到测试人员手里正式测试的故事,再发现缺陷就需要记录来跟踪了;后续的所有阶段发现的缺陷都需要记录。

缺陷分析

比较推荐的一种缺陷分析方法是鱼骨图分析法,可以将跟缺陷相关的各个因素填写到鱼骨图里,对缺陷进行分析,如下图 2 示:

Screen+Shot+2015-06-19+at+2.51.24+PM

图 2. 鱼骨图缺陷分析法

缺陷相关的各属性拿到了,就可以用表格、曲线图、饼图等统计各个属性对应的缺陷数量,分析缺陷的趋势和原因。下面是我在项目上做过的分析报告图:

Defect+trend

图 3. 功能与环境对应缺陷数量统计表和缺陷根源比例图

Screen+Shot+2012-05-31+at+1.13.05+PM

图 4. 缺陷根源统计表和比例图

Screen+Shot+2012-05-31+at+12.58.17+PM

图 5. 缺陷迭代趋势分析图

分析完得到统计的结果就要采取对应的措施,从而防范更多的缺陷产生。比如:修缺陷(上面示例中的“bug fixing”)引入的新缺陷比较多,可以在修复缺陷后添加对应的自动化测试;浏览器兼容性问题相关的缺陷较多的话,可以在开发完成验收的时候在多种浏览器上验收,等等。

什么时候该进行缺陷的分析呢?通常,推荐每个迭代周期分析一次,并且跟以往各个迭代进行对比,进行趋势对比。当然,有时候可能一个迭代发现的缺陷非常少,分析的周期可以根据具体情况做出调整。

总结

缺陷记录是为更好的跟踪和分析缺陷做准备的,而缺陷分析是软件质量保证的重要环节,对于软件过程的改进,软件产品的发布来说具有十分重要的参考价值,建议各项目定期都要做做缺陷分析。

本文链接

相关 [软件缺陷 有效 管理] 推荐:

软件缺陷的有效管理

- - 博客园_新闻
“这次发布之前怎么这么多的缺陷,是不是需要分析一下啊. ” 答案是肯定的,可是这个时候才想起要分析已经有点晚了,有可能这些缺陷很难分析了. 这是发生过的一个真实场景,所记录的缺陷包含信息很有限,很难有效的做好分析. 本文就来聊聊如何有效的管理和分析缺陷. 曾经有个项目是在 QC (Quality Center)里记录缺陷,需要填写很多必填属性字段,加上 QC 服务器在国外,访问速度非常的慢,每次记录缺陷成为了大家极其痛苦的一件事情.

如何有效地描述软件缺陷(Defect)?

- - CSDN博客推荐文章
如何有效地描述软件缺陷(Defect). 作为软件测试人员,最基本的一项技能就是如何把所发现的缺陷(Defect)准确无歧义的表达出来,尤其还是全英文表达的时候.   其实从缺陷的描述也可以看出一个软件测试人员的基本功,甚至可以看出测试人员在做一些自由测试的时候的投入程度.   本文主要以缺陷出现的频率来说明测试人员在遇到不同频率的缺陷的时候如何做.

16招教你有效管理时间

- 飞羽飞之猪 - 译言 - 编辑荐读
来源16 Tips for Better Time Management.   每一天都只有24小时--对任何人来说都是如此. 本文就来教教你如何更加有效地规划我们宝贵的时间.   在现实生活中,我们不能真正“管理”时间,我们只能规划我们自己运用时间的方式. 毕竟,个人如何运用时间说到底主要是一种习惯,而习惯是很难改变的.

如何有效管理项目会议

- - 博客 - 伯乐在线
会议已经成为项目经理的一项重要工作内容,它提供交换和分享信息与观点的手段. 项目经理和团队成员在项目会议上花费了大量时间. 在项目环境中,会议作为管理沟通的一种方式是否经济和有效,常因项目经理的沟通技能不同而有差异. 会议需要许多时间和精力,因而只有必需时才召集会议. 然而,许多会议并非富有成效,这些会议准备得不够充分,主持得也毫无章法.

国债回购:现金管理的有效工具

- q - sosme的博客
目前,国债回购可以分为正回购和逆回购两大类:. 1、  正回购,以国债作抵押拆入资金;. 2、  逆回购,将资金通过国债回购市场拆出. 【注】:本文仅探讨国债逆回购的相关问题. 所谓国债逆回购,其实就是一种短期贷款,即你把钱借给别人,获得固定利息;别人用国债作抵押到期还本付息. 逆回购的安全性超强基本等同国债:证券交易所充当了中介、监督、执行的三重角色,一旦成交,对方的国债就被冻结,时间一到,交易所就自动把本钱利息划到你的账户上.

知乎问答整理:时间管理(2)你是怎么有效利用碎片时间的?

- - 战隼的学习探索
知乎地址: http://www.zhihu.com/question/19562330/answer/15072439. 合理的利用零散时间不单是技巧的结合,而是一种生活习惯,平时就准备好,遇到空闲时间直接就用不用考虑直接就行动:. 2、身上带着平板或Kindle,充好电,装满书和视频,比如TED、公开课.

实践与共享:功能强大的光盘镜像编辑管理工具UltraISO 9.5.0.2800多国语言版 + 有效注册码

- 岩 - 翱翔
        今天提供的是UltraISO最新版本. UltraISO是一款功能强大而又方便实用的光盘镜像制作/编辑/格式转换工具:可直接编辑光盘镜像和从镜像中直接提取文件,也可从CD-ROM制作光盘镜像或者将硬盘上的文件制作成镜像ISO;可以处理ISO文件的启动信息制作可引导光盘和U盘,也可以通过设置实现“虚拟光驱”的加载安装.

管理

- - 人月神话的BLOG
对于中小企业而言现在管理上欠缺的不是人治或者说儒家佛家等东方管理思想,而真正欠缺的是西方法治的科学管理方法. 现在很多中小企业花很多钱去听什么东方管理思想的培训是误入歧途,东西方管理思想需要融合,但是基础还是科学的管理方法和模式. 而在这个里面最重要的仍然是流程管理,知识管理,质量管理,项目管理这些内容,而不是简单的纯管理.

REDO管理

- - CSDN博客数据库推荐文章
一、什么是REDO LOG.  REDOLOG文件是十分重要的文件,它记录了Oracle的所有变化,是数据库实例恢复机制中最为关键的组成部分.     GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME     NEXT_CHANGE# NEXT_TIME.

日志管理

- - CSDN博客系统运维推荐文章
#很关键 [root@client01 ~]# ls /var/log/ anaconda.ifcfg.log. tallylog #关键日志,大部分记录在里面 [root@client01 ~]# ls /var/log/messages /var/log/messages. [root@client01 ~]# ps -ef|grep log #系统日志服务 root.