围绕“论软件测试中缺陷管理及其应用”论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的软件项目以及承担的工作
2.详细论述常见的缺陷种类及级别,论述缺陷管理和基本流程
3.结合你具体参与管理和开发的实际项目,说明是如何进行缺陷管理的。请具体说明实施过程及应用效果。
软件缺陷的定义
软件缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。
IEEE729-1983对缺陷的标准定义:从产品内部看,缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题;
从产品外部看,缺陷是系统所需要实现的某种功能的失效或违背。
导致软件缺陷产生的原因也是多种多样的,软件工程过程中的人、过程、工具都有可能导致产生软件缺陷,过程中的每一个环节都有可能产生缺陷
软件缺陷的分类
功能没有实现或与需求规格说明不一致;
界面、消息、提示、帮助不够准确或误导用户;
屏幕显示、打印结果不正确;
软件无故退出或没有反应;
边界条件未做处理,输入错误数据没有提示和说明;
运行速度慢或占用资源过多;
与常用的交互软件不兼容;
缺陷管理的目的是:
对各个阶段测试发现的缺陷进行跟踪管理,以保证各级缺陷的修复率达到标准,主要实现以下目标:
(1)保证信息的一致性;
(2)保证缺陷得到有效的跟踪,缩短沟通时间,解决问题更高效;
(3)收集缺陷数据并进行数据分析,作为缺陷度量的依据。
参与缺陷管理的角色
测试工程师:发现和回归BUG
测试经理:判断BUG的有效性
开发经理:分配BUG
开发工程师:修改BUG
缺陷来源
Requirement:由于需求的问题引起的缺陷(需求不完全或逻辑错误)
Architecture:由于构架的问题引起的缺陷(登录session失效)
Design:由于设计的问题引起的缺陷(图片大小,页面元素显示问题等
Code:由于编码的问题引起的缺陷
Test:由于测试的问题引起的缺陷(软件测试的设计与实施发生错误。特别是系统级的功能测试)
Integration:由于集成的问题引起的缺陷
缺陷严重性和优先级
缺陷的严重性 说明
0级(致命) 最严重等级,缺陷导致系统任何一个主要功能完全丧失、用户数据受到破坏、系统崩溃、悬挂、死机等
1级(严重) 系统的主要功能部分丧失、数据不能完全保存,系统的次要功能完全丧失,系统所提供的功能或服务收到明显影响
2级(一般) 系统的次要功能没有完全实现,但不影响用户的正常使用。例如,提示信息不太准确;或用户界面差、操做时间稍长等问题
3级(微小) 操作者不方便或遇到麻烦,但不影响功能的操做和执行,如字体不美观、按钮大小不很合适、字体排列不对齐等一些小问题
缺陷的优先级 说明
立即解决(p1级) 缺陷导致系统几乎不能完全运行、使用,或严重妨碍测试的执行,需立即修正、尽快修正
高优先级(p2级) 缺陷严重,影响测试,需要优先考虑修正,如不超过24小时修正
正常排队(p3级) 缺陷需要修正,但可以正常排队等待修正
低优先级(p4级) 缺陷可以在开发人员有时间的时候被修正,如果没时间可以不修正