缺陷跟踪的两个经典分析模型

缺陷跟踪过程是软件工程中的一个极其重要的过程。本文介绍了如何使用两个经典的分析模型,来控制缺陷跟踪的过程。这两个模型叫做《活动bug走势图》、《bug打开关闭图》。

另外,在文章中还会提到两个概念:“bug收敛”、“零bug反弹”,具体含义会在介绍中说明。

先看张图片,这就是两个模型的分析图片,集成在一个坐标里面了。活动bug走势是一条线,bug打开关闭是柱图,X轴是时间。下面我们详细说说这两个模型的含义。

先要说几个名词解释:

1.活动bug数。状态不是closed的所有bug的总数。活动bug指在项目中还需要大家去关注的bug,有的bug管理工具还有invalid、duplicate状态,这些是不属于活动bug的,但是later的bug,属于活动bug。

2.打开bug次数和关闭bug次数。每新增1个bug或者是reopen一个bug,打开次数都会被记加一。每close一个bug,关闭次数会加一。

说明了这些概念,上面两个模型就比较好理解了。活动bug走势曲线上的每个点,表示当天软件中还 存在多少个活动bug。这个数字越大,说明软件的质量越差。而bug打开关闭图中,每天都会有红色、蓝色共两根柱子,表示当天打开、关闭bug的次数,如 果当天这两个数字都很高,说明bug的处理非常活跃,软件非常不稳定。注意,活动bug的单位是“个”,而打开关闭的单位是“次”,因此我们用线图和柱图 分别表示。

下面讲一下模型的用法。一般的软件测试过程,都有3个阶段,从上面的图中能清楚的看出来。

阶段1:测试组对系统开始进行全面测试,打开bug的速度明显高于关闭bug的速度,活动bug数急速上升,当完成了全部测试用例的执行时,活动bug数达到最大;

阶段2:开发组全力修复bug,测试组一边验证bug,一边小范围的回归测试,验证bug的周边 功能。这时,关闭bug的速度高于打开bug的速度,活动bug数回落。当活动bug数刚开始回落的时候,称为“bug收敛”。最终,活动bug会降到一 个很低的位置,有时,会达到“零bug ”,不过,这并不说明项目可以发布。

阶段3:测试组再次对软件系统进行一次完整的回归测试。在这个过程,还会打开一些bug,但是,数量很少,这称为“零bug反弹”。完成了这一轮回归之后,软件才真正稳定下来,进入发布候选过程。

所以,我们可以通过这两个模型,来检查项目的测试进展是否正常,软件的质量是否稳定,检查方法如下:

  • 如果第二阶段已经开始,但是活动bug仍在继续上升,没有回落,说明打开bug速度仍很高,可能是第一阶段用例执行还没有完成,或者开发组修复bug速度较低;
  • 如果第二阶段结束,活动bug没有回落到低水平,说明大量的bug还需要修复,软件质量低;
  • 如果第三阶段,打开、关闭bug的次数很多,说明bug活动频繁,系统稳定性差。

因此,正常的项目测试应该是,活动bug先上扬,再回落,最后在低位小幅振荡,并且打开关闭次数很少。有了这两个分析模型,我们对项目进度得控制,就更有把握了。

转载:http://www.uml.org.cn/Test/201001147.asp

时间: 2024-12-13 05:09:38

缺陷跟踪的两个经典分析模型的相关文章

第七篇:两个经典的文件IO程序示例

前言 本文分析两个经典的C++文件IO程序,提炼出其中文件IO的基本套路,留待日后查阅. 程序功能 程序一打印用户指定的所有文本文件,程序二向用户指定的所有文本文件中写入数据. 程序一代码及其注释 1 #include <iostream> 2 #include <fstream> // 使用文件处理对象记着要包含这个头文件 3 #include <string> 4 #include <vector> 5 6 using namespace std; 7

赠书:HTML5 Canvas 2d 编程必读的两本经典

赠书:HTML5 Canvas 2d 编程必读的两本经典 这两年多一直在和HTML5 Canvas 打交道,也带领团队开发了世界首款基于HTML5 Canvas 的演示文档工具---AxeSlide(斧子演示,www.axeslide.com).在这个领域也积累了一些 经验,希望有机会和大家分享.今天是要给大家推荐两本这方面的书,同时会送一本书给大家. 要介绍的第一本书是我学习Canvas开发的入门书——<HTML5 Canvas核心技术:图形.动画与游戏开发>. 此书作者David Gear

缺陷跟踪系统Mantis Bug Tracker

缺陷管理平台Mantis,也做MantisBT,全称Mantis Bug Tracker. Mantis是一个基于PHP技术的轻量级的开源缺陷跟踪系统,以Web操作的形式提供项目管理及缺陷跟踪服务. 在功能上.实用性上足以满足中小型项目的管理及跟踪.更重要的是其开源,不需要负担任何费用. Mantis是一个缺陷跟踪系统具有多特性包括:易于安装,易于操作,基于Web,支持任何可运行PHP的平台(Windows,Linux,Mac,Solaris,AS400/i5等),已经被翻译成68种语言,支持多

信号量基础和两个经典例子

信号量基础和两个经典例子 信号量(semaphore) 用于进程中传递信号的一个整数值. 三个操作: 1.一个信号量可以初始化为非负值 2.semWait操作可以使信号量减1,若信号量的值为负,则执行semWait的进程被阻塞.否则进程继续执行. 3.semSignal操作使信号量加1.若信号量的值小于等于0,则被semWait操作阻塞的进程讲被接触阻塞. ps: semWait对应P原语,semSignal对应V原语. 信号量以及PV原语的C语言定义如下 struct semaphore {

项目管理和缺陷跟踪工具——Redmine

项目管理一直是IT公司,尤其是现在互联网创业公司中一直让大家头疼的事情,团队虽然不大,可是要做的事情不少,经常是女人当男人用,男人当牲口用,每个人都是一箩筐的事情,更不要说什么优先级了,可能每天都在做很紧急的事情(而重要不重要就不得而知了). 而在项目开发中,经常会遇到如下问题: 无法量化项目进度 无法量化项目成员的工作 开发和测试不协调,影响项目进度和质量 需求杂乱无章,开发无从下手 团队缺少一个沟通平台,配合不够默契(基本靠QQ群随意交流,有问题查聊天记录) 问题发现过晚,加大了项目的风险与

什么是 “动态规划” , 用两个经典问题举例

1.什么是动态规划? 看了很多题解,一般解决者开始就说用DP来解,然后写了嵌套的for循环,不是很容易看懂,但是确实解出来了,我们这次来看下到底什么是动态规划?它有什么特点呢?容我抄一段话: 动态规划(Dynamic programming,DP),通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法.通常许多子问题非常相似,为此动态规划法试图仅仅解决每个子问题一次,从而减少计算量: 一旦某个给定子问题的解已经算出,则将其记忆化存储,以便下次需要同一个子问题解之时直接查表. 这种做法在重复

集成SVN源码管理和Mantis缺陷跟踪

集成SVN源码管理和Mantis缺陷跟踪 (windows) 要集成Mantis和SVN,需要几个工具: SVN客户端,TortoiseSVN,下载地址: http://tortoisesvn.net/  SVN服务端,这个应该都有吧. Mantis缺陷跟踪系统 http://www.mantisbt.org/ 首先在TortoiseSVN里设置一下项目的属性,右键点击目录,属性,在subversion一栏里,加入这几个属性 bugtraq:label = issue bugtraq:url =

Android中退出多个Activity的两个经典方法

这里介绍两种方法:一种把每个activity记住,然后逐一干掉:另一种思路是使用广播. 方法一.用list保存activity实例,然后逐一干掉 上代码: import java.util.LinkedList; import java.util.List; import android.app.Activity; import android.app.AlertDialog; import android.app.Application; import android.content.Dial

readmine项目管理和缺陷跟踪工具

官方网站:http://www.redmine.org/演示地址:http://demo.redmine.org/下载地址:http://www.redmine.org/projects/redmine/wiki/Download文章来源:http://www.OSphp.com.cn 程序介绍: 支持多项 目灵活的基 于角色的访问控制灵活的问 题跟踪系统 //oSPHP.COM.CN 甘特图和 日历新闻.文 档和文件管理feeds 和邮件通知依附于项 目的wiki项目论坛简单实时 跟踪功能自定