软件测试之缺陷分析实战经验

时间:2024.5.15

一、软件缺陷的定义及主要类型

我们对软件缺陷分析一下,所谓"软件缺陷(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)程序设计组织不应测试自己的程序。


第二篇:软件测试之缺陷分析


软件测试之缺陷分析

有完全实现但不影响使用。如提示信息不太准确,或用户界面差,操作时间长,模块功能部分失效等,打印内容、格式错误,删除操作未给出提示,数据库表中有过多的空字段等

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)程序设计组织不应测试自己的程序。

更多相关推荐:
软件测试分析报告

软件测试分析报告一1测试目的测试校园博客的性能看软件是否运行正常是否会出现死机异常退出功能模块无法运行等异常状况是否能够满足客户的所有要求2测试校园博客用户操作手册顺利完成所有功能并给出正确的结果3测试校园博客...

软件测试总结与分析报告

文件名称手机软件v10软件测试报告文件编号00012编写王昭君孙林燕审核冯月批准信息学院091班20xx1226软件测试报告1引言11编写目的本文介绍了手机v10软件测试的概要结果及相关结论把它写成文档并对测试...

软件测试分析报告

山东师范大学梦想团队第七届齐鲁软件设计大赛网上淘宝网络资源检索软件测试分析报告参赛单位山东师范大学信息科学与工程学院作品名称网上淘宝团队名称梦想团队1山东师范大学梦想团队1引言311编写目的312项目背景313...

软件工程 测试分析报告

个人理财软件测试分析11引言11编写目的本测试分析报告为个人理财软件项目的测试分析报告目的在于总结测试阶段的测试以及分析测试的结果描述系统是否符合需求预期参考人员包括用户测试人员开发人员项目管理者其他质量管理人...

软件测试结果及分析报告

系统测试结果及分析报告目录1概述211项目名称212编写目的213项目背景214定义215产品发布标准216参考资料2测试情况概要321测试环境322测试内容3221主要功能测试内容3...

6 软件测试计划&分析报告

软件测试计划amp分析报告软件测试计划amp分析报告11引言111编写目的112背景113定义114参考资料22测试概要33评价准则331范围332数据整理333尺度34测试结果及发现441测试1登陆模块442...

关于软件测试行业现状的调查报告

||||华北电力大学科技学院调研报告实验名称课程名称软件测试专业班级:学生姓名:学号:成绩:指导教师:实验日期:软件测试行业现状调查报告中国软件测试的发展及现状分析:一、软件测试的发展及现状分析:中国的软件测试…

20xx-20xx年中国软件测试市场现状调查及投资策略研究报告

软件测试什么是行业研究报告行业研究是通过深入研究某一行业发展动态规模结构竞争格局以及综合经济信息等为企业自身发展或行业投资者等相关客户提供重要的参考依据企业通常通过自身的营销网络了解到所在行业的微观市场但微观市...

软件测试缺陷报告

测软件名称XX测试缺陷报告书19目录1引言311编写目的312背景313定义314参考资料32测试环境421硬件环境422软件环境43冒烟测试431被测软件432测试策略433执行步骤434测试用例执行情况43...

软件测试技术发展综述报告

综述报告报告题目软件测试技术发展现状综述学生姓名学号专业软件工程导师20xx年3月软件测试技术发展现况综述摘要从世界上第一行程序代码被编制出来实际上软件测试问题就已经出现了随着软件复杂度的增加软件测试的重要性逐...

软件测试缺陷报告(李昊洋组)

软件测试实验报告教学管理系统缺陷报告院系专业软件工程学生姓名李昊洋李柏霖杨光李行指导教师吴晓燕成绩沈阳工学院1目录1引言111编写目的112项目背景113软件缺陷定义12缺陷管理221通过逻辑覆盖法发现的缺陷2...

嵌入式软件测试报告(内部)

软件内部测试报告软件内部测试报告XXX系统测试分析报告评审V10编写人编写日期审核人审核日期软件内部测试报告修订页软件内部测试报告目录目录1软件测试报告内部2安装及使用测试3运行环境3安装易用性3XXX测试4安...

软件测试分析报告(32篇)