当前位置:网站首页>【软件测试】02 -- 软件缺陷管理

【软件测试】02 -- 软件缺陷管理

2022-07-05 06:39:00 衍生星球

软件缺陷管理

  软件由于其自身的特点和目前的开发模式,隐藏在软件内部的缺陷无法根除。软件测试工作就是查找软件中存在的缺陷,反馈给开发人员使之修改,从而确保软件的质量,因此软件测试要求测试人员对软件缺陷有一个深入理解。本节将针对软件缺陷的相关知识进行详细讲解。

1.软件缺陷产生的原因

  软件缺陷就是通常所说的Bug,它是指软件中(包括程序和文档)存在的影响软件正常运行的问题。IEEE(Institute of Electrical and Electronics Engineers,电气电子工程师协会)729—1983标准对软件缺陷有一个标准的定义:从产品内部看,缺陷是产品开发或维护过程中存在的错误、毛病等各种问题;从产品外部看,缺陷是系统运行过程中某种功能的失效或违背。软件缺陷的产生主要是由软件产品的特点和开发过程决定的,比如需求不清晰、需求频繁变更、开发人员水平有限等。归结起来,软件缺陷产生的原因主要有以下几点。

  (1)需求不明确。软件需求不清晰或者开发人员对需求理解不明确,导致软件在设计时偏离客户的需求目标,造成软件功能或特征上的缺陷。此外,在开发过程中,客户频繁变更需求也会影响软件最终的质量。

  (2)软件结构复杂。如果软件系统结构比较复杂,很难设计出一个具有很好层次结构或组件结构的框架,这就会导致软件在开发、扩充、系统维护上的困难。即使能够设计出一个很好的架构,复杂的系统在实现时也会隐藏着相互作用的难题,而导致隐藏的软件缺陷。

  (3)编码问题。在软件开发过程中,程序员水平参差不齐,再加上开发过程中缺乏有效的沟通和监督,问题累积越来越多,如果不能逐一解决这些问题,会导致最终软件中存在很多缺陷。

  (4)项目期限短。现在大部分软件产品开发周期都很短,开发团队要在有限的时间内完成软件产品的开发,压力非常大,因此开发人员往往是在疲劳、压力大、受到干扰的状态下开发软件,这样的状态下,开发人员对待软件问题的态度是“不严重就不解决”。

  (5)使用新技术。现代社会,每种技术发展都日新月异。使用新技术进行软件开发时,如果新技术本身存在不足或开发人员对新技术掌握不精,也会影响软件产品的开发过程,导致软件存在缺陷。

2.软件缺陷的分类

  软件缺陷有很多,从不同的角度可以将缺陷分为不同的种类。

  按照测试种类可以将软件缺陷分为界面类、功能类、性能类、安全性类、兼容性类等。

  按照缺陷的严重程度可以将缺陷划分为严重、一般、次要、建议。

  按照缺陷的优先级不同可以将缺陷划分为立即解决、高优先级、正常排队、低优先级。

  按照缺陷的发生阶段不同可以将缺陷划分为需求阶段缺陷、构架阶段缺陷、设计阶段缺陷、编码阶段缺陷、测试阶段缺陷。

  按照不同标准将软件缺陷划分成不同的种类,具体如表1所示。
在这里插入图片描述

3.软件缺陷的处理流程

  软件测试过程中,每个公司都制订了软件的缺陷处理流程,每个公司的软件缺陷处理流程不尽相同,但是它们遵循的最基本流程是一样的,都要经过提交、分配、确认、处理、复测、关闭等环节,如图2所示。

在这里插入图片描述

  (1)提交:测试人员发现缺陷之后,将缺陷提交给测试组长。

  (2)分配:测试组长接收到测试人员提交的缺陷之后,将其移交给开发人员。

  (3)确认:开发人员接收到移交的缺陷之后,会与团队甚至测试人员一起商议,确定该缺陷是否是一个缺陷。

  (4)拒绝/延期:如果经过商议之后,缺陷不是一个真正的缺陷则拒绝处理,关闭缺陷;如果经过商议之后,确定其是一个真正的缺陷,则可以根据缺陷的严重程度或优先级等选择立即处理或延期处理。

  (5)处理:开发人员修改缺陷。

  (6)复测:开发人员修改好缺陷之后,测试人员重新进行测试(复测),检测缺陷是否确实已经修改。如果未被正确修改,则重新提交缺陷。

  (7)关闭:测试人员重新测试之后,如果缺陷已经被正确修改,则将缺陷关闭,整个缺陷处理完成。

4.软件缺陷报告

  在实际软件测试过程中,测试人员在提交软件测试结果时都会按照公司规定的模板(Word、Excel、缺陷管理软件等)将缺陷的详细情况记录下来生成缺陷报告,每个公司的缺陷报告模板并不相同,但一般都会包括缺陷的编号、类型、严重程度、优先级、测试环境等,有时还会有测试人员的建议。

  在编写缺陷报告时要注意以下事项。

  (1)每个缺陷都有一个唯一的编号,这是缺陷的标识。

  (2)缺陷要有重现步骤。

  (3)一个缺陷生成一份报告。

  (4)缺陷报告要整洁、完整。

5.常见的软件缺陷管理工具

  软件缺陷管理是软件开发项目中一个很重要的环节,选择一个好的软件缺陷管理工具可以有效地提高软件项目的进展。软件缺陷管理工具有很多,免费的、收费的应有尽有,下面介绍几个比较常用的软件缺陷管理工具。

  1.Bugzilla

  Bugzilla是Mozilla公司提供的一款免费的软件缺陷管理工具。Bugzilla能够建立一个完整的缺陷跟踪体系,包括缺陷跟踪、记录、缺陷报告、处理解决情况等。使用Bugzilla管理软件缺陷时,测试人员可以在Bugzilla上提交缺陷报告,Bugzilla会将缺陷转给相应的开发者,开发者可以使用Bugzilla做一个工作表,标明要做的事情的优先级、时间安排和跟踪记录。

  2.禅道

  禅道是一款优秀的国产项目管理软件,它集产品管理、项目管理、质量管理、缺陷管理、文档管理、组织管理和事务管理于一体,是一款功能完备的项目管理软件,完美地覆盖了项目管理的核心流程。禅道分为专业和开源两个版本,专业版是收费软件,开源版是免费软件,对于日常的项目管理,开源版本已经足够使用。

  3.Jira

  Jira是Atlassian公司开发的项目与实务跟踪工具,被广泛用于缺陷跟踪、客户实务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。Jira配置灵活、功能全面、部署简单、扩展丰富、易用性好,是目前比较流行的基于Java架构的管理工具。

  Jira软件有两个认可度很高的特色:第1个是Atlassian公司对该开源项目免费提供缺陷跟踪服务;第2个是用户在购买Jira软件时源代码也会被购置进来,方便做二次开发。

原网站

版权声明
本文为[衍生星球]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_45627039/article/details/125529234