bug的生命周期-程序员宅基地

技术标签: bug  测试  单元测试  软件测试  测试工程师  测试工具  

测试人员的主要职责

测试人员最本质的工作就是寻找bug,提交bug、验证bug、推进bug的解决,直至软件达到发布的标准,提高软件的质量,及研发的工作效率和质量。

什么是bug

软件的BUG,狭义方面可以理解为是是指软件程序的漏洞或缺陷,广义方面除找到程序的之外之外还包括测试工程师或用户所发现和提出的软件可改进的细节、或与需求文档存在差异的功能实现等。即测试的介入可以从需求分析开始,跟踪开发流程。

bug的生命周期

二、bug的生命周期
生命周期中缺陷状态:新建–>指派–>已解决–>待验–>关闭
发现BUG–>提交BUG–>指派BUG–>研发确认BUG–>研发去修复BUG–>回归验证BUG–>是否通过验证–>关闭BUG

1、发现bug

a.按照测试用例进行操作,发现和测试用例的预期结果不一致的,都可以被称之为Bug。
b.测试用例不可能穷尽,总有超出你预料之外的因素,或者是神操作出现的bug。
c.成本问题,没有充足的时间编写测试用例,发现的bug

2、提交bug

在提交一个缺陷的缺陷,首先尽量描述这个缺陷的属性、Bug重现环境,bug类型,bug等级,bug的优先级以及详细的重现步骤,结果与期望等。
当然,我们在提交一个问题之前首先应该保证,这个缺陷是没有被提过的,以免造成重复缺陷单。

3、指派bug

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

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

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

4、确认缺陷

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

5、修复BUG

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

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

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

6、回归验证BUG

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

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

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

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

7、关闭缺陷

对于已经修复的缺陷进行关闭,这也是一个缺陷的最后一个状态。
在做接口测试的时候可以使用国产的接口测试和接口文档生成工具apipost

管理bug的工具

Bug会导致软件在运行时发生意料不到的故障,给企业带来损失,而软件测试的过程简单来说就是围绕bug进行的质量保证工作。为了提高测试工作效率,同时能够更高效的管理bug、提交bug、解决bug,合理的使用一些bug管理软件是非常有必要的。

首先是国内的bug管理软件:

禅道

在这里插入图片描述

禅道是第一款国产开源项目管理软件。它的核心管理思想基于敏捷方法scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能。在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

禅道使用自主开发的zentaophp框架开发,内置了完整的扩展机制,用户可以非常方便的对禅道进行彻底的二次开发。禅道还为每一个页面提供了json接口的api,方便其他语言来调用交互。内置多语言支持,多风格支持,搜索功能,统计功能等实用功能。

Tracup

在这里插入图片描述

Tracup 是一款轻量级的团队协同平台,提供简洁、高效的 Bug 追踪,轻量、便捷的项目管理,安全、稳定的数据保障,完美地将 Bug管理与团队协作结合在一起。

无论是修改Bug,还是新增一个功能, Tracup 都可以提供一个理想的工作云平台。便捷团队协作,轻量的项目管理, 完备的问题系统,大容量的文件存储,让用户工作更方便。

Bugtags

在这里插入图片描述

Bugtags是新一代的、专为移动测试而生的缺陷发现及管理工具。致力于改善移动 app 的测试流程,连接发现缺陷与提交缺陷之间的用户体验,提高测试及解决缺陷的效率。帮助测试人员高效的进行 app 测试及 bug 的跟踪和管理。

移动 app 集成 bugtags SDK 后,测试用户就可以直接在 app 里所见即所得的提交 bug,SDK 会自动截屏、收集 app 运行时数据,如:设备信息,控制台数据,用户的操作步骤等,开发人员在 bugtags 云端高效的跟踪及管理 bug。

Bugtags 与其它 bug 管理系统相比,最大的区别在于:

Bugtags 是专为移动开发而设计的,不是简单将以前面向 Web 及桌面应用的 bug 管理系统进行的改进或升级,而是完全以移动 app 开发及测试的视角重新设计的 bug 管理系统。

Bugtags 不需要布署,云端注册即可使用,简单便捷。

国外的bug管理软件有:

Bugzilla

在这里插入图片描述

Bugzilla 是 Mozilla 公司提供的一款开源的免费 Bug 追踪系统,它可以管理软件开发中缺陷的提交(new),修复(resolve),关闭(close)等整个生命周期。用来管理软件开发,建立完善的 Bug 跟踪体系。

JIRA
在这里插入图片描述

JIRA是一个缺陷跟踪管理系统,开发者是 Atlassian。JIRA 这个名字并不是一个缩写,而是截取自“Gojira” 。JIRA被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。JIRA中配置灵活、功能全面、部署简单、扩展丰富,其超过150项特性得到了全球115个国家超过19,000家客户的认可。

WebIssues
在这里插入图片描述

WebIssues是一个采用客户机/服务器模式的团队协作工具和问题跟踪系统,可以支持小规模的开发团队。它可以被用来存储,共享和跟踪问题的各种属性,注释和文件附件。很容易安装和使用,高度可定制。服务器可安装在任何支持PHP和MySQL或PostgreSQL的主机上,客户端可以是视窗或Linux的桌面。

Bugify
在这里插入图片描述

Bugify是一个非常简单的bug跟踪管理系统,并且功能非常强大。它的主要功能有:问题优先级,搜索过滤,邮件通知,标签,问题链接,键盘快捷键,Mardown格式化,最突出的功能就是支持无限种其他语言。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44436675/article/details/120343516

智能推荐

正确设置 MME类型-程序员宅基地

文章浏览阅读2.4k次。请求中的 response - header 中的content-type项是指�0�2�0�2服务器发送给客户端内容的MIME类型,如果 设置不对 那么浏览器怕是不能正常解析;const path = require(“path”);// 多用途Internet邮件扩展(MIME)类型const mimeType= {“.323”:“text/h323” ,“.3gp”:“video..._mme类型

关于EM算法_语音特征建模算法中常用期望最大化算法进行优化,一下关于em算法说法错误的是-程序员宅基地

文章浏览阅读143次。EM算法的简介1.什么是EM算法最大期望算法(Expectation-maximization algorithm,又译为期望最大化算法),是在概率模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐性变量。最大期望算法经过两个步骤交替进行计算,第一步是计算期望(E),利用对隐藏变量的现有估计值,计算其最大似然估计值;第二步是最大化(M),最大化在E步上求得的..._语音特征建模算法中常用期望最大化算法进行优化,一下关于em算法说法错误的是

Harbor 重启失败--已解决_error: for harbor-log cannot start service log: dr-程序员宅基地

文章浏览阅读1.4w次,点赞5次,收藏13次。harbor版本:v1.10.2遇到问题:使用 docker-compose down命令关闭harbor,然后使用./install.sh --with-chartmuseum命令重新安装带chart仓库的harbor,然后发现启动不了,报以下错误:[Step 5]: starting Harbor ...Creating network "harbor_harbor" with the default driverCreating network "harbor_harbor-chartmu_error: for harbor-log cannot start service log: driver failed programming ex

MySql like模糊查询优化 后缀模糊查询走索引 百万级别数据优化_mysql 模糊查询后六位-程序员宅基地

文章浏览阅读5.2k次,点赞5次,收藏18次。在使用msyql进行模糊查询的时候,很自然的会用到like语句,通常情况下,在数据量小的时候,不容易看出查询的效率,但在数据量达到百万级,千万级的时候,查询的效率就很容易显现出来。这个时候查询的效率就显得很重要!一般情况下like模糊查询的写法为(field已建立索引):SELECT`column`FROM`table`WHERE`field`like'%keyword%';上面的..._mysql 模糊查询后六位

来自西弗吉利亚大学li xin整理的CV代码合集(转)_ahd demosaicing c++-程序员宅基地

文章浏览阅读460次。http://blog.csdn.net/shuzfan/article/details/44592599 [-]Image denoisingImage codingImage demosaicingImage interpolation and SuperresolutionRGBD image processingImage segmentationparsi_ahd demosaicing c++

VUE3 中实现拖拽和缩放自定义看板 vue-grid-layout_vue组件拖拽自定义界面-程序员宅基地

文章浏览阅读1.1w次,点赞4次,收藏33次。vue3 使用vue-grid-layout进行自定义拖拽布局_vue组件拖拽自定义界面

随便推点

css 添加滚动条,div添加滚动条, 自定义滚动条_handsontable滚动条可以滚动-程序员宅基地

文章浏览阅读536次。.rows 的子元素高度必须高于 .rows 的高度, 才能出现滚动条.rows { height: 230px; overflow: hidden; overflow-y: auto;}.rows::-webkit-scrollbar-track-piece { background-color: rgba(0, 0, 0, 0); border-left: 1px solid rgba(0, 0, 0, 0);}.rows::-webkit-scrollbar { _handsontable滚动条可以滚动

优化器提示——性能调整手册和参考_oracle_pred arule-程序员宅基地

文章浏览阅读544次。Hint是Oracle数据库灵活性的体现。由于Hint具有最高的优先级,因此可以通过Hint使优化器根据用户的需要来生成指定的执行计划。Oracle的hint种类繁多,大致可以分为下面几类:优化方式和目标:如RULE、CHOOSE、FIRST_ROWS、ALL_ROWS等。访问路径:如INDEX、FULL、CLUSTER、INDEX_FFS等。查询转换:如MERGE、USE_CON_pred arule

“iPhone邮件应用程序无法同步最新电子邮件“ - 解决方案与源代码示例_苹果手机邮箱不更新邮件-程序员宅基地

文章浏览阅读679次。在邮件设置中,您可以找到"账户"选项,然后选择您的电子邮件账户。然而,有时候我们可能会遇到问题,即我们的iPhone邮件应用程序未能显示最新的电子邮件。在本篇文章中,我们将探讨这个问题的解决方案,并提供相应的源代码示例,帮助您解决此类问题。在邮件设置中,您可以检查您的电子邮件帐户的配置和同步设置。下面是一个简单的示例代码,演示如何使用Swift语言编写一个简单的邮件应用程序,并实现邮件的同步功能。下面是一些您可以尝试的解决方案,以确保您的iPhone邮件应用程序能够显示最新的电子邮件。_苹果手机邮箱不更新邮件

unity 一个拼图demo(七巧板)和一个切割demo_untiy开发七巧板-程序员宅基地

文章浏览阅读6.6k次。好久没更新博客了,那么今天就来装一下b吧。还是先上一波图,看看我们到底要做什么。前面2张是切割的的demo,后面的这个是拼图,但是我们看到材质,这里的解释一下2个demo用的都是一个网格构建代码,所以才会出现这种情况,正确的做法应该是把添加uv的代码做个判断一下,把这个变量放到这个方法参数列表中,同时把它变成一个对外的方法。这里顺便给大家提一下封装的思想,厉害的程序员他们其实大部分的时_untiy开发七巧板

SpringCloud微服务架构升级总结_springcloud 升级了annotation-程序员宅基地

文章浏览阅读263次。SpringCloud微服务架构升级总结wuli程序员2019-06-26 15:37:28一、背景1.1 应用系统的架构历史1.2 什么是微服务?起源:微服务的概念源于 2014 年 3 月 Martin Fowler 所写的一篇文章“Microservices”。文中内容提到:微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互..._springcloud 升级了annotation

GEM5教程-Garnet 2.0_gem5 garnet-程序员宅基地

文章浏览阅读2.7k次,点赞8次,收藏15次。GEM5教程-Garnet 2.0一、Garnet2.0:一种用于异构SoCs的片上网络模型二、调用三、配置四、拓扑结构网络组件五、路由六、流量控制七、路由器微体系结构1、缓冲区写入(BW)2、路线计算(RC)3、交换机分配(SA)4、VC选择(VS)5、链路遍历(LT)多周期路由器八、缓冲区管理一、Garnet2.0:一种用于异构SoCs的片上网络模型1、 garent2.0是gem5内部一..._gem5 garnet

推荐文章

热门文章

相关标签