缺陷的严重等级是指软件缺陷对软件质量的破坏程度,即软件缺陷的存在将对软件的功能和性能产生怎样的影响。
如何定义缺陷的严重等级?一般认为导致系统出现死机现象或崩溃的缺陷为致命缺陷,这种定义是否正确呢?假如修改系统设置项导致系统偶尔出现死机现象,那这还能定义为致命问题吗?答案是否定的。
因此仅仅通过缺陷引起的结果来判断缺陷的严重等级是不客观的,也不科学。衡量缺陷的严重等级应该从两个维度来分析:一是该功能被客户使用到的概率;二是缺陷带来的影响;
该功能被使用概率
功能被使用的概率是指该功能在客户端可能被使用到的程度,关于功能被使用到的概率需要与业务专家确定,一般情况下核心业务和一般业务被使用到的概率很大,如果这些业务存在缺陷则会直接影响客户对产品质量的认可程度,如手机通话功能。而对于一些类似于系统设置的功能,显然被使用到的概率很小,有的客户可能只会使用到一次,类似这种功能即使存在一些偶发的缺陷,也不会直接影响客户对产品质量的认可度,如手机设置时间格式的功能。
缺陷影响
缺陷影响是指由于该缺陷带来对系统的影响。如一些致命的影响,某功能导致系统出现死机等。
在工作中划分缺陷严重等级时需要将这两个维度结合起来考虑,不能仅考虑某个方面,西门子公司有着明确的规定,在三级菜单以下的功能,即使由于功能的缺陷导致系统出现崩溃的现象最多也只能定义为一般问题。而测试工程师最容易犯的错是通过缺陷带来的影响来决定缺陷的严重等级。
在工作中缺陷严重等级的定义还容易受到开发工程师解决缺陷的难易程度影响,开发工程师认为修改缺陷越困难,这类缺陷严重等级越高,反之修改缺陷越简单,这类缺陷严重等级越低。如界面显示问题,在本地化开发过程,系统主界面一些字样显示出现乱码的情况,这类问题的严重等级应该设置为严重,但如果将缺陷的严重等级设置为严重时,开发工程师就无法理解,他们认为这类很容易解决,应该将其严重等级设置为建议或提示才对。西门子公司有着明确的规定,对于主界面或三级菜单以内的字符显示如果出现显示不全或乱码现象都应该将其设置为严重问题。
A类--严重错误,包括以下各种错误:
1、由于程序所引起的死机,非法退出
2、死循环
3、数据库发生死锁
4、因错误操作导致的程序中断
5、功能错误
6、与数据库链接错误
7、数据库通讯错误
B类--较严重错误,包括以下错误:
1、程序错误
2、程序接口错误
3、数据库的表、业务规则、缺省值未加完整性等约束条件
C类--一般性错误,包括以下各种错误:
1、操作界面错误(包括数据窗口内列名定义、含义是否一致)
2、打印内容、格式错误
3、简单的输入显示未放在前台进行控制
4、删除操作未给出提示
5、数据库表中有过多的空字段
D类--较小错误,包括以下各种错误:
1、界面不规范
2、辅助说明描述不清楚
3、输入输出不规范
4、长操作未给用户提示
5、提示窗口文字未采用行业术语
6、可输入区域和只读区域没有明显的区分标志
E类--测试建议