测试十六、------软件中的缺陷问题

软件的缺陷定义:
        软件缺陷是指存在于软件(程序、数据、文档)中的那些不符合用户需求的问题。
        缺陷也包括程序当中的bug\错误

常见的缺陷:
        软件未达到需求规格说明书表明的功能
        软件出现了需求规格说明书指明不会出现的错误
        软件的功能超出了需求规格说明书指明的范围
        软件未达到需求规格说明书虽未指明而应该达到的目标
        软件测试人员认为软件难以理解、不易使用、运行速度慢、或者最终用户认为不好

软件缺陷的表现形式:
        功能、特性没有实现或部分实现。
        设计不合理,功能特性不明确,逻辑不清楚或存在矛盾。
        产品实际结果和所期望的结果不一致。
        没有达到需求规格说明书所规定的性能指标等。
        运行出错,包括运行中断、系统崩溃、界面混乱等。
        数据不正确、精度不够、不完整或格式不统一。
        用户不能接受的其他问题,如存取时间过长、界面不美观。
        硬件或系统软件上存在的其他问题。

软件缺陷的产生的原因(需求规格说明书占用60%,设计文档30%, 编码和其他问题占10% )       
        需求解释或者记录错误
        用户需求定义错误
        设计说明存在错误
        编码说明、程序代码有误
        硬件或者软件系统上存在错误
        其他,如文档错误、内容不正确或拼写错误

        
软件缺陷的根源        
        交流不充分: 
                         客户与开发人员、开发人员与测试人员等
        软件的复杂性: 
                          功能复杂、开发复杂、测试复杂
        开发人员的错误: 
                           对需求的理解、开发压力、能力与经验
        需求的变化: 
                           需求说明书、设计文档、程序的变更
            进度压力: 
                            项目周期比较紧
    
软件缺陷的信息        
        为了便于缺陷的定位、跟踪和修改,要对所发现的缺陷,按照缺陷的严重程度、优先级、
        发现阶段、修复阶段、缺陷的性质、所属功能模块、系统环境等方面进行分类和统计。


软件缺陷修复的费用越早发现损失的越少

软件缺陷分类——缺陷状态                                      

编号

缺陷状态

描述

1

提交(Submited

已提交的缺陷

2

打开(Open

确认“提交的缺陷”,等待处理

3

拒绝(Rejected)

拒绝“提交的缺陷”,不需要修复或不是缺陷、重复缺陷、无法重现

4

修复(Resolved

缺陷被修复

5

关闭(Closed

确认修复的缺陷,将其关闭

6

推迟(Later

可在以后解决,但要确定修复日期或版本

软件缺陷的信息

编号

属性名称

描述

1

缺陷ID

唯一的缺陷ID,可以根据该ID追踪缺陷

2

缺陷状态

缺陷状态指缺陷通过一个跟踪修复过程的进展情况

3

缺陷标题

描述缺陷的标题

4

缺陷的严重程度

对软件产品的影响程度,分致命、较严重、严重、一般、低

5

缺陷的优先级

缺陷修复的先后顺序,即哪些缺陷优先修正,哪些稍后修正

6

缺陷所属模块

缺陷所属的项目和模块,要能较精确的定位至模块

7

缺陷记录者

提交缺陷的人员姓名

8

缺陷提交时间

缺陷提交的时间

9

缺陷处理人

处理缺陷的处理人

10

处理结果描述

对处理结果的描述,描述处理情况和代码修改说明

11

缺陷处理时间

缺陷处理的时间

12

缺陷验证人

对被处理缺陷验证的验证人(回测者

13

验证结果描述

对验证结果的描述(通过、不通过

14

缺陷详细描述

缺陷的重现步骤

15

缺陷环境说明

对测试环境的描述

16

必要的附件

如涉及到附件的或错误现象的图片等


软件缺陷分类——BUG类型              

缺陷类型

内容说明

备注

系统缺陷

1.由于程序所引起的死机,异常退出

2.程序死循环

3.程序错误,不能执行正常工作或重

要功能,使系统崩溃或资源不足

不能执行正常工作或重要功能,使系统崩溃或资源不足

数据缺陷

1.数据计算错误

2.数据约束错误

3.数据输入、输出错误

严重地影响系统要求或基本功能的实现,且没有办法更正(重新安装或重新启不属更正方法

数据库缺陷

1.数据库发生死锁

2.数据库的表、缺省值未加约束条件

3.数据库连接错误

4.数据库中的表有过多的空字段

 

接口缺陷

1.数据通信错误

2.程序接口错误

 

功能缺陷

1.功能无法实现

2.功能实现错误

严重地影响系统要求或基本功能的实现,但有合理的办法更正(重新安装或重新启不属更正方法

安全性缺陷

1.用户权限无法实现

2.超时限制错误

3.访问控制错误

4.加密错误

 

兼容性缺陷

与需求规定配置兼容性不符合

 

性能缺陷

1.未达到预期的性能目标

2.性能测试中出错,导致无法继续进行测试

 

界面缺陷

1.操作界面错误

2.打印内容、格式错误

3.删除操作未给出提示

4.长时间操作未给出提示

5.界面不规范

操作者不方便或遇到麻烦,但不影响执行工作功能的实现

建议

1.功能建议

2.操作建议

建议性的改进要求

软件缺陷分类——严重程度                              

严重等级

描述

5-Critical

系统瘫痪、异常退出、死循环、严重的计算错误等

4-VeryHigh

频繁的死机,系统大部分功能不可用

3-High

a.功能点没有实现,或不符合用户需求

b.数据丢失

2-Medium

a.影响一个相对独立的功能  b.仅仅在特定条件上发生

c.与产品需求定义不一致   d.断断续续的出现问题

1-Low

表面性错误(如错别字

软件缺陷分类——优先级                        

优先级别

描述

5-Urgent

最高优先级。在这个错误影响下,系统几乎不可用

4-VeryHigh

高优先级。错误对这套系统的能力产生严重的影响

3-High

中优先级。如果这个错误存在与系统中,会制约开发和测试的活动的进行,如果先前没有修复它,那么需要在发布前修复它。

2-Medium

低优先级。不会延迟发布,但是会在以后修正这个错误

1-Low

最低优先级。时间和资源允许时修正

开发人员拒绝修改的缺陷:
                     程序员无法重现或者现象难以捕捉
                     没有明确的报告以说明重现缺陷的步骤
                     程序员无法读懂的缺陷报告
                     用户很少使用或者不符合用户使用习惯的操作出错
                     由不受信任的测试人员提出

缺陷修改说明:
不是所有缺陷都会修改
                     市场的压力使得产品最终发行有时间限制
                     测试人员错误理解或者不正确操作引出的缺陷(FAQ)
                     错误的修改影响的模块较多,带来的风险较大(遗留)

                     修改性价比太低
                     缺陷报告中提出的问题很难重现

报告缺陷的重要性

软件缺陷的描述是软件缺陷报告的基础部分,需要使用简单、准确、专业的术语来描述缺陷。否则,它就会含糊不清,可能会误导开发人员,影响开发人员的效率,也会影响测试人员自身的声誉,准确报告缺陷是非常重要的。
清晰准确的软件缺陷描述可以减少开发人员退回来的缺陷数量,可以节省开发人员和测试人员的时间。

提高软件缺陷修复的速度,使项目组能够有效地工作。
提高测试人员的可信任程度,可以得到开发人员对有效缺陷的及时响应。
加强开发人员、测试人员和管理人员的协同工作,让他们更好的工作。

 

报告缺陷注意事项:
   1.  尽量确保缺陷可以重现。
              如果提交的缺陷无法重现,会影响开发人员的工作效率。

   2. 简洁、准确、完整
              测试人员在提交缺陷报告时,要站在开发人员的角度上思考问题,
              要确保开发人员能迅速定位问题,而不会产生理解上的歧义

   3. 一个缺陷一个报告
              有的测试人员喜欢在一个缺陷报告里提交多个缺陷,这种习惯不提倡,原因有以下两点:

                    1).  不便于分配。
                                比如缺陷报告有2个缺陷,分别属于不同的开发人员,到底该分配给谁呢?
                    2). 
 不便于验证。
                                比如一个缺陷报告里面有2个缺陷,缺陷1已经解决,缺陷2还没有解决,那么这个缺陷报告该不该关闭呢?

 

 

 

 


        

你可能感兴趣的:(#,软测理论)