• 0
  • 0
分享
  • 软件测试和bug的生命周期以及bug的状态与描述——软件测试圈
  • 北极 2021-07-09 11:16:09 字数 1233 阅读 834 收藏 0

1. 概述

本文主要讲述了软件测试的生命周期、bug的描述方法及状态,以及bug之间的状态转换。具体描述如下,首先是软件测试的生命周期。

2. 软件测试的生命周期

软件测试的生命周期可以总的划分为以下几个阶段:

  1. 需求分析:测试人员需要了解需求,对需求进行分解,得出测试需求。

  2. 测试计划:根据要求编写测试计划书或方案

  3. 测试设计:测试人员适当的了解设计,搭建测试用例框架

  4. 测试执行:执行测试用例,找软件中存在的缺陷。

  5. 测试评估:根据测试的结果,编写最终的测试报告以对软件的质量形成文字性说明与衡量。

3. bug的描述

bug的描述通常应该包含以下几个方面的内容,分别为:

  1. 发现问题的版本:开发人员需要知道出现问题的版本,才能够获取对应版本的代码来重现故障。并且版本的标识也有利于统计和分析每个版本的质量。

  2. 问题出现的环境:环境分为硬件环境和软件环境,如果是web项目,需要描述浏览器版本,客户机操作系统等。如果是app项目,需要描述机型、分辨率、操作系统版本等。详细的环境描述有利于故障的定位。

  3. 错误重现步骤:测试用例的最短操作步骤

  4. 预期行为的描述:要让开发人员知道怎么样才是正确的,尤其要以用户的角度来描述程序的行为是怎样的。如果是依据需求提出的故障,能写明需求的来源是最好的。(测试人员是懂需求的)

  5. 错误行为的描述:可以上传日志或者截图。

  6. 其他:某些公司会有一些其他的要求,例如故障的分类:功能故障,界面故障,兼容性故障等。有些有优先级的分类,严重影响测试需要开发人员优先修改的,可以设置优先级为高。

一般来讲,bug的描述均以缺陷报告的形式给出,具体可以参考下图:

1.jpg

除此之外,缺陷报告的格式还可以参考缺陷管理工具(如禅道、QC等)的缺陷报告给出的格式,比如禅道中缺陷报告的格式如下图:

2.jpg

4. bug的状态(生命周期)和状态转换图

bug的生命周期是是指bug从New到Closed的所有状态,bug常见的状态有以下七个,具体如下:

  1. New: 发现的新bug,未经评审决定是否指派给开发人员进行修改。

  2. Open: 确认是bug,并且认为需要进行修改,指派给相应的开发人员。

  3. Fixed: 开发人员进行修改后标识成修改状态,有待测试人员的回归测试验证。

  4. Rejected: 如果认为不是bug,则拒绝修改。

  5. Delay: 如果认为暂时不需要修改或者暂时不能修改,则延后修改。

  6. Closed: 修改状态的bug经测试人员的回归测试验证通过,则关闭bug。

  7. Reopen: 如果验证bug仍然存在,则需要重新打开bug,开发人员重新修改bug。

根据上面的描述,我们可以绘制出如下的bug的状态转换图:

3.png

注意: 缺陷状态一般来讲就是上面的几种状态,不过每个公司依据自己的具体情况也会对bug的状态有所调整,有可能数量多余上面的状态数量,也有可能小于上面的状态数量。


作者:catch_dreamer

原文链接:https://blog.csdn.net/catch_dreamer/article/details/109501866

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 前言在一线大厂,没有测试这个岗位,只有测开这个岗位即使是做业务测试,那么你的title也是测开所以想聊一聊测开的看法但不代表这是正确的看法,仅供参考还没来阿里之前,我对测开的看法一直以为专职做自动化测试和性能测试是测试这条路的最终归宿测试开发,只是大厂才可能存在的角色测试平台,少部分公司才会用到的东西,肯定不会成为主流的啦况且测试平台要会前端还得会后端,你都这么全栈为什么不做开发呢做 UI 自动化、接口自动化直接写 python 脚本不就好了嘛,做性能测试用 Jmeter 就好了嘛多数人眼中的测试开发开发一个测试平台,就要包揽前后端至...
            0 0 799
            分享
          •   很多新手,不知道软件测试学习该如何开始,软件测试需要掌握哪些知识。下面是根据本人的理解,粗略整理的一个学习大纲,基本上涵盖了软件测试工程师需要掌握的全部技能,希望对刚入行或者准备学习测试的朋友提供一点指引。  1.测试基础理论  不管有没有计算机基础,测试理论的学习都是首要的,不管你的目标是功能测试、性能测试、测试开发,这些基础知识必须优先掌握。  主要包括常见的软件开发流程及模型,尤其是解敏捷开发相关知识。然后,要学习软件测试的定义、分类、测试的流程、测试用例编写方法以及缺陷(bug)的管理及生命周期。其次,要了解web端和app的常见测试点和测试方法。最后,要会编写常见的测试文档,如b...
            9 9 880
            分享
          • 一、元素等待大多数的 web 应用程序都是使用 ajax 和 javascript 开发的,加载时都有加载顺序,可能打开了网页但是元素并未加载出来,这个时候就定位不到元素了,就会报错。所以,我们需要等到元素被加载出来后再去进行定位等操作。1.1 强制等待如果元素已经出现还是要继续等待,直到超时,会浪费很多的时间,不建议使用。import time time.sleep(5)  # 固定休眠5秒1.2 隐式等待创建driver时,为浏览器对象创建一个等待时间,整个 driver 的会话周期内设置一次即可。需要等待整个页面加载完成才会行下一步,可能页面加载未...
            0 0 1060
            分享
          • 在软件测试工作中,为充分利用现有的时间和资源条件,提高测试效率和测试充分性,当前有多种方法辅助测试人员完成测试工作,推进项目进度,其中最普遍的莫过于白盒测试和黑盒测试,白盒测试和黑盒测试的概念和常用方法在已有理论研究中都有充分的论述,但是具体应用场景则需要测试人员根据测试任务特征和时间安排合理选用。作为一名非计算机科班出身的技术小白,两年有余的业务验收测试和系统功能测试收效明显,从最开始只能看着需求和业务规则,结合个人感觉盲写案例,到现在已经可以根据项目特征和业务场景,混搭等价类划分、边界值分析和逻辑覆盖、基本路径各种方法写案例做测试。基于个人工作经历和测试经验,以下对白盒测试、黑盒测试和灰盒...
            0 1 3381
            分享
          • 读者提问:开发说这不是 BUG,怎么办?阿常回答:那你觉得是 BUG 吗。首先,测试要有自己的判断,不能开发说啥就是啥。其次,我们来看看 BUG 常见的四种类型:代码错误、界面优化、设计缺陷、需求问题。一、代码错误代码错误,即功能错误(功能没有实现)。如果判断下来是这类问题,测试可以在需求文档中找到描述该功能的地方,用记号笔着重划线标记,再传给开发看,相信开发立马就准备修这个 BUG了。二、界面优化界面优化问题,即页面显示问题(比如错别字、排版、布局、字体大小等)。如果判断下来是这类问题,我们可以找 UED 确认是否需要修改(错别字不用说,必须要改),UED 会从用户体验的角度来判断是否需要做...
            0 0 1018
            分享
      • 51testing软件测试圈微信