当我们的测试人员辛辛苦苦地完成了测试活动,发现了软件中的Bug,而这只是让测试活动发挥出其效能的第一步。接下来,测试人员要对Bug进行准确地描述,缺陷现象、产生条件等等都要描述清楚,同时也要给出合理的软件缺陷等级定义——这个软件缺陷处于哪个问题等级。
今天主要想讨论下软件缺陷等级的问题。
现有的国家军用标准中对于软件测试的过程、测试方法、测试类型等都有相关规定,但是,对于测试发现的软件缺陷等级如何定义却没有统一的标准(我查过一些军用软件测试标准没有找到,如果哪位老师有不同意见,欢迎留言指正),这是一个很奇怪的现象。
这是因为软件缺陷等级的定义不重要吗?
实际上,军用软件的测试并没有想像中可以花费大量的时间和精力去完成彻底、有效的测试。由于软件必须服务于系统的时间,要满足系统联试、大型试验的进度要求,软件测试的时间通常都不是很充分的。
而软件缺陷等级的定义,正好可以解决测试时间不充分,测试问题要修复的矛盾。
定义缺陷等级,除了用以分析软件的质量水平之外,它的一个很重要功能就是可以据此安排测试修复的优先级。
比如,如果你的软件缺陷按下表中定义:
编号 | 缺陷严重等级 | 描述 |
---|---|---|
1 | 致命 | 不能执行正常工作功能或重要功能,或者危及人身安全 |
2 | 严重 | 严重地影响系统要求或基本功能的实现,不能执行正常工作或重要功能,使系统崩溃或资源严重不足,且没有办法更正(重新安装或重新启动该软件不属于更正办法) |
3 | 较重 | 1、严重地影响系统要求或基本功能的实现,但存在合理的更正办法(重新安装或重新启动该软件不属于更正办法)2、操作界面缺陷;3、打印内容、格式缺陷;4、错误操作没有任何提示;5、删除没有确认 |
4 | 一般 | 1、操作界面不规范;2、辅助说明描述不清楚;3、长时间操作但不给用户提示,类似死机;4、提示窗口文字未使用专业术语;5、可输入区域和只读区域没有明显区分;6、操作者感到不方便或者麻烦,但不影响招待工作功能或重要功能 |
5 | 轻微 | 其他缺陷或者建议类缺陷 |
那么,我们一般会要求三级(含三级)以上缺陷在交付用户前必须解决。
这只是一种缺陷等级定义方式,51测试网给出中一种等级定义:
紧急(一级):系统容易崩溃;功能设计与需求严重不符;内存泄漏;严重的数值计算错误;系统无法登陆;循环报错,无法正常退出。
严重(二级):通常表现为:影响系统功能或操作,主要功能存在严重缺陷,但不会影响到系统稳定性。比如:1.功能未实现;2.功能存在报错;3.数值轻微的计算错误。
一般(三级):通常表现为:界面、性能缺陷。比如:1.大数据下容易无响应;2.大数据操作时,没有提供进度条3.边界条件下错误;4.容错性不好。
轻微(四级):通常表现为:易用性及建议性问题。比如:文字排列不整齐;出现错别字,但是不影响功能;界面颜色搭配不好;界面格式不规范。
如果没有一个军用软件标准对软件缺陷等级做出明确定义,那我们至少要建立组织自己的缺陷等级定义,并且对每个缺陷等级都能像51测试网那样给出示例,这样才会让测试人员对发现的软件缺陷做出正确的缺陷等级定义,并且用以帮助我们控制软件质量和进度,交付出令用户满意的软件产品。
这正是:
缺陷等级有意义,辅助质量做分析
质量成本均可控,只因修复优先级
参考文献:软件质量管理实践——软件缺陷预防、清除、管理实用方法,于波、姜艳,电子工业出版社
联系客服