bug生命周期中的各种状态

  所有软件开发过程的目的都是为客户(软件产品的终端用户)提供一个解决问题的方案(软件产品),以帮助客户更加高效地工作生活(从时间和费用上来讲)。一个成功的软件开发过程就是为客户提供了所有他所要求的需求。

  一个没有软件测试的软件开发过程是不完善的。软件测试是为了寻找并修复软件中的bug/错误,它可以帮助提高软件的质量,以保证用户可以正常使用软件产品。

  什么是一个bug/错误?

  软件中的bug或者错误就是所有会影响软件整体或者部分功能的正常运行的软件行为。

  怎样找到bug/错误?

  我们主要依靠运行测试脚本或用例来找出那些软件产品中的不想看到的行为。

  什么是测试用例?

  测试用例是一类文档,测试用例中包含有用于执行的步骤或行为,而我们需要严格地按照这些步骤来执行以确认软件是否按照我们对它的期望执行。

  发现bug或者错误后该怎么办?

  一般在我们发现bug或者错误后,应该和开发人员交流以修复它。

  从一个bug被发现到这个bug被关闭这一段时间,bug可能会有以下状态:new ,open Postpone,Pending Retest,Retest,Pending Reject,Reject,Deferred,closed.(请注意这里有很多种状态,我们需要根据不同情况来决定怎样或者是否需要跟开发人员沟通)

  下面就对这几种状态进行以下解释:

  New:(新的)

  当某个“bug”被发现的时候(第一次),测试人员需要与项目负责人沟通以确认发现的的确是一个bug,如果被确认是一个bug,就将其记录下来,并将bug的状态设为New

  Assigned(已指派的)

  当一个bug被指认为New之后,将其将给开发人员,开发人员将确认这是否是一个bug,如果是,开发组的负责人就将这个bug指定给某位开发人员处理,并将bug的状态设定为“Assigned”

  Open(打开的)

  一旦开发人员开始处理bug的时候,他(她)就将这个bug的状态设置为“Open”,这表示开发人员正在处理这个“bug”

  Fixed(已修复的)

  当开发人员进行处理(并认为已经解决)之后,他(她)就可以将这个bug的状态设置为“Fixed”并将其提交给开发组的负责人,然后开发组的负责人将这个bug返还给测试组

  Pending Reset(待在测试的)

  当bug被返还到测试组后,我们将bug的状态设置为“Pending Reset”

  Reset(再测试)

  测试组的负责人将bug指定给某位测试人员进行再测试,并将bug的状态设置为“Reset”

  Closed(已关闭的)

  如果测试人员经过再次测试之后确认bug已经被解决之后,就将bug的状态设置为“Closed”

  Reopen(再次打开的)

  如果经过再次测试发现bug(指bug本身而不是包括因修复而引发的新bug)仍然存在的话,测试人员将bug再次传递给开发组,并将bug的状态设置为“Reopen”

  Pending Reject(拒绝中)

  如果测试人员传递到开发组的bug被开发人员认为是正常行为而不是bug时,这种情况下开发人员可以拒绝,并将bug的状态设置为“Pending Reject”

  Rejected(被拒绝的)

  测试组的负责人接到上述bug的时候,如果他(她)发现这是产品说明书中定义的正常行为或者经过与开发人员的讨论之后认为这并不能算作bug的时候,开发组负责人就将这个bug的状态设置为“Rejected”

  Postponed(延期)

  有些时候,对于一些特殊的bug的测试需要搁置一段时间,事实上有很多原因可能导致这种情况的发生,比如无效的测试数据,一些特殊的无效的功能等等,在这种情况下,bug的状态就被设置为“Postponed”

  Deferred(延期的)

  有些情况一些特殊的bug显得不那么重要,同时也是可以消除的,这个时候我们可以将bug的状态设置为“Deferred”

时间: 2024-10-14 20:01:30

bug生命周期中的各种状态的相关文章

activity生命周期中方法解析

对于activity的生命周期我觉得是一个简单而又不简单的问题,很多人可能觉得自己已经很精通了!往往事实却不以为然! 要接着讨论下面的问题,先来简单了解一下activity,来看一段原文的说明,如下: An activity is a single, focused thing that the user can do.  Almost all activities interact with the user, so the Activity class takes care of creat

Jasper:用户指南 / 设备 / 生命周期管理 / SIM 卡状态

ylbtech-Jasper:用户指南 / 设备 / 生命周期管理 / SIM 卡状态 1.返回顶部 1. SIM 卡状态 每个设备都有一个状态,决定了它能否在网络上建立数据连接,并且会影响设备是否计费.下图显示了一个典型的设备生命周期.在遵循某些限制的情况下,您可以将设备从一个状态转换到另一个状态. 设备在每个状态下可用的服务由与该设备的通信计划相关联的通信配置文件所控制.Control Center 将"关闭"通信配置文件应用到非活动的设备,而将"开启"通信配置

软件开发生命周期中测试的使用情况

软件开发的生命周期主要包括以下的阶段: 1.问题定义. 2.可行性研究. 3.需求分析. 4.概要设计. 5.详细设计. 6.编码和单元测试. 7.综合测试. 8.软件维护 以上就是一个软件开发的完整生命周期,能比较明显的看出,到详细设计为止,之前的阶段很少涉及到测试的环节,从编码实现开始,测试就开始贯穿之后的阶段,编码实现中,用的最多的就是单元测试,编码人员或测试人员主要通过一些测试用例来检测编写的代码块是否实现了所需要的功能,但是单元测试中又分为黑盒测试和白盒测试,黑盒测试是不知道内部的详细

C++ Builder2010窗体生命周期中的五种事件

C++ Builder2010窗体的生命周期是指窗体从创建到关闭的过程.在C++ Builder2010窗体的生命周期中,有以下五种事件发生. OnCreate 发生在窗体被创建时.通常在此事件中进行初始化工作. OnShow 发生在窗体显示出来时 OnActivate 发生在窗体被激活时 OnCloseQuery 发生在窗体尝试关闭时.通常在此事件中进行窗体关闭前的一些准备工作 OnClose 发生在窗体关闭时 下面,我们通过C++Builder2010创建VCL Forms Applicat

视图控制器生命周期中各个重要的方法(Swift) (Important Methods during the Lifecycle of a View Controller)

1. init(coder:) 它是视图控制器从故事板创建实例的默认初始化函数.(It is the initializer for UIViewController instances created from a storyboard.) 它在整个生命周期中只被调用1次. 2. init(nibName:bundle:) 它是视图控制器的指定初始化函数. (It is the designated initializer for UIViewController.) 当视图控制器的实例不是通

【Android 细节(二)】业务操作类的生命周期中的开始方法

为了防止内存泄露或者其他更重要的原因,为业务操作类构建生命周期是必不可少的. 即在类里封装onStart(),onPause(),onFinish()方法.比如我要写一个Android中处理数据库的业务类,他的特点是所有的数据操作是以key-value的方式存储. Databaser.java: <span style="font-family:Microsoft YaHei;font-size:18px;">// 构造方法 public PhoneDbAdapter(Co

iOS 应用程序生命周期中那些不可忽视的“存在”

开发过Android应用的程序员都知道Android应用的生命周期更多是其组件的生命周期,例如Activity.Service.那么iOS应用程序的生命周期是怎样的呢?今天我们首先简单来了解一下. iOS应用程序一般都是由自己编写的代码和系统框架(system frameworks)组成,系统框架提供一些基本infrastructure给所有app来运行,而自己编写的代码主要是根据需求来定制app的外观和行为的. iOS的程序入口在main.m文件: #import #import "AppDe

VUE生命周期中的钩子函数及父子组件的执行顺序

先附一张官网上的vue实例的生命周期图,每个Vue实例在被创建的时候都需要经过一系列的初始化过程,例如需要设置数据监听,编译模板,将实例挂载到DOM并在数据变化时更新DOM等.同时在这个过程中也会运行一些叫做生命周期钩子的函数(回调函数),这给了用户在不同阶段添加自己代码的机会. 1.vue的生命周期图 在vue实例的整个生命周期的各个阶段,会提供不同的钩子函数以供我们进行不同的操作.先列出vue官网上对各个钩子函数的详细解析. 生命周期钩子 详细 beforeCreate 在实例初始化之后,数

线程的生命周期和线程的状态转换图

一.线程的生命周期 1.线程的5种状态:新建(New),就绪(Runnable),运行(Running),阻塞(Blocked),死亡(Dead) 2.线程的生命周期图解:(参考传智播客刘意2015Java基础视频讲义) 二.线程的状态转换图 1.线程的5种状态:新建(New),就绪(Runnable),运行(Running),阻塞(Blocked),死亡(Dead) 线程变化的状态转换图例如以下: 1)新建状态(New):新创建了一个线程对象. 2)就绪状态(Runnable):线程对象创建后