缺陷管理的目的是保证缺陷被有效地跟踪和处理,保证缺陷的信息一致性,不致于丢失,能正 确地获取缺陷的信息,用于缺陷分析和产品质量度量。缺陷管理的内容包括缺陷的严重等级、缺陷 的管理流程、缺陷的生命周期和缺陷的状态转变。
缺陷的严重等级是指软件缺陷对软件质量的破坏程度,即软件缺陷的存在将对软件的功能和性 能产生怎样的影响。
缺陷的严重等级一般分为四类:致命、严重、一般和建议。对于不同的缺陷 管理工具,其缺陷的等级划分可能有所不同,但也都大同小异。 如何定义缺陷的严重等级?一般认为导致系统出现死机现象或崩溃的缺陷为致命缺陷,这种定 义是否正确呢?假如修改系统设置项导致系统偶尔出现死机现象,那么还能定义为致命问题吗?答 案是否定的。
因此仅仅通过缺陷引起的结果来判断缺陷的严重等级是不客观的,也是不科学的。衡量缺陷的 严重等级应该从两个维度来分析:一是该功能被客户使用的概率;二是缺陷带来的影响。
(1)该功能被使用的概率。 功能被使用的概率是指该功能在客户端可能被使用的程度,关于功能被使用的概率需要与业务 专家确定,一般情况下核心业务和一般业务被使用的概率很大,如果这些业务存在缺陷则会直接影 响客户对产品质量的认可程度,如手机通话功能。而对于一些类似于系统设置的功能,显然被使用 的概率很小,有的客户可能只会使用一次,类似这种功能即使存在一些偶发的缺陷,也不会直接影 响客户对产品质量的认可度,如手机设置时间格式的功能。
(2)缺陷影响。 缺陷影响是指由于该缺陷对系统带来的影响。如一些致命的影响,某功能导致系统出现死机等。 在工作中划分缺陷严重等级时需要将这两个维度结合起来考虑,不能仅考虑某个方面。西门子 公司有着明确的规定,在三级菜单以下的功能,即使由于功能的缺陷导致系统出现崩溃的现象,最 多也只能定义为一般问题。而测试工程师最容易犯的错是通过缺陷带来的影响来决定缺陷的严重等级。 在工作中缺陷严重等级的定义还容易受到开发工程师解决缺陷的难易程度影响,开发工程师 认为修改缺陷越困难,这类缺陷严重等级越高;反之修改缺陷越简单,这类缺陷严重等级越低。 如界面显示问题,在本地化开发过程中,系统主界面一些字样显示出现乱码的情况,这类问题的 严重等级应该设置为严重,但如果将缺陷的严重等级设置为严重,开发工程师就无法理解,他们 认为这类问题很容易解决,应该将其严重等级设置为建议或提示才对。西门子公司有着明确的规定, 对于主界面或三级菜单以内的字符,如果出现显示不全或乱码现象,都应该将其设置为严重问题。