测试(缺陷管理)

news2024/11/25 11:05:27

目录

1.缺陷管理理论

1.1.定义

1.2缺陷的名称

1.3.产生缺陷的原因

1.4.缺陷管理流程

1.5.缺陷管理生命周期与状态

2.如何提交缺陷

2.1.提交的Bug的目的

2.2.提交Bug的注意事项

2.3.提交Bug报告应遵循的原则

2.4.Bug报告需包含哪些内容


1.缺陷管理理论

1.1.定义

软件未达到产品说明书标明的功能;
软件出现了产品说明书指明不会出现的错误;
软件功能超出了产品说明书指明范围;
软件未达到产品说明书虽未能指出但应达到的目标;
软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好

1.2缺陷的名称

Error      错误
Mistake    错误

Defect     缺陷
Fault      故障
Bug        缺陷

Failure    失效

1.3.产生缺陷的原因

开发过程缺乏有效沟通,或没有进行沟通;
软件复杂度高;
编程中产生的错误;
需求不断变更;
不重视开发文档;
软件编程工具本身存在的问题;

1.4.缺陷管理流程

A.测试人员在发布服务器上拿到最新版本的软件,开始测试(手动或自动化测试),执行测试过程中,发现bug,记录到BMS缺陷管理系统中;
B.测试人员会发送邮件给开发人员,开发人员得到最新bug后,定位bug,寻找原因,若问题简单直接解决,若问题较复杂(比如一个bug可以采取三个修改方案,三个方案各有利弊),开发人员会发送邮件给评审专家,共同商讨采用哪种方案;
C.经讨论确认方案后,开发人员进行修改,修改完毕后把修改后的源代码check in 到源代码服务器上,这个服务器上有软件对代码进行管理,该软件就是配置管理软件;
D.开发人员check in 后,Builder(每日构建技术人员)会从源代码服务器上获取最新的源代码,并且进行编译,编译之后把软件最新版本发布到服务器上;
E.测试人员再把新版本下载下来,并验证该版本是否修复了之前版本中发现的缺陷,这就是一个回归测试的过程。

1.5.缺陷管理生命周期与状态

new 【新建】 测试人员发现缺陷,将缺陷第一次进行递交,状态为新建
open 【打开】测试人员递交缺陷后,由测试组长将该缺陷进行打开;
assign 【分派】测试组长将缺陷分派给对应的开发人员;
test  【测试】 待开发人员将缺陷修复好后,将缺陷状态修改为“测试”状态
verified 【核实/确认】开发人员将缺陷修改后将,测试人员对提状态为“测试”的缺陷进行确认;
deferred 【延迟】指该缺陷不再本次版本中进行修复,延后到下个版本修复;
reopened 【重新打开】开发人员认为已经修复的缺陷,经测试人员测试发现缺陷并未修复,重新打开,提交开发修复;
duplicate 【重复提交】如果同一个缺陷被重复提交或者两个缺陷表达的意思相同,那么缺陷会被设置为“重复提交”
rejected 【不接受】开发人员认为这个不是一个缺陷,他不接受,他会把缺陷状态设置为“不接受”
closed【关闭】缺陷被修复,测试人员会对其进行测试,如果测试人员认为缺陷不存在了,则可将缺陷状态设置关闭。

2.如何提交缺陷

2.1.提交的Bug的目的

Bug(缺陷):英文单词,本意是臭虫、缺陷、损坏等意思。现在人们把将存在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题统称为bug。

提交bug的目的:为了开发人员或其他人员了解程序 的错误。

2.2.提交Bug的注意事项

condense      精简,清晰要简短。

Accurate      准确,这个到底是不是一个Bug

Neutralize     中性语言,用中性的语言描述事实,不带偏见,不用幽默或情绪化的语言。

Precise-精确,这到底是什么问题

ocation-定位,这到底是个什么样的问题

Generalize-归纳,还有没有其他的某些地方存在这样的问题

Re-Create-重现,如何引发和重现这个bug?(环境,步骤,前提条件)

Impact-影响,这个缺陷对客户有何影响?对测试有什么影响?

Debug-调试,怎么做才可以让开发更容易来修改这个bug?

Evidence-证据,如何证明确实存在这个bug

2.3.提交Bug报告应遵循的原则

尽快报告软件缺陷;

操作步骤简单,描述清晰、专业、完整;

明确指明缺陷的类型;

问题单一;

跟踪缺陷的最新状态; 对有争议的缺陷要及时沟通

2.4.Bug报告需包含哪些内容

A、Bug编号(BugID)
B、Bug摘要(Summary)
C、Bug状态(State)
D、Bug操作描述(Description)
E、严重级(Severity)
F、Bug类型(Type 、Keywords)
G、优先级(Priority)
H、附件(Attachment)
I、版本号(Version)
J、所属项目及模块名称(Product、Component )
K、操作系统(OS)
L、浏览器(Browser)
M、报告人(Reporter)
N、报告日期(Date)
 

Bug报告书规范模板

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/84236.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

rust编程-rust所有权理解(chapter 4.3 Slice切片类型)

目录 3. 切片(Slice)类型 3.1 String slice(字符串切片) 3.2 其它切片 3. 切片(Slice)类型 切片可以用来获取一个集合中连续的元素序列,且切片是一种引用类型,因此不具有所有权。 如下是一个小的编程示…

day17_面向对象的三大特征之一(多态)

概述 多态是继封装、继承之后,面向对象的第三大特性。 生活中,比如求面积的功能,圆、矩形、三角形实现起来是不一样的。跑的动作,小猫、小狗和大象,跑起来是不一样的。再比如飞的动作,昆虫、鸟类和飞机&a…

【数字IC设计】Design Compiler入门

本博客参考自文章链接 本文以全加器为例,演示DC综合的流程。设计文件如下: module full_adder( input clk, input rstn, input [31:0] a_in, input [31:0] b_in, input c_in, output reg [31:0] sum_out, output reg c_out ); wire c_out_w; wire [31:0…

[vue学习笔记]数组+事件+v-model的使用

1.关于数组的使用以及常见的函数 (1)在队尾操作函数:push():追加,pop():删除 arr.push(9,8,7,6); 这种批量追加的方式也是被允许的 (2&#xf…

Gem5模拟器,关于Adding parameters to SimObjects and more events的一些问题记录(六)

目录 (1)为什么Gem是Python和C混合使用编程? (2)关于析构函数 创建类的时候一般都需要写上析构函数吗? (3)关于HelloObject和GoodbyeObject的先后后创建关系 (1&…

C# 类 字段 方法

一 现实中的实物抽象为类 类(class)最基本的要素是 ① 字段(field):变量; ② 方法(method):函数; class Person {public string name;public int age;public void SayHello(){Console.WriteLine("Hello!My name is"name);}public string Ge…

(Python)第2章-12 输出三角形面积和周长 (15 分)

Python解决输入三条边输出面积与周长1.问题2.解决思路代码在孤单的日子里,你单枪匹马奋斗的样子酷毙了。江客:时荒![在这里插入图片描述](https://img-blog.csdnimg.cn/85fc4495dcfc4578a8612a432d8045cd.png#pic_center)1.问题 本题要求编写程序&#…

Arduino Uno零基础入门学习笔记——变量与函数

文章目录一、创建变量二、函数三、delay的例子总结一、创建变量 int currentTemperature;整数型变量 变量名字 分号 使用驼峰命名法对进行命名 有些程序员喜欢全部小写,有些程序员喜欢用下划线,所以如果要写一个my name的变量,他们常用的写…

vue3中的propemit

状态是什么: 页面中要显示的东西,放在一个变量中,每次更改完值,就会被拦截,同时再重新渲染页面; 状态的对立面就是属性; 可以没有状态,那只能用父组件传过来的属性来自己用&#…

Saga 模式

Saga 模式目录概述需求:设计思路实现思路分析1.2.适用场景:3.缺点:4.Saga的实现:参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,ma…

mysql数据恢复,mysql数据备份,详细聊聊mysql数据备份与恢复

文章目录写在前面数据备份与恢复1、全量备份模拟全量备份与恢复全量备份的缺点2、增量备份模拟增量备份与恢复增量备份注意事项总结写在前面 作为互联网开发人员来说,数据安全性一直排在第一位的重中之重。 mysql作为关系型数据库的一个巨头,其备份与恢…

从GNU/Linux看国产操作系统的安全可控性

作者:IT圈黎俊杰 在信创的春风下,做为IT基础软件三驾马车之一的操作系统,自然是国产化替代的重点,再加上一直以来被大家当成”免费RedHat Enterprise Linux“的CentOS因被redhat收购,并宣布于2021年12月31日起在停止维…

SpringBoot+SpringCloud微服务搭建全过程(一)

一:什么是SpringBoot 1. SpringBoot不是一个全新的框架,而是对Spring框架的一个封装。所以,以前Spring可以做的事情,现在用SpringBoot都可以做。 2. SpringBoot整合了很多优秀的框架,用来简化Spring应用搭建和开发过程&#xff…

java项目_第171期ssm房屋租赁系统_计算机毕业设计

java项目_第171期ssm房屋租赁系统_计算机毕业设计 【源码请到下载专栏下载】 今天分享的项目是《ssm房屋租赁系统》 该项目分为2个角色,管理员和用户。 用户可以浏览前台,查看房屋租赁情况,并且进行租赁。 还可以登录到后台,进行租赁订单管理…

【20221212】【每日一题】一和零

给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的长度,该子集中 最多 有 m 个 0 和 n 个 1 。 如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 子集 。 思路:背包有两个维度:m、n。不…

【工作项目总结】交易系统

写工作项目总结的目的就是,明明自己工作中负责了一些模块也写了很多代码,解决了不少坑。但是面试的时候,总是记不起来在自己过往做的项目中,该项目的具体亮点难点分别是什么,有哪些令人印象深刻的问题,以及是如何解决它的。那么记录问题与解决思维就是我创作这个工作复盘…

C#连接蓝牙设备

看过各种博主的文章,发现基本上都是属于误人子弟的狗屁文章,踩过各种坑最终实现了此功能。 1.思路 电脑蓝牙和蓝牙模块配对连接 和我们平时正常连接蓝牙设备一样,需要先搜索附近的蓝牙设备,然后根据设备名来选择要连接的蓝牙模块…

VSCODE 系列(六)使用Plantuml插件制作UML类图

文章目录前言下载和安装支持文件格式支持绘制类型导出语法申报要素UML类图关系参考例子参考前言 软件设计中,有好几种图需要画,比如流程图、类图、组件图等,我知道大部分人画流程图一般都会用微软的visio绘制,visio画图有个不好的…

[附源码]计算机毕业设计高校实验室仪器设备管理系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: Springboot mybatis MavenVue等等组成,B/S模式…

Java学习笔记 --- 反射

一、反射机制 Java Reflection 1、反射机制允许程序在执行期间借助于 ReflectionAPI取得任何类的内部信息(比如成员变量,构造器,成员方法等),并能操作对象的属性及方法。反射在设计模式和框架底层都会用到 2、加载完…