• 0
  • 0
分享

在测试工作中,缺陷管理是我们必不可少的工作内容之一。既然是管理,也就少不了时间、人物和管理内容。本文将分享软件项目中缺陷管理的基本内容以及对缺陷管理的一些思考。

如图1-1所示,缺陷通常包含以下八个状态:打开、重新打开、已修复、未复现、问题重复、不是问题、延期修复和关闭。其中,研发人员需要关注和处理打开和重新打开这两个状态下的缺陷,测试人员需要关注和处理已修复、未复现、问题重复、不是问题和延期修复这五个状态下的缺陷。当然,不同企业对缺陷状态的设置会存在一定的差异,本文暂时以这些状态为例。

itestcorner_bug_1.png

图1-1 软件缺陷状态图

当我们新录入一个缺陷后,缺陷即处于初态,也就是处于打开状态,这时缺陷的负责人就流转到了研发工程师身上。如图1-1中标记为1的状态流向,研发分析缺陷后可以有不同的处理方式,如果确认是Bug,则在缺陷修复后将缺陷状态流转到已修复,这时候缺陷的负责人就流转到了测试工程师。如果研发人员无法复现问题或者认为不是问题或者发现有重复的缺陷记录了,则备注原因后流转向相应的状态。如果确认了是Bug但是在当前版本来不及修复,在与产品经理和测试工程师协商一致后,可将缺陷流转到延期修复状态。

如图1-1中标记为2的状态流向,这里的状态流向是双向的,即缺陷可以在测试工程师和研发工程师间多次来回流转,只要缺陷没有修复或者是对缺陷的处理结果各方未达成一致,缺陷就不能流转向终态。

如图1-1中标记为3的状态流向,缺陷流向的下一个状态是关闭,即缺陷的终态。当缺陷由测试工程师验证已修复或者是对缺陷的处理结果各方已达成一致,则可以关闭缺陷。

itestcorner_bug_2.png

图1-2 软件缺陷处理流程图

基于缺陷状态管理,我们再来看下缺陷的人员协作流程,可简化为三个部分,如图1-2所示,首先是发现问题,然后是分析和解决问题,最后是再次验证问题。对应到缺陷的处理流程里,首先是由测试工程师发现缺陷并记录缺陷,之后由研发工程师对缺陷进行分析和处理,最后由测试工程师对处理结果进行验证,若验证通过则关闭缺陷,若验证未通过则需转回研发人员进行重新分析和处理。

通过上文的介绍,我们了解了测试工程师非常重要的工作内容之一:缺陷管理。当然,本文不仅是为了分享缺陷管理的具体内容,也是为了思考如何做好缺陷管理。总结来看,就是要明确缺陷的状态、对应的负责人和协作的流程。

itestcorner_bug_3.jpg

图1-3 软件项目流程图

如图1-3所示,从软件项目维度去看,系统测试仅是项目的一个环节,而缺陷管理也仅是系统测试环节中的一部分,那如果我们想做好软件项目的管理工作,或者说我们想做好软件项目的质量保障工作,应该怎么做?

识别好关键的项目节点,建立合适的协作流程,明确什么时间(节点)应该由什么人做什么事。”这或许会是一个答案。

作者简介: Chaofan,北交学子,专注思考和分享软件测试与质量保障。

如果对文章有任何疑问和见解,欢迎留言提问和指点。

相关引文:

《漫谈软件系统测试——问题解决》

《漫谈项目质量保障——协作流程优化》

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   知己知彼才能百战不殆。要想回答好问题就要先思考面试官的提问的动机。  首先我们分析一下面试官为什么要问这个问题,通过这个问题的答案他希望能获取到什么信息,然后我们把他希望获取到信息表达出来就可以了。面试官通过这个问题主要想了解三个方面:  (1) 你对软件测试行业是否有足够的了解?  如果你回答“我不怎么了解“或者”听朋友介绍说“,软件测试怎么样怎么样,这种答案肯定是不合格的,因为你只是道听途说,根本就没有真正了解过这个行业。对行业的了解,是要能够清晰的说出软件测试行业(岗位)的特点是什么,优势有哪些,逆势又有哪些,企业所需要的优秀测试人员应该具备满足什么要求。  (2) 你对自身是否有足...
            0 0 1326
            分享
          • 引言对于产品的手机项目(应用软件),主要是进行系统测试。而针对手机应用软件APP的系统测试,我们通常从如下几个角度开展:功能模块测试、兼容性测试、安装和卸载测试、软件更新测试、性能测试、用户体验性测试、交叉事件测试、用户界面测试等。功能测试要点及常见缺陷常见的功能类缺陷APP崩溃这是测试中的常见问题,这类问题也是非常严重的,会直接影响用户对产品的第一印象,例如我们正在使用某个APP,正在使用突然应用就停止响应,界面上弹出“强制关闭错误”的窗口,需要强制关闭应用,或者正在使用时出现闪退的现象。这些情况都很影响用户的体验,导致用户卸载该APP。通用的触发移动APP崩溃的测试场景,如下:验证在有不同...
            14 14 1663
            分享
          • 在 Vue 3 的 Composition API 中,采用了 setup() 作为组件的入口函数。在结合了 TypeScript 的情况下,传统的 Vue.extend 等定义方法无法对此类组件给出正确的参数类型推断,这就需要引入 defineComponent() 组件包装函数,其在 rfc 文档中的说明为:https://composition-api.vuejs.org/api.html#setup interface Data {   [key: string]: unknown }   interface&nbs...
            0 0 1049
            分享
          •   Google 正在将"帮我写"功能扩展到网页版的 Gmail,允许用户使用 Gemini AI 创建或修改电子邮件。 就像在移动平台上一样,用户在 Gmail 中打开空白草稿时将看到使用该功能的提示。  Google的"帮我写"功能只适用于订阅了Google One AI Premium 或拥有Workspace Gemini插件的用户。 除了生成电子邮件草稿外,"帮我写"还能就如何正式、详细阐述或缩短信息提供建议。  Google还在其"帮助我写作"工具集中为"润色"选项添加了一个快捷方式...
            0 0 486
            分享
          • 混迹于测试行业这么长时间了,一直想写一篇关于软件测试的经验分享的文章,但苦于工作原因迟迟未下笔。最近终于有了些闲余时间,遂决定把自己的心路历程及所感所想记录下来,与各位同行共勉。软件测试究竟是做什么的呢?软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。简而言之就是证明程序的正确性,检察系统是否满足用户需求,发现bug,证明程序有错。(划重点:找bug不是改bug哦~)软件测试前景又如何?软件测试工程师行业前景好、职业寿命长:根据相关招...
            0 0 1071
            分享
      • 51testing软件测试圈微信