软件测试之缺陷分析
作者:网络转载 发布时间:[ 2011/11/18 14:13:34 ] 推荐标签:
一、软件缺陷的定义及主要类型
我们对软件缺陷分析一下,所谓"软件缺陷(bug)",即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。一般来说,软件缺陷的属性包括缺陷标识、缺陷类型、缺陷严重程度、缺陷优先级、缺陷来源、缺陷原因等。
进行软件缺陷分析后,软件缺陷的主要可以分为以下几种类型:
(1)设计不合理;
2)功能、特性没有实现或部分实现;
3)运行出错,包括运行中断、系统崩溃、界面混乱等;
4)与需求不一致,在执行TestCase时则为实际结果和预期结果不一致;
(5)用户不能接受的其他问题,如存取时间过长、界面不美观;
(6)软件实现了需求未提到的功能。
二、软件缺陷的级别、优先级及状态
软件缺陷有四种级别,分别为:致命的(Fatal),严重的(Critical),一般的(Major),微小的(Minor)。
A类?致命的软件缺陷(Fatal): 造成系统或应用程序崩溃、死机、系统挂起,或造成数据丢失,主要功能完全丧失,导致本模块以及相关模块异常等问题。如代码错误,死循环,数据库发生死锁、与数据库连接错误或数据通讯错误,未考虑异常操作,功能错误等
B类?严重错误的软件缺陷(critical):系统的主要功能部分丧失、数据不能保存,系统的次要功能完全丧失。问题局限在本模块,导致模块功能失效或异常退出。如致命的错误声明,程序接口错误,数据库的表、业务规则、缺省值未加完整性等约束条件
C类?一般错误的软件缺陷(major):次要功能没有完全实现但不影响使用。如提示信息不太准确,或用户界面差,操作时间长,模块功能部分失效等,打印内容、格式错误,删除操作未给出提示,数据库表中有过多的空字段等
D类?较小错误的软件缺陷(Minor),使操作者不方便或遇到麻烦,但它不影响功能过的操作和执行,如错别字、界面不规范(字体大小不统一,文字排列不整齐,可输入区域和只读区域没有明显的区分标志),辅助说明描述不清楚
E类- 建议问题的软件缺陷(Enhancemental):由问题提出人对测试对象的改进意见或测试人员提出的建议、质疑。
常用的软件缺陷的优先级表示方法可分为:立即解决P1、高优先级P2、正常排队P3、低优先级P4。立即解决是指缺陷导致系统几乎不能使用或者测试不能继续,需立即修复;高优先级是指缺陷严重影响测试,需要优先考虑;正常排队是指缺陷需要正常排队等待修复;而低优先级是指缺陷可以在开发人员有时间的时候再被纠正。
正确评估和区分软件缺陷的严重性和优先级,是测试人员和开发人员以及全体项目组人员的一件大事。这既是确保测试顺利进行的要求,也是保证软件质量的重要环节,应该要引起足够的重视。这里介绍三种常用的技术工具供大家参考。
(1)20/80原则
管理学大师彼得杜拉克说过:做事情必须分清轻重缓急。糟糕的是什么事都做,这必将一事无成。而意大利经济学家柏拉图则更明确提出:重要的少数与琐碎的多数或称20/80的定律。是80%的有效工作往往是在20%的时间内完成的,而20%的工作是在80%的时间内完成的。因此,为了提高测试质量,必须清晰的认识到哪些软件缺陷是重要的,哪些软件缺陷是关键的。不要拣了芝麻,却丢了西瓜。所以,只有抓住了重要的关键缺陷,测试效果才能产生大的效益,这也是第一个原则---分清轻重缓急,把测试活动用在有生产力的事情上。
(2)ABC法则
古人云:事有先后,用有缓急。测试工作其实也是如此,分清软件缺陷的轻重缓急,不但做处理软件缺陷来井井有条,完成后的效果也是不同凡响。因此,我们在测试工作中要时时记住一点,手边的软件缺陷并不一定具有第一优先处理的重要性。只有正确的判断,才可将测试活动效率增加数倍。
ABC法则是设定软件缺陷优先顺序重要工具之一。这ABC工具的关键点在于根据软件缺陷的重要程度决定优先顺序,按需求目标进行量化规划。把A类软件缺陷作为测试重要的有价值的关键的缺陷,并保证首先把A类软件缺陷先处理。其次是B类软件缺陷,然后是C类软件缺陷,然后是其它的,还有一些不紧急不重要的软件缺陷根本没有必要去做。
(3)四象限原则,把软件缺陷进行分类
在处理测试软件缺陷中,常会遇到千头万绪、问题繁多的情况,有些测试人员会被测试出来众多的软件缺陷所压垮,有些人则是悠然自得、高效完成。到底是什么原因造成这种区别呢?原因在于对软件缺陷分类是否合理。
那么,我们该如何对软件缺陷进行合理的分类呢?其实很简单,在一张坐标纸上,先划分好四个象限,然后只需记住四个字行,那是"轻重缓急"。"轻",指的是相对重要但不紧急的软件缺陷;"重",是指重要也是紧急的软件缺陷;"缓",指的是不重要也不紧急的软件缺陷;"急",则是指不是重要但却为紧急的软件缺陷。理清这种关系之后,算同时测试许多不同类型的软件缺陷,也会很快清楚哪些软件缺陷是必须马上完成,哪些缺陷是可以暂时缓一缓,这样也不会被堆积如山的软件缺陷所压垮,测试效率自然也会得到很大的提高。
软件缺陷的三种基本状态:
(1)激活状态(Active或Open)。
(2)已修正状态(Fixed或Resolved)。
(3)关闭或非激活状态(Close或Inactive)。
三、软件缺陷分析产生原因及分类
软件缺陷分析产生原因主要有三方面:技术问题,团队合作,软件本身。
从测试观点我们将软件缺陷分为五类,分别为:功能缺陷,系统缺陷,加工缺陷,数据缺陷,代码缺陷。
四、软件测试心理学问题
(1)程序测试的过程具有破坏性。
(2)程序员应避免测试自己的程序。
(3)程序设计组织不应测试自己的程序。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11