软件缺陷

1.软件缺陷定义

软件缺陷(Defect),常常又被叫做Bug。所谓软件缺陷,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。IEEE729-1983对缺陷有一个标准的定义:从产品内部看,缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题;从产品外部看,缺陷是系统所需要实现的某种功能的失效或违背。

2.缺陷属性

1.缺陷标识(Identifier): 缺陷标识是标记某个缺陷的一组符号。每个缺陷必须有一个唯一的标识。
2.缺陷类型 (Type): 缺陷类型是根据缺陷的自然属性划分的缺陷种类。
3.缺陷严重程度 (Severity) :缺陷严重程度是指因缺陷引起的故障对软件产品的影响程度。
4.缺陷优先级(Priority): 缺陷的优先级指缺陷必须被修复的紧急程度。
5.缺陷状态(Status) :缺陷状态指缺陷通过一个跟踪修复过程的进展情况。
6.缺陷起源(Origin) :缺陷来源指缺陷引起的故障或事件第一次被检测到的阶段。
7.缺陷来源(Source): 缺陷来源指引起缺陷的起因。
8.缺陷根源(Root Cause): 缺陷根源指发生错误的根本因素。

2.1缺陷类型(Type)

F- Function :影响了重要的特性、用户界面、产品接口、硬件结构接口和全局数据结构。并且设计文档需要正式的变更。如逻辑,指针,循环,递归,功能等缺陷。
A- Assignment: 需要修改少量代码,如初始化或控制块。如声明、重复命名,范围、限定等缺陷。
I- Interface: 与其他组件、模块或设备驱动程序、调用参数、控制块或参数列表相互影响的缺陷。
C- Checking: 提示的错误信息,不适当的数据验证等缺陷。
B Build/package/merge :由于配置库、变更管理或版本控制引起的错误。
D- Documentation: 影响发布和维护,包括注释。
G- Algorithm :算法错误。
U-User Interface:人机交互特性:屏幕格式,确认用户输入,功能有效性,页面排版等方面的缺陷。
P-Performance:不满足系统可测量的属性值,如:执行时间,事务处理速率等。
N-Norms:不符合各种标准的要求,如编码标准、设计符号等。
缺陷严重程度(Severity)
软件测试错误严重程度
1.Critical:不能执行正常工作功能或重要功能。或者危及人身安全。
2.Major:严重地影响系统要求或基本功能的实现,且没有办法更正。(重新安装或重新启动该软件不属于更正办法)
3.Minor:严重地影响系统要求或基本功能的实现,但存在合理的更正办法。(重新安装或重新启动该软件不属于更正办法)
4.Cosmetic:使操作者不方便或遇到麻烦,但它不影响执行工作功能或重要功能。
5.Other:其它错误。
同行评审错误严重程度
1.Major:主要的,较大的缺陷
2.Minor:次要的,小的缺陷

2.2缺陷优先级(Priority)

1.Resolve Immediately:缺陷必须被立即解决。
2.Normal Queue:缺陷需要正常排队等待修复或列入软件发布清单。
3.Not Urgent:缺陷可以在方便时被纠正。

2.3缺陷状态(Status)

1.Submitted: 已提交的缺陷
2.Open :确认“提交的缺陷”,等待处理
3.Rejected: 拒绝“提交的缺陷”,不需要修复或不是缺陷
4.Resolved :缺陷被修复
5.Closed :确认被修复的缺陷,将其关闭

2.4缺陷起源(Origin)

1.Requirement:在需求阶段发现的缺陷
2.Architecture:在构架阶段发现的缺陷
3.Design:在设计阶段发现的缺陷
4.Code:在编码阶段发现的缺陷
5.Test:在测试阶段发现的缺陷

2.5缺陷来源(Source)

1.Requirement: 由于需求的问题引起的缺陷
2.Architecture: 由于构架的问题引起的缺陷
3.Design: 由于设计的问题引起的缺陷
4.Code: 由于编码的问题引起的缺陷
5.Test: 由于测试的问题引起的缺陷
6.Integration: 由于集成的问题引起的缺陷

2.6级别

一旦发现软件缺陷,就要设法找到引起这个缺陷的原因,分析对产品质量的影响,然后确定软件缺陷的严重性和处理这个缺陷的优先级。各种缺陷所造成的后果是不一样的,有的仅仅是不方便,有的可能是灾难性的。一般问题越严重,其处理优先级就越高,可以概括为以下四种级别:
(1)微小的(Minor)。一些小问题如有个别错别字、文字排版不整齐等,对功能几乎没有影响,软件产品仍可使用。
(2)一般的(Major)。不太严重的错误,如次要功能模块丧失、提示信息不够准确、用户界面差和操作时间长等。
(3)严重的(Critical)。严重错误,指功能模块或特性没有实现,主要功能部分丧失,次要功能全部丧失,或致命的错误声明。
(4)致命的(Fatal)。致命的错误,造成系统崩溃、死机,或造成数据丢失、主要功能完全丧失等。
除了严重性之外,还存在反映软件缺陷处于一种什么样的状态,以便于及时跟踪和管理,下面是不同的缺陷状态。
·激活状态(Open):问题没有解决,测试人员新报告的缺陷或者验证后缺陷仍旧存在。
·已修正状态(Fixed):开发人员针对缺陷,修正软件后已解决问题或通过单元测试。
·关闭状态(Close):测试人员经过验证后,确认缺陷不存在之后的状态。
以上是三种基本的状态,还有一些是需要相应的状态描述,如“保留”,“不一致”状态等。

3.软件缺陷生命周期

软件缺陷生命周期

4.软件缺陷管理工具

软件缺陷管理工具

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值