定义
缺陷就是软件的问题,最终表现为没有满足用户的需求。
软件测试缺陷
1、软件未达到规格说明书表明的功能
2、软件出现了规格说明说中指明不会出现的错误。
3、软件功能超出了规格说明书指明的范围
4、软件未达到规格说明书虽未指明但应该达到的目标
5、软件测试人员或用户觉得不好。
示例
1、计算器说明书一般声称该计算器将准确无误地进行加、减、乘、除运算。如果测试人员或用户选定了两个数值后,随意按下了“+”号键,结果没有任何反应。(软件未达到软件需求规格说明书表明的功能)
2、若在进行测试时,发现除了规定的加、减、乘、除功能之外,还能够进行求平方根的运算,而这一功能并没有在说明书的功能中规定。(软件的功能超出了软件需求规格说明书指明的范图)
3、若在测试过程中发现,因为电池没电而导致了计算不正确,但软件需求规格说明书未能指出在此情况下应如何进行处理。(软件未达到软件需求规格说明书未指明而应该达到的目标)
4、假如计算器说明书指明计算器不会出现崩溃、死锁或者停止反应,而在用户随意技、敲键盘后,计算器停止接受输入或没有了反应。(软件出现了软件需求规格说明书指明不会出现的错误)
5、测试人员或最终用户发现计算器某些地方不身用,比如,按键太小、显示屏幕亮光下无法看清等。(软件测试人员认为软件难以理解、不易使用、运行速度慢,或者最终用户认为不好)
缺陷的表现形式
1、功能、特性没有实现或者部分实现。
2、设计不合理、功能不明确、逻辑不清楚或存在矛盾
3、实际结果和期望结果不同。
4、没有达到规格说明说要求的性能指标。
5、运行出错、崩溃、中断、界面混乱
6、数据不正确、精度不够、不完整或格式不统一
7、用户不能接受的其它问题,如存取时间过长、界面不美观。
8、硬件或软件存在其它问题。
软件缺陷的状态
1、提交一测试人员提交了一个缺陷给程序员。
2、打开一待处理
3、拒绝一程序员认为不是缺陷或者重复,就可以修改状态为拒绝。
4、修复一程序员修复缺陷后提交的一个状态
5、关闭一测试人员经过回归测试后,认为此缺陷已经解决,将其关闭。
6、推迟一可以放在后续版本解决的问题,但是要详细写出修复的日期或版本,
软件缺陷严重程度的划分
1、Low一表面性错误,如错别字。
2、Medium一影响一个相对独立功能、仅仅发生再特定条件上、与需求定义不一致、断断续续出问题。
3、High一功能点没有实现、不符合用户需求、导致数据丢失。
4、VeryHigh-频繁死机、大部分功能不能使用。
5、Critical一系统瘫痪、异常退出、死循环、严重的计算错误。
软件测试的优先级
1、Low-时间和资源允许的情况下修复
2、Medium-不会延迟发布,会在以后修复
3、High一会制约开发和测试的进行,需要在发布之前修复
4、VerxHigh一影响系统,产生严重影响
5、Urgent-导致系统几乎不可用
软件测试的缺陷分类
1、系统缺陷
2、数据缺陷
3、数据库缺陷。
4、接口缺陷
5、功能缺陷
6、安全性缺陷
7、兼容性缺陷
8、性能缺陷
9、界面缺陷
10、 建议
缺陷报告注意事项
1、尽量保证缺陷可以重现。
2、简洁、准确、完整
3、一个缺陷报告只写一个缺陷
缺陷书写规范
1、标题简洁、提供缺陷的本质信息即可。
2、复现的步骤要详细,用数字编号
3、实际结果要描述清楚复现后的结果。
4、列出期望结果。
5、提供附件。
6、提供严重性属性和其它公司需要填写的属性,
注意:要避免一些常见错误。
(1)避免使用情绪化语言和强调标点符号。
(2)避免使用模糊的词语。
(3)避免使用自认为幽默的语言,直接描述问题即可。
(4)避免提交不不确定的缺陷;
缺陷处理流程
缺陷的跟踪
新提交的缺陷为“新建”状态,在确认有效之后变为“打开”状态,开发人员修改后变为“已修复”状态,此时测试人员需要回归测试,如果验证问题已解决,状态为“已解决”,如果问题依然存在,状态为“打开”;如果开发人员任务此缺陷可以延期修改,状态为“延期”;注意此时必须由项目相关人员讨论确定后,才可以延期处理,否则状态继续为“打开”
缺陷密度
每千行代码的缺陷数;
缺陷密度=1000*缺陷个数/代码行数。
单位: 个/KLOC