(四)Bug的生命周期

article/2025/5/8 18:53:26

Bug的属性


Bug重现环境

这个应该是我们重现bug的一个前提,如果没有这个前提,我们可能会无法重现问题,或者跟本就无从下手。

  • 操作系统

这个是一般软件运行的一大前提,基本上所有的软件都依赖于操作系统之上的,对于一个软件来说,要想在某个操作系统上运行,必须要对这个操作系统支持,这就需要有真对性的设计与开发。对于不同的操作系统,其可能存在差异(如:win xp 与 win 7)或本质的区别(如 win 7 与 CentOS linux ),所以,操作系统环境是重现问题的一个重要前提。

  • 浏览器

对于B/S系统,或面向大众的互联网产品(网站,邮箱等),浏览器的兼容性也是必须测试的一个重点,对于现在的浏览器市场,各式的浏览器都有其用户群,要想使产品大众化,必须考虑这些产品的兼容性问题。

不同的浏览器之间(IE、 firefox、chrome、opera 等),甚至同一系列不同版本(ie6/ie7/ie8/ie9等)都可能存在兼容性问题,所以,对于这类应用,浏览器环境重现bug前提条件之一。

  • 其它(这个“其它”非常重要)

对于不同的系统发现重现问题,都会有其特定的前提,拿我测试的邮箱来说,必须要描述其是在测试线还是现网环境,而且还要附带一重现问题的帐号等。

对于c/s软件,可能还要考虑与其它常用软的兼容等,例如,是在安装的某款软件后,对本软件的安装和使用造成影响。这些都是重现问题的必须描述的环境。

问题类型

根据JIRA的管理系统的划分,bug 只是问题的一种,它可以用于跟踪多种不同类型的问题(其实,他只是将bug做为一子类而已)。

JIRA系统缺省提供的问题类型(大部分的系统都可以自定义类型的,这样就增加了灵活性。)

  • Bug : 测试过程、维护过程发现影响系统运行的缺陷。(这就是一般测试人员所提交的bug)
  • New Feature : 对系统提出的新功能。(单个的小需求可以,如果大的话,就相当于一个需求,放到这里是不合理的。)
  • Task : 需要完成的一任务。(开发或测试任务指派。)
  • Improvement : 对现有系统功能的改进。(一般产品经理或产品体验师做的事)

当然,不同的公司,他们的人员定位与职责是不太相同的,按照上面的分类,JIRA就不是简单的缺陷管理系统了,它涵盖一项目(或产品)所需要处理的任务、需求与缺陷。

Bug 类型

这里缩小范围,单指我们测试人员在测试过程中发现的缺陷,发现产品缺陷其实就是测试人员工作的主要目的。当然,你要确定一个问题的类型,也需要对项目(或产品)有比较深的理解。是代码缺陷还是设计缺陷有时候就不太容易区分,当然,这个划分,对于开发定位问题影响很小,但对于问题类型的统计就比较重要了。

下面看一些常见的分类:

划分方式一: ```  * 代码错误

* 设计缺陷

* 界面优化

* 配置相关

* 安装部署

* 性能问题

* 标准规范

* 测试代码

* 其它 划分方式二:  * 功能类(function)

* 性能类(performance)

* 界面类(UI)

* 易用性类(usability)

* 兼容性类(compatibility)

* 其它(else) ```这个分类当然是可以自定义的,具我接触的缺陷管理都是可以自定义的,既然是对问题的管理,那么你当然可以拿来做特定环境下的系统来使用,或我就想用这个系统来指派任务,那么我的自定义类型为前端任务、后端任务、测试任务、配置部署…

缺陷等级

缺陷等级,这个划分也比较灵活,有分三级或四级,也有分五级的。

  • 致命

一招毙命的缺陷,使你的系统无法运行,有造成数据泄漏的安全性问题。

  • 严重

可以引起易于纠正的异常情况、可能引起易于修复的故障或对产品外观难以接受的缺陷。

  • 一般

指不影响产品的运转和运行、不会成为故障起因,但对产品外观和下道工序影响较大的缺陷

  • 轻微

轻微缺陷是指对产品外观和下道工序可能会有轻微影响的缺陷

  • 建议

增加用户使用体验的建议性问题。(一般情况下,建议也为做为缺陷的一种。这个跟系统的类型与需求有关)

缺陷优先级(priority)

当问题处理人员在面对许多问题需要处理进,就需要问题进行优先级排序。我们做事情的安排,操作系统有处理进程等都在使用着优先级。

优先级的划分: ```低——>中——>高——>紧急

延迟处理——>正常排队——>优先处理——>紧急处理 ```Bug的严重程度和优先级是含义不同但相互联系密切的两个概念,它们从不同的侧面描述了软件缺陷对软件质量和最终用户的影响程序和处理方式。

一般地,严重程序高的软件缺陷具有较高的优先级。严重程度高说明缺陷对软件造成的危害性大,需要优先处理,而来严重程序低的缺陷可能只是软件不太尽善尽美,可以稍后处理。

  • 严重程度高优先级不一定高:

如果某个严重的软件缺陷只在非常极端的条件下产生,则没有必要马上处理。

如果某一个软件缺陷,需要重新修改软件的整体架构,可能会产生更多的潜在缺陷,而且软件由于市场的压力必须尽快发布,此时即使缺陷的严重性很高,是否需要修正,需要全盘考虑。

  • 严重程度优先级不一定低

如果是软件名称或公司名称的拼写错误,虽然说其属于界面错误,严重程度不高,但其关系到软件和公司的市场开解,必须尽快修正。

缺陷状态

对于一个问题,其处理过程是一个周期,周期的不同阶段,其所处的状态也是不一样的。不同状态所对应的处理人也是不一样的。

  • 打开: 表示问题被提交等待有人处理。
  • 重新指派 : 问题被重新指派给某人处理。
  • 处理 : 问题在处理中,尚未完成。
  • 固定 : 确认此问题存在,但暂时不进行处理。
  • 回归 : 对已经修复的问题进行回归确认。
  • 关闭 : 问题的最后一个状态。

一个bug的生命周期


下面通过一个比较完整的bug的处理流程图,更深刻的理解bug的状态以一个bug的生命周期。

img

提交(打开)缺陷

在提交一个缺陷的缺陷,首先尽量描述这个缺陷的属性。Bug重现环境,bug类型,bug等级,bug的优先级以及详细的重现步骤,结果与期望等。

当然,我们在提交一个问题之前首先应该保证,这个缺陷是没有被提过的,以免造成重复缺陷单。

如果是回归不通过的缺陷,其状态又会变为打开状态。

分配(转交)缺陷

这一步不是必须的,跟项目模式有关,有些公司测试部门与开发部门独立,那么测试人员就不确定自己测试的模块是由哪位开发人员负责的,在这种情况下,测试人员统一把问题指派给项目组长或经理,由项目组长(或经理)对问题进行确认后再次分配给相应的开发人员。

有些测试人员是穿插到不同研发团队中的,所以对不同的开人发员负责的开发模块非常清楚,这个时候就可以将问题直接指派给相应的开发人员。

也有一种情况,本来此问题应该由A开发人员负责,但由于A开发人员的调离或辞职,些问题为转交给其它人员处理。“分配”强调是上级对下级;“转交”强调的是平级之间。

确认缺陷

当开发人员接到一个缺陷时,首先是对其进行分析与重现,如果对其进行分析发现不是缺陷(可能由于测试人员不了解需求)或无法对此问题进行重现,那么就需要将此问题反回给测试人员,并注明原因。如果确认为缺陷则需要对其进行处理。

推迟处理

在处理问题之后,还需要进行一次判断,是否需要推迟处理,有些需求已经确认了是问题,由于其可能在极端情况下才会出现,或需要对系统架构进行改动,或其优先级非常低,所以暂时不需要对此问题进行处理(或到下个版本进再进行修复)。

固定

对于推迟处理的问题可以暂时进行固定(“固定”为QC中的叫法。)一般固定的问题需要经过项目经理与测试经理协商后才能固定。

处理缺陷

开发人员在确认完一个问题需要处理时,那么就对其进行处理工作。(例如,redmine 是支持处理人时时更新问题处理进度的,如 已处理30% ,已处理80% 等,当然,对于短时间内可以修复的问题就没必要时时的去更新处理进度。)

回归缺陷

回归缺陷对于测试人员来说是非常重要的工作,其有三个入口两个出口。

确认非缺陷问题:对于提交的一个缺陷,开人员处理为非问题或无法重现,然后直接转交给测试人员回归。测试人员再次确认,如果真如开发人员所说,则将问题关闭。如果非开发人员所说,是由于问题描述模糊或其它原因喂重现问题,则再次注明原因转给开发人员。

确认修复问题:对开发人员修复的问题再次进行确认,确认能过,则关闭问题。确认不通过,将问题再次打开并转给开发人员。

确认固定问题:有计划的对固定问题进行确认,有些固定问题随着时间的推移,版本的更新或已经不存在了,对这类问题应该及时关闭。有些固定问题依然存在且变得紧急,对于这类问题应该及时打开交给开发人员处理。

关闭缺陷

对于已经修复的缺陷进行关闭,这也是一个缺陷的最后一个状态。

最后,“状态”和“指派人”的对应关系如果更加细化,对项目而言是有益的: ```已关闭—>指派给修复这个bug的开发工程师。

无需解决,不是bug—>指派给提交这个bug的测试人员。

无需解决,迭代待解决—>指派给项目的产品经理。 ```


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

相关文章

面试题之Bug的生命周期

今天来分享一个基础面试题:Bug的生命周期,虽然基础,但是面试被问到的概率很高。 Bug的生命周期,也就是一个Bug被发现到被关闭的过程,在整个生命周期中,不同的阶段对应不同的缺陷状态。 大家可以参考如下的…

测试之Bug与用例【创建Bug、Bug级别、Bug生命周期、测试用例的万能公式、设计测试用例具体方法】

文章目录 1. 如何创建Bug2. Bug的级别3. Bug的生命周期4. 面试题:跟开发产生争执怎么办5. 设计测试用例的万能公式使用万能公式对水杯设计测试用例 6. 设计测试用例的具体方法6.1 等价类6.2 边界类6.3 判定表6.4 正交法(allparis)6.5 场景设计法 1. 如何创建Bug 提…

Bug生命周期

过程描述: 1. 测试工程师开始执行测试,发现bug则新建bug,这时bug是新建状态。 2. 测试组负责人把bug修改为打开状态,表明开发人员可以修改该bug了。之所以会有打开这一步有两点目的:第一是测试组负责人对bug进行确认…

详解BUG(又名:BUG的生命周期)

测试人员最本质的工作就是寻找bug,提交bug、验证bug、推进bug的解决,直至软件达到发布的标准,提高软件的质量,及研发的工作效率和质量。 一、什么是bug 软件的BUG,狭义概念是指软件程序的漏洞或缺陷,广义概念除此之外…

Bug的生命周期状态流程图

bug的生命周期 BUG的生命周期,就是一个BUG被发现到这个BUG被关闭的过程。 生命周期中缺陷状态:新建-->指派-->已解决-->待验-->关闭 发现BUG-->提交BUG-->指派BUG-->研发确认BUG-->研发去修复BUG-->回归验证BUG-->是否通过…

BUG的生命周期,bug从“出生到死亡”全部过程

前言: 基本定义:BUG从发现到这个bug关闭,是一个完整的生命周期。 一:从具体状态上来讲 状态有这几种: 1:new-bug被第一次发现的时候,确认是一个问题,将bug进行记录。 2&#xff…

bug的生命周期都有那些阶段

bug的生命周期都有那些阶段 一、主要有八个生命周期阶段二、bug生命周期流程图 一、主要有八个生命周期阶段 1)New: 是新发现的bug(指给对应的开发);   2)Open: 开发确认这是bug,并…

测试基础-05-bug的定义生命周期

1 学习目标&内容 1.1 bug的类型 1.2 bug的等级 1.3 bug的生命周期 1.4 禅道的使用 2 bug的定义 软件的Bug:狭义概念是指软件程序的漏洞或缺陷,广义概念除此之外还包括测试工程师或用户所发现和剔除的软件可改进的细节或与需求文档存在差异的功…

bug的生命周期

bug的生命周期 测试人员的主要职责什么是bugbug的生命周期1、发现bug2、提交bug3、指派bug4、确认缺陷5、修复BUG6、回归验证BUG7、关闭缺陷 管理bug的工具首先是国内的bug管理软件:国外的bug管理软件有: 测试人员的主要职责 测试人员最本质的工作就是寻…

IDEA:Windows 下载安装 IDEA 详细教程

一、下载IDEA 官网 首先去IDEA官网中文版:IntelliJ IDEA 点击下载按钮进入下载页面 下载 下载社区版,社区版是免费的,相比于收费版少了些功能,不过日常开发也够用了 二、安装 第一步 下载完成后双击安装包,点…

Linux系统创建桌面快捷方式,安装idea,配置idea环境

一、下载Linux版IDEA 使用浏览器打开IDEA官网的链接:https://www.jetbrains.com/idea/或https://www.jetbrains.com/idea/download/other.html 使用wget命令下载 wget wget https://下载地址.tar.gz创建目录 #在home文件夹中创建develop文件夹,再在…

新电脑 安装idea迁移设置和插件注意事项

设置备份 首先,旧电脑Idea导出设置 在新电脑导入设置 注意1:只能导出常规设置,并不能导出插件 注意2:如果新电脑使用的Java、Maven、Git的安装位置不同,需要对相应位置修改 Java路径修改 Maven路径修改 Git路径修改…

linux系统安装idea

1、下载安装包,地址如下: https://www.jetbrains.com/idea/download/#sectionlinux2、下载后,复制到/opt/idea目录下,并进入该目录进行解压缩 sudo cp /home/Downloads/ideaIU-2020.3.tar.gz . sudo tar -zxvf ideaIU-2020.3.ta…

ubuntu20 环境下安装idea全纪录,不可能出错

工作的原因切换了操作系统,虽然写的服务一直在linux上运行,但是对linux的操作还是不算熟练,今天打算在ubuntu下安装新版的idea ,记录一下,留着以后复习 1、下载idea 下载地址: Download IntelliJ IDEA: …

安装IDEA -- MacBook点击IDEA意外退出

前言 时间:2022.8.14内容:原本可以正常用的IDEA闲了几天后连打开都成了问题。 情况描述 上个月月底的某一个深夜,费了蛮大劲儿搞IDEA的永久版,也算是安排上了。 搁置了一段时间没去碰,没想到就打不开了!…

centos8安装idea的图文详细步骤

centos8安装idea的图文详细步骤 创建目录下载解压安装激活配置jdk配置maven 创建目录 [rootdxm28 bat]# mkdir -p /data/idea [rootdxm28 bat]# cd /data/idea下载 [rootdxm28 idea]# wget https://download.jetbrains.com/idea/ideaIU-2020.3.tar.gz [rootdxm28 idea]# ll -…

Linux 虚拟机安装 IDEA 教程

在官网下载对应的包到本地 IDEA下载传送门 在虚拟机建一个放 IDEA 目录 mkdir /opt/idea 把本地刚下的适合 Linux 的 IDEA 包通过 Xfpt 传上去,步骤如图,比较简单。 切换目录,相关指令和示意图如下: cd /opt/idea ll tar -zx…

Linux系统安装IDEA保姆级教程

〇、目录 〇、目录一、前言二、下载Linux版IDEA三、解压安装IDEA四、配置IDEA环境变量五、添加桌面快捷方式5.1 软连接创建桌面快捷方式5.2 为IDEA创建Linux桌面快捷方式 六、给IDEA安装中文插件 一、前言 本教程指导在Linux环境下安装IDEA,配置IDEA目录的环境变量…

虚拟机中安装IDEA教程

1.下载:官网链接 2.下载完成后返回桌面进入下载目录中打开终端解压缩并移动到opt目录里 3.点击opt 进入我们的idea目录 点击bin 点击idea.sh 4.进入idea后开始配置 5.都配置完成点击确定就完成了

在linux中安装idea

1.在当前用户主目录新建目录opt 使用ctrlaltt打开终端 //快捷键打开终端在终端中输入cd ~ //使用cd命令进入用户主目录再输入mkdir opt //创建一个名为opt的空目录 2.将下载好的idea放在opt目录下 idea官网下载平台 3.右键解压到当前文件夹或者使用命令行 tar -zxvf ideaIU-…