Bug软件缺陷管理制度

article/2025/10/31 7:36:53

  软件缺陷又被叫做Bug。所谓软件缺陷,即为软件中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。IEEE729-1983对缺陷有一个标准的定义:从产品内部看,缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题;从产品外部看,缺陷是系统所需要实现的某种功能的失效或违背。

  软件缺陷的管理分为四个阶段。包括:缺陷提交、明确指明缺陷类型 、缺陷修复、缺陷回归验证。

  第1章 缺陷提交

  缺陷提交阶段需要提交缺陷报告,缺陷报告必须详细描述缺陷内容。缺陷描述的内容包含缺陷操作步骤,实际结果和期望结果,明确指明缺陷类型,缺陷严重程度,缺陷优先级,缺陷状态,以及软件版本,提交人,提交日期等信息。

  第2章 缺陷分析定位

  缺陷分析定位阶段需要根据缺陷报告的内容对缺陷进行分析和定位。缺陷分析和定位是相关人员根据缺陷报告中对缺陷的详细描述查找重现缺陷,确定缺陷产生的原因,明确缺陷所处的位置,以便修改缺陷。

  第3章 缺陷修复

  缺陷修复阶段需要对已经定位的缺陷进行修改。缺陷修复是开发人员对已经分析定位的缺陷进行修改并更改缺陷状态,修改后的软件需要实现预期的结果(缺陷报告中的预期结果)。

  第4章 缺陷回归验证

  缺陷回归验证阶段需要对已经修改的缺陷进行验证和回归测试。缺陷回归验证是测试人人员对已经修改的缺陷进行回归测试,根据缺陷报告中的操作步骤对缺陷重新进行测试,并对缺陷修改过程中可能影响到的组件、模块或功能进行重新测试,验证修改后的缺陷可以实现预期结果并对其他组件、模块或功能无影响。同时,根据验证结果修改相应的缺陷状态,提交新产生的缺陷。

  

  ​

  第5章 缺陷管理

  缺陷管理是对各阶段测试发现的缺陷进行跟踪管理,以保证各级缺陷的修复率达到一定标准。包含内容如下:

  (一)测试人员在提供的缺陷模板中新建或重新打开缺陷。

  (二)测试人员提交的缺陷将反馈给项目负责人,由项目负责人安排开发人员修复缺陷。

  (三)开发人员修复缺陷后,记录处理时间及处理结果,并将文档及时反馈给测试人员验证。

  (四)测试人员验证缺陷后,记录验证时间及验证结果,并提交给项目负责人。

  第6章 缺陷类型

  缺陷类型是指根据缺陷的自然属性划分的缺陷种类。共分为九类,包括:文档缺陷、设计缺陷、配置缺陷、界面交互缺陷、数据校验缺陷、查询统计缺陷、功能缺陷、性能缺陷、安全性缺陷。

  文档缺陷是指软件相关文档不满足其完整性、正确性、一致性、易理解性、易浏览性的要求。满足以下一或多种情况:

  (一)影响发布和维护,其中包括注释。

  (二)文档中术语不一致。

  (三)文档中词语、语句表达不清晰,产生歧义。

  (四)文档内容缺失,结构不完整。

  (五)文档编制过程中产生的错误。

  (六)文档中发现的其他错误。

  设计缺陷是指软件在最初设计时由于未考虑全面,而使软件在使用中存在的一些潜在的缺陷。满足以下一或多种情况:

  (一)需求分析阶段没有考虑和挖掘到的隐式需求,导致的需求缺失。

  (二)操作便捷性设计不符合大众操作习惯。

  (三)控件功能设计不符合大众使用习惯。

  (四)错误提示内容不符合大众阅读习惯。

  (五)其他设计不合理引发的缺陷。

  配置缺陷是指由于配置库、变更管理或版本控制引起的错误。满足以下一或多种情况:

  (一)独立安装部署不成功。

  (二)配置文件或初始化数据错误。

  (三)不同运行环境产生的错误。

  界面交互缺陷是指接口通信和人机交互时产生的缺陷。满足以下一或多种情况:

  (一)组件、模块之间数据通信错误。

  (二)程序接口错误。

  (三)硬件接口通信错误。

  (四)界面不存在,界面不满足易用性要求,界面难以被用户理解,界面不协调不美观,提示信息没有使用用业务词汇或者容易被用户理解的词汇而是使用计算机专业术语。

  (五)界面风格不相对一致,不符合操作习惯。

  (六)提示、警告、错误说明等友好信息表达模糊、失当。

  (七)没有区别不同操作(增加、删除、修改、查询)对应界面的性质。

  (八)没有提供辅助输入手段。

  数据校验缺陷是指提示的错误信息,不适当的数据验证等缺陷。满足以下一或多种情况:

  (一)数据计算错误。

  (二)数据约束错误。

  (三)不同操作之间数据逻辑校验错误。

  (四)数据库发生死锁。

  (五)数据库的表、缺省值未加完整性等约束条件。

  (六)数据库连接错误。

  (七)数据库中的表有过多空字段。

  查询统计缺陷是指条件设置不准确引起的查询统计结果不正确。满足以下一或多种情况:

  (一)查询条件设置不准确。

  (二)查询结果列表异常。

  (三)同一查询条件得到的结果不一致。

  功能缺陷是指影响软件要求或基本功能实现的缺陷。满足以下一或多种情况:

  (一)功能无法实现。

  (二)功能实现错误。

  (三)业务流程错误。

  (四)功能操作与数据库存储不一致。

  (五)功能与辅助帮助不吻合。

  性能缺陷是指产品性能不能满足需求规格说明书中对性能需求的要求。满足以下一或多种情况:

  (一)业务处理效率低。

  (二)查询统计效率低。

  (三)响应速度不能满足需求规格说明书中的要求。

  安全性缺陷是指产品不能满足需求规格说明书中对安全性需求的要求。满足以下一或多种情况:

  (一)用户登录用户名/口令校验不正确。

  (二)口令没有掩码显示。

  (三)用户权限分配错误。

  (四)用户功能超权限。

  第7章 缺陷严重程度

  缺陷严重程度是指因缺陷引起的故障对软件产品的影响程度。分为五类,包括:致命、严重、一般、轻微、建议。

  (一)“致命”,不能执行正常工作功能或重要功能。

  (二)“严重”,严重影响系统要求或基本功能的实现导致系统出错或关闭进程,且没有办法更正。(重新安装或重新启动该软件不属于更正办法)

  (三)“一般”,严重影响系统要求或基本功能的实现导致系统提示错误,但存在合理的更正办法。(重新安装或重新启动该软件不属于更正办法)

  (四)“轻微”,使操作者不方便或遇到麻烦,但它不影响执行工作功能或重要功能。

  (五)“建议”,其他错误。

  第8章 缺陷优先级

  缺陷优先级指缺陷必须被修复的紧急程度。分为四类,包括:紧急、严重、一般、轻微。

  (一)“紧急”,缺陷不被修改将无法继续测试。

  (二)“严重”,缺陷必须被立即解决。

  (三)“一般”,缺陷需要正常排队等待修复或列入软件发布清单。

  (四)“轻微”,缺陷可以在方便时被纠正。

  第9章 缺陷状态

  缺陷状态指缺陷在跟踪修复过程中的进展状态。分为五类,包括:新建、打开、重现打开、否决、解决、延迟、关闭。

  (一)“新建”,已提交的缺陷。

  (二)“打开”,确认“提交的缺陷”,等待处理。

  (三)“重新打开”,验证后发现未修复的缺陷。

  (四)“否决”,否决“提交的缺陷”,不需要修复或不是缺陷。

  (五)“解决”,缺陷被修复。

  (六)“延迟”,缺陷暂缓修复。

  (七)“关闭”,确认被修复的缺陷,将其关闭。

  如需了解更多测试技术信息请关注:深圳多测师软件与技术服务有限公司


http://chatgpt.dhexx.cn/article/AS4d1dPT.shtml

相关文章

有什么比较好的bug管理工具?5款热门工具推荐

工具再优秀,适合自己才最重要。 为尽量讲透这个问题,本文的行文结构我先整理如下: 1、为什么需要bug管理工具? 2、好的bug管理工具的标准是什么? 3、好的bug管理工具推荐(5款) 4、如何挑选适合…

常用的bug管理工具--推荐『禅道bug管理工具』

一、常用bug管理工具 (1)EasyBUG:基于WEB的在线的,不用配置,界面简单,操作容易上手,但需要手动录入bug标题,保存bug截图提交,追踪及时性靠人工自觉。 QC(Quality Center)…

2022年国内外主流的10款Bug跟踪管理软件

这篇文章将会分享国内外主流的10款Bug跟踪管理软件,实现对对Bug报告的记录、分析和状态更新等管理,他们分别是:PingCode 、ClickUp、 Jira、Redmine Tool、Redmine Tool、Zoho Bug Tracker、Asana、nTask、Bugzilla、Mantis BT、BugLog HQ。 …

国内外最好用的6款Bug跟踪管理软件,测试员不可不知!

现在到处都在说Bug管理,但是,Bug管理究竟是什么呢?是仅仅对项目的bug进行管理?那要文件夹不就行了么,要什么bug管理系统? 那么,bug管理究竟是做什么的呢? 要了解bug管理&#xff0…

CGLIB 动态代理

目录 CGLIB 动态代理 简单结构: 添加依赖 定义类 CGLIB 动态代理 JDK的动态代理机制只能代理实现了接口的类。而不能实现接口的类就不能使用JDK的动态代理,CGLIB是针对类来实现代理的,它的原理是对指定目标类生成一个子类,并覆盖其中的方法…

jdk代理和cglib代理

1.jdk代理 描述:jdk代理,就是一个类A实现某个接口G,重写了G的方法。现在要对A的方法进行增强,但是不要修改A的代码。所以创建类B,也实现接口G,在这个方法里面写增强业务,但是具体方法调用A的。…

cglib代理解析

工作原理 使用 <dependency><groupId>cglib</groupId><artifactId>cglib</artifactId><version>3.3.0</version></dependency>对类和接口分别进行代理 DemoService package com.fanqiechaodan.user.service;/*** author fa…

CGLib之Enhancer

Enhancer允许为非接口类型创建一个Java代理。Enhancer动态创建了给定类型的子类但是拦截了所有的方法。和Proxy不一样的是&#xff0c;不管是接口还是类他都能正常工作。 来个场景模拟一下AOP package cglib.enhancer;public class Hello {public String sayHello(boolean thr…

cglib源码学习交流

背景 前段时间在工作中&#xff0c;包括一些代码阅读过程中&#xff0c;spring aop经常性的会看到cglib中的相关内容&#xff0c;包括BeanCopier,BulkBean,Enancher等内容&#xff0c;以前虽大致知道一些内容&#xff0c;原理是通过bytecode&#xff0c;但没具体深入代码研究&a…

CGLib浅析

CGLib浅析 什么是CGLib CGLIB实现动态代理&#xff0c;并不要求被代理类必须实现接口&#xff0c;底层采用asm字节码生成框架生成代理类字节码(该代理类继承了被代理类)。 所以被代理类一定不能定义为final class并且对于final 方法不能被代理。 实现需要 //MethodIntercept…

CGLIB

1、CGLIB 官网&#xff1a;http://cglib.sourceforge.net CGLIB是一个强大的高性能的代码生成包。它被许多AOP的框架&#xff08;例如Spring AOP&#xff09;使用&#xff0c;为他们提供方法的interception&#xff08;拦截&#xff09;。 Hibernate也使用CGLIB来代理单端si…

CGLIB代理到底是个什么东西?这是一篇最全的CGLIB大全

目录 0 概述 0.1 CGLIB包结构 1 使用CGLIB实现动态代理 1.1 CGLIB代理相关的类 1.2 CGLIB动态代理的基本原理 1.3 使用MethodInterceptor接口实现方法回调 1.3.1 实现MethodInterceptor接口 1.4 使用CGLIB代理最核心类Enhancer生成代理对象 1.5 使用CGLIB继进行动态代理…

什么是CGLIB,CGLIB使用简介

什么是CGLIB CGLIB是一个强大的、高性能的代码生成库。其被广泛应用于AOP框架&#xff08;Spring、dynaop&#xff09;中&#xff0c;用以提供方法拦截操作。Hibernate作为一个比较受欢迎的ORM框架&#xff0c;同样使用CGLIB来代理单端&#xff08;多对一和一对一&#xff09;…

cglib动态代理 | 如何生成代理类、代理类内容解析

文章目录 简介一、cglib动态代理有什么特点CgLib动态代理&#xff1a;优点&#xff1a;缺点&#xff1a; 二、Cglib如何生成代理类生成代理类的具体代码&#xff1a;生成代理对象的具体代码&#xff1a; 三、代理类内容解析持久化代理类&#xff1a;代理类内容&#xff1a; Cgl…

CGLib是什么

什么是CGLIB CGLIB是一个强大的、高性能的代码生成库。其被广泛应用于AOP框架&#xff08;Spring、dynaop&#xff09;中&#xff0c;用以提供方法拦截操作。Hibernate作为一个比较受欢迎的ORM框架&#xff0c;同样使用CGLIB来代理单端&#xff08;多对一和一对一&#xff09;…

什么是CGLIB,CGLIB使用简介,cglib

什么是CGLIB&#xff0c;CGLIB使用简介 2018年08月20日 10:41:31 axiaositong 阅读数&#xff1a;348 什么是CGLIB CGLIB是一个强大的、高性能的代码生成库。其被广泛应用于AOP框架&#xff08;Spring、dynaop&#xff09;中&#xff0c;用以提供方法拦截操作。Hibernate作为…

(转帖)Cglib和jdk动态代理的区别及运行性能比较

动态代理解决了方法之间的紧耦合&#xff0c;IOC解决了类与类之间的紧耦合&#xff01; Cglib和jdk动态代理的区别&#xff1f; 1、Jdk动态代理&#xff1a;利用拦截器&#xff08;必须实现InvocationHandler&#xff09;加上反射机制生成一个代理接口的匿名类&#xff0c;在…

CGLib动态代理原理

CGLib动态代理原理 CGLib动态代理是代理类去继承目标类&#xff0c;然后重写其中目标类的方法啊&#xff0c;这样也可以保证代理类拥有目标类的同名方法&#xff1b; 看一下CGLib的基本结构&#xff0c;下图所示&#xff0c;代理类去继承目标类&#xff0c;每次调用代理类的方…

CGLib介绍

1. CGLIB介绍 CGLIB(Code Generation Library)是一个开源项目&#xff01;是一个强大的&#xff0c;高性能&#xff0c;高质量的Code生成类库&#xff0c; 它可以在运行期扩展Java类与实现Java接口。CGLIB是一个强大的高性能的代码生成包。它广泛的被许多AOP的框架使用&#…

cglib的简单使用

一、前言 最近在看Spring的源码&#xff0c;其中有牵扯到cglib的相关内容&#xff0c;遂简单记录下cglib是如何使用的 二、原理&#xff08;节选自网络&#xff09; CGLIB原理&#xff1a;动态生成一个要代理类的子类&#xff0c;子类重写要代理的类的所有不是final的方法。…