软件失效分类:
① 软件错误:
② 软件缺陷
③ 软件故障
④ 软件失效
软件失效机理:软件错误-软件缺陷-软件故障-软件失效
软件错误:在整个软件生命周期不希望或不能接受的人为错误,其结果是导致软件缺陷的产生。相对于软件本身是一种外部行为。
软件缺陷:软件缺陷是存在于软件(程序/数据/文档 )之中的那些不希望或不可接受的偏差(如少一个逗点/多一个语句)。其结果是软件运行于某一个特定条件时出现软件故障,这是称软件缺陷被激活。
软件故障:是指软件运行过程中出现的一种不希望或不可接受的内部状态。软件故障可产生软件失效,软件故障是一种动态行为
软件失效:是指软件运行过程中出现的一种不希望或不可接受的外部行为结果。
软件错误是一种人为错误。一个软件错误必定产生一个或多个软件缺陷。当一个软件缺陷别激活时,便产生一个软件故障。在一个软件缺陷在不同条件下被激活可能产生不同的软件故障。软件故障如果没有容错措施加以处理,便不可避免的导致软件失效。同一个软件故障在不同条件下产生不同的软件失效。
软件缺陷:
1、软件未能达到产品说明书中的标明的功能
2、软件出现了产品说明书中指明不能出现的错误
3、软件功能超过产品说明书中指明的范围
4、软件未达到产品说明书虽未指明单应达到的目标
5、测试人员认为软件难以理解、不易使用、运行速度慢或最终用户认为不好使用
缺陷的产生主要来自产品说明书的编写和产品方案设计
1、产品说明书编写的不全面、不完整和不准确,而且经常更改,整个开发小组没有很好的沟通或理解。这也就出自软件产品说明书的问题,或开发人员对需求说明书的理解或沟通不够
2、设计方案如同产品说明书的问题相同。设计方案编写的不全面、不完整和不准确,而且经常更改,整个开发小组没有很好的沟通或理解
文档错误不能计算在软件错误之内
软件和错误严重性和优先级
严重性:
1、严重: 系统崩溃、数据丢失、数据损坏
2、较严重:操作性错误、错误结果、功能遗漏
3、一般: UI布局、错别字
4、建议: 不影响使用的瑕疵或更好的实现
优先级:
1、最高优先级:立即修复、停止进一步测试
2、次高优先级:在发布之前修复
3、中等优先级:如果时间允许应该修复
4、最低等优先级:可能会修复,但是也能发布
软件错误跟踪管理:
软件测试的目的是发现软件中存在的错误
每个bug都要经过测试、确认、修复、验证的管理过程
错误跟踪管理软件:
1、BUG记录信息
l 测试软件名称
l 测试软件版本
l 测试人名称
l 测试事件
l 测试软件以及硬件的配置
l 发现错误的错误类型
l 错误的验证等级
l 详细步骤
l 测试注释
2、BUG处理信息
l 处理者姓名
l 处理时间
l 处理步骤
l 错误记录的当前状态
软件错误的状态:
u New:测试中发现的新的软件bug
u Open:按确认以及分配给相关开发人员处理
u FIXED:开发人员已经修正,等待测试人员验证
u Delined:拒绝修改bug
u Defeffed:延期(不在当前版本中修复,下一版本再修复)
u Closed:bug已经关闭
错误管理流程:
① 测试人员提交新的错误入库,错误状态为“NEW”
② 高级测试人员验证错误
l 如果确认是错误,分配给相应的开发人员,把bug状态设置为“Open”
l 如果不是错误,则拒绝,把bug设置为Delined
③ 开发人员查询状态为“Open”的bug
l 如果不是错误,则把bug状态设置为Delined
l 如果是错误,修复后则设置为Fixed
l 如果不能解决的错误,要留下说明别保持bug的状态为Open
l 对于不能解决或需要延期的错误,需要项目经理、测试经理和设计经理共同决定
④ 测试人员查询bug状态为“Fixed”的bug
l 如果问题解决了,设置错误的状态为“closed”
l 如果问题没有解决,则设置错误的状态为“Reopen”
错误流程管理原则:
① 需要经验丰富的测试人员验证发现的错误是否为真正的错误,测试步骤是否准确
② 每次对错误的处理都要保留处理信息
③ 拒绝或延期处理错误不能由程序员单方面决定,要有项目经理、测试经理以及设计经理共同决定
④ 错误修复后必须要由报告错误的测试人员验证,确认修复后,才能关闭bug