Bug定义及生命周期(七)

BUG

定义

软件的bug,软件程序的漏洞或缺陷 – 常见,首先发现

软件可改进的细节,或与需求文档存在差异的功能实现等

测试工程师:发现bug,定位bug,提交bug,回归bug

类型

确定bug类型,对开发解决bug意义不大,确定bug类型是为了方便后期测试报告,bug分析进行的

常见类型:

  1. 代码错误 – 占比最大
  2. 界面优化 – UI
  3. 设计缺陷 – 需求不合理,改进,建议性bug

优先级

bug数量和bug等级来考察绩效
但是,很多情况下,提交bug大致等级差不多即可,会影响研发绩效

判断bug等级,常见判断条件

  1. 致命错误 — P1
    • 常规操作引起的系统崩溃,死机,死循环,闪退 – 阻塞,冒烟测试都不通过
    • 造成数据泄露安全性问题,比如恶意攻击造成的账户私密信息泄露 – 安全漏洞
    • 涉及巨额的金钱计算金钱损失 – 巨额损失,银行,信贷,P2P,电商 – 看用户基数
    • 阻断性测试,所有测试工作进行不下去
    • 权限问题 – 用户越权,vip内容泄露
  2. 严重错误 — P2
    • 重要功能是否实现
    • 次要功能错误的波及面广,影响到其他重要功能正常实现
    • 非常规操作导致的程序崩溃,死机,死循环,闪退 — 网络异常情况导致,连续点击4-5次才能出现的问题
    • 外观界面难以接受的缺陷 — UI
    • 密码明文显示 — 抓包工具来看
    • 偶现的致命性bug
  3. 一般错误 — P3
    不影响产品的运行,不会成为故障起因,但对产品外观和下道工序影响较大的缺陷
    • 次要功能是否正常实现
    • 操作界面错误,包括数据窗口内列名定义,含义不一致
    • 查询错误,数据错误显示
    • 简单的输入限制未放在前端进行控制
    • 删除操作未给出提示
    • 偶现的严重性bug
  4. 细微错误 — P4
    程序在一些显示上不美观,不符合用户习惯,或者用一些文字的错误
    • 界面不规范
    • 辅助说明描述不清楚
    • 提示窗口文字未采用行业术语
    • 界面存在文字错误
  5. 改进建议 — P5
    • 提高产品质量的建议,包括新需求和对需求的改进 — 同类产品,竞品产品
      在这里插入图片描述

bug生命周期(重点)

bug的生命周期,就是一个bug被发现到bug被关闭的过程

一般缺陷状态:发现 => 新建(提BUG) => 指派 => 已解决 => 待验 => 关闭

bug跟踪流程
在这里插入图片描述

  1. 发现bug,不要着急提交,记录(截图),防止偶发性bug,
  2. 确认BUG(排除外界因素),确定步骤是否必现?
  3. 提交BUG,必现/偶现 – 提交到哪里?提交给谁?怎么提交?
  4. 指派BUG,根据开发计划(人员分配)-- 提交开发本人,提交开发负责人 – 分配
    注意:一定要跟进BUG,P1级别BUG半天就得催
  5. 研发确认BUG ,从测试提交的bug的描述中判断,是不是BUG?
  6. 重复BUG,其他人提交过BUG,重复开
    注意:一定要求开发提供重复BUGID,是,关闭,说明原因;不是,重新激活,指派开发
  7. .不是BUG,无效BUG,先确认是否为外部因素导致(误操作,网络,环境),然后找产品,确定产品需求
  8. 无法重现:
    • 偶现BUG,要记录,在标题上标记偶现,后续版本持续的复现,尝试找到稳定的复现的步骤,提供截图,日志linux
    • 测试提出一个BUG,开发在开发环境无法复现,让开发来测试环境来看是否复现,修改测试环境BUG,开发修改的代码同步到开发环境
    • 测试环境无法复现,持续跟踪大概5个版本,一直持续关注,临近发布版本,依旧无法复现,关闭,备注,遗留BUG
  9. 不予解决,测试开发需求理解不一致,找产品确认
  10. 延期BUG:本次发布项目不修复,留到下一个版本解决
    • 建议性BUG,新功能,动作大
    • 修复风险大,可能会引入新的bug,会导致项目延期发布
    • 衡量bug对用户的影响,不修复,对用户影响不大,下次发布之前修改;不修复,对用户影响面很广,重激活,说明,产品
  11. 回归验证BUG,bug步骤重新测试一遍,这个bug所涉及的功能点,均要测试 – 开发改动的代码所涉及的点均要回归验证

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【中国数据库前世今生】数据存储管理的起源与现代数据库发展启蒙

记录开启本篇的目的: 作为1名练习时长2年半的DBA,工作大部分时间都在和数据库打交道,包括Oracle,Mysql,Postgresql,Opengauss等国内外数据库。但是对数据库的发展史却知之甚少。 正好腾讯云开发者社区正在热播:【纪录片】中国数据库前世今生,借此机会了解…

【云备份】学习Json

文章目录 1.Json数据类型基础数据类型复合数据类型JSON数据类型的应用 2.学习jsoncpp库利用json实现序列化利用json实现反序列化 1.Json数据类型 json 是一种数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据。json数据交换格式是将多种数据对象组织…

MATLAB中lsqr函数用法

目录 语法 说明 示例 线性系统的迭代解 使用指定了预条件子的 lsqr 提供初始估计值 使用函数句柄代替数值矩阵 lsqr函数的功能是求解线性系统 - 最小二乘法。 语法 x lsqr(A,b) x lsqr(A,b,tol) x lsqr(A,b,tol,maxit) x lsqr(A,b,tol,maxit,M) x lsqr(A,b,tol,m…

【Qt】QWidget的windowIcon属性

QWidget的windowIcon属性 windowIcon表示窗口的图标 当我们使用默认的windowIcon的时候,其窗口的图标如下: API说明 windowIcon() 获取到控件的窗⼝图标. 返回 QIcon 对象. setWindowIcon(const QIcon& icon) 设置控件的窗⼝图标. 在Qt中&…

【STM32 FreeRTOS】任务

使用 RTOS 的实时应用程序可以被构建为一组独立的任务。每个任务在自己的上下文中执行,不依赖于系统内的其他任务或 RTOS 调度器本身。在任何时间点,应用程序中只能执行一个任务,实时 RTOS 调度器负责决定所要执行的任务。因此, R…

react中使用nextjs框架,前端调后端接口跨域解决方式

前端在项目目录中next.config.js文件中添加以下代码 async rewrites() {return [{source: "/api/:path*",destination: ${process.env.NEXT_PUBLIC_API_DOMAIN}/api/:path*,basePath: false}]} 截图: source: "/api/:path*": 定义了一个 URL …

C++ 面试题常用总结 详解(满足c++ 岗位必备,不定时更新)

📚 本文主要总结了一些常见的C面试题,主要涉及到语法基础、STL标准库、内存相关、类相关和其他辅助技能,掌握这些内容,基本上就满足C的岗位技能(红色标记为重点内容),欢迎大家前来学习指正&…

【MySQL 03】库的操作 (带思维导图)

文章目录 🌈 一、创建数据库🌈 二、查看数据库🌈 三、使用数据库🌈 四、修改数据库🌈 五、删除数据库🌈 六、备份数据库🌈 七、恢复数据库🌈 八、字符集和校验规则⭐ 1. 查看系统默认…

HAProxy 效能飞跃先锋队

目录 一 负载均衡 1.1 四层负载 1.2 七层负载 1.3 四层负载和七层负载的区别 二 Haproxy简介 2.1 概念和内容 2.2 haproxy的基本配置信息 2.2.1 global 配置 2.2.2 proxies 配置 三 Haproxy的算法 3.1 静态算法 3.2 动态算法 3.3 其他算法 四 高级功能及配置 4.…

Mysql原理与调优-索引原理及使用

目录 1.绪论 2.索引原理 2.1 索引采用的数据结构 2.1.1 B树 1.什么是B树 2.B树的优缺点 2.1.2 B树 1.什么是B树 3.B树的优缺点 2.2.3 hash 2.2.4 总结 2.2 InnoDB数据存储结构(聚簇索引) 2.2.1 自底向上探寻索引 3.2.2 查询一条数据的完整流程 3.2.3 聚簇索引 2…

奥运科技观察:AI PC,如何成为当代体育精神的数字捍卫者?

作者 | 曾响铃 文 | 响铃说 数字孪生帮助体育馆建设、超高清直播……这届奥运会科技感拉满,几乎所有前沿技术都能在奥运的赛事运营中发现。 而AI大时代,AI如何帮助帮助奥运会顺利举办、如何帮助运动员拥有更好的表现,同样值得业界关注&…

haproxy最强攻略

1、负载均衡 负载均衡(Load Balance,简称 LB)是高并发、高可用系统必不可少的关键组件,目标是 尽力将网络流量平均分发到多个服务器上,以提高系统整体的响应速度和可用性。 负载均衡的主要作用如下: 高并发…

# Spring Cloud Alibaba Nacos_配置中心与服务发现(四)

Spring Cloud Alibaba Nacos_配置中心与服务发现(四) 一、Nacos 配置管理-集群部署 1、 把 nacos 应用程序包,复制3份,分别命名为 nacos1, nacos2, nacos3 分别在 conf 目录下,修改 application.properties 配置文件…

数据结构——循环队列

目录 循环队列的基本知识 循环队列的实现 定义 各个接口的实现 循环队列的基本知识 循环队列的定义 循环队列(Circular Queue)是一种使用固定大小的数组实现的队列,它将数组的首尾相连,形成环形,以充分利用空间并实…

Spring Boot的配置文件

目录 一、配置文件 1.properties为后缀的配置文件 1.1基本语法 1.2读取配置文件 1.3properties的优缺点 1.4加中文注释出现乱码 2.yml格式的配置文件 2.1基础语法 2.2读取配置文件 2.2.1对象存储到配置文件中 2.3yml的优缺点 2.4用不用加单引号或者双引号呢&#xf…

【C语言篇】编译和链接以及预处理介绍(上篇)

文章目录 前言翻译环境和运行环境翻译环境编译预处理(预编译)编译词法分析语法分析语义分析 汇编 链接 运行环境预处理(预编译)详解预定义符号#define定义常量#define定义宏带有副作用的宏参数宏替换的规则宏和函数的对比 写在最后…

opencv基础的图像操作

1.读取图像,显示图像,保存图像 #图像读取、显示与保存 import numpy as np import cv2 imgcv2.imread(./src/1.jpg) #读取 cv2.imshow("img",img) #显示 cv2.imwrite("./src/2.jpg",img) #保存 cv2.waitKey(0) #让程序进入主循环(让…

RAG系列之四:深入浅出 Embedding

在 RAG 系列之三:文本切分中介绍了如何将文本切分成更小的语义单元,接下来便是将拆分的文本块进行向量化。 什么是文本向量化? 文本向量化就是将文本数据转成数字数据,例如:将文本 It was the best of times, it was…

Android全面解析之context机制(二): 从源码角度分析context创建流程(上)

前言 这篇文章从源码角度分析context创建流程。 在上一篇Android全面解析之Context机制(一) :初识context一文中讲解了context的相关实现类。经过前面的讨论,读者对于context在心中有了一定的理解。但始终觉得少点什么:activity是什么时候被创建的&…

Python数据可视化案例——地图

目录 简单案例: 进阶案例: 继上文数据可视化案例,今天学习用pyecharts练习数据可视化案例2-构建地图。 简单案例: 首先构建一个简单的地图。 代码: import json from pyecharts.charts import MapmapMap() data[…