【软件测试】软件测试-----什么是Bug?Bug是如何分级的?Bug的生命周期是怎样的?如何描述一个Bug?

博客目录

  • 一.软件测试的生命周期
  • 二.BUG的定义和级别
    • 2.1 bug的概念.
    • 2.2 如何描述一个bug.
    • 2.3bug的级别
      • 2.3.1 bug分级的意义.
      • 2.3.2 bug的四种级别.
  • 三.BUG的生命周期.
  • 四.当与开发人员发生冲突该如何处理(高频面试)
  • 五.总结

一.软件测试的生命周期

  • 软件测试贯穿于软件的整个生命周期,针对这句话我们一起来看一下软件测试是如何贯穿软件的整个生命周期。
  • 软件测试的生命周期是指测试流程(从开始测试到测试全部完成),这个流程是按照一定顺序执行的一系列特定的步骤,去保证产品质量符合需求。在软件测试生命周期流程中,每个活动都按照计划的系统的执行。每个阶段有不同的目标和交付产物.

在这里插入图片描述

  • 各个阶段的具体工作内容以及交付产物:
需求分析测试计划测试设计与开发测试执行测试评估上线运行维护
用户角度: 软件需求是否合理.技术角度: 技术上是否可行,是否还存在优化空间. 测试角度: 是否存在业务逻辑错误,冗余,冲突等问题制定测试计划: 什么时候开始测试, 什么时候结束测试,测试要持续多长时间测试设计: 根据需求文档,技术文档等相关文档编写测试用例. 测试开发: 这个阶段结束之后会产出一个测试文档, 明确接下来的测试过程中要使用到的测试方法,测试工具,测试形式等等测试执行: 充分利用测试设计与开发阶段编写的测试用例, 测试文档对项目尽可能做到全方位的测试评估: 测试是否通过, 测试是否还留有BUG,这个阶段结束之后,会产出一个测试报告测试结束之后,会将项目发布到线上环境,测试人员需要继续跟进进行测试,确保程序在线上环境下能够正常运行测试人员需要在项目运行之后继续跟进,进行后续的维护,有问题及时反馈给负责人

二.BUG的定义和级别

2.1 bug的概念.

  • 定义: 一个计算机bug指的是在计算机程序当中存在一个错误, 缺陷, 疏忽, 或者故障, 这些bug使程序无法正常运行. bug产生于程序的源代码或者程序设计阶段的疏忽或者错误.
  • 准确的来说:
    • 当且仅当规格说明书是存在且正确的, 程序与规格说明说之间不匹配就是错误.
    • 当需求规格说明书没有提到的功能, 判断的标准最终以用户为准: 当程序没有实现用户合理预期的功能要求时,就是软件错误.下图就是一个软件没有实现用户合理功能预期的软件错误
    • 在这里插入图片描述

2.2 如何描述一个bug.

  • 描述bug的基本要素:
    1. 问题出现的版本号.------>比如你在谷歌浏览器的128.0.6613.120(正式版本) (64 位)发现问题. 就需要要把出现问题的版本号告诉开发人员.
    2. 问题出现的环境.------>问题出现的环境可能是Linux,也可能是Windows.
    3. 问题出现的步骤.------>如何操作才能出现这个bug, 需要把这个过程告诉开发人员.
    4. 预期出现的结果.------>开发人员按照上述步骤,预期会出现什么结果.
    5. 实际出现的结果.------>开发人员按照上述步骤,实际会出现什么结果. 实际结果和预期结果往往是不同的.
  • 举个例子:
    • 问题出现的版本—>128.0.6613.120(正式版本) (64 位)

    • 问题出现的环境—>Windows家庭版

    • 问题出现的步骤:

      1. 打开谷歌浏览器, 输入网址 https://www.baidu.com/
      2. 等待网页首页渲染完成.
    • 预期结果: 在这里插入图片描述

    • 实际结果:在这里插入图片描述

2.3bug的级别

2.3.1 bug分级的意义.

  1. 合理分配资源:根据Bug的严重性分配开发资源,确保重要问题得到优先解决。
  2. 制定修复策略:不同等级的Bug有不同的修复时间要求,有助于项目管理和进度控制。
  3. 提高沟通效率:明确的Bug分级使得开发与测试团队之间的沟通更加顺畅,减少误解。
  4. 提升用户体验:及时处理影响用户体验的Bug,确保产品的稳定和可靠。
  5. 促进持续改进:鼓励提出改进建议,持续优化产品功能和性能。

2.3.2 bug的四种级别.

  • Blocker(崩溃):此级别的Bug会影响整个产品,例如系统崩溃、数据丢失等。具体例子包括严重的内存泄漏、用户数据丢失、系统崩溃、模块无法启动以及导致无法测试的错误如服务器500错误。这些问题需要立即解决,否则整个产品无法正常工作。
  • Critical(严重):此级别的Bug会影响主要功能,但不会导致系统崩溃。具体问题包括功能未实现、功能错误、数据通讯错误、轻微的数值计算错误以及安全性问题。这类问题也需要尽快解决,以确保产品功能正常。
  • Major(一般):此级别的Bug会影响某些功能或用户体验,但不会对系统整体造成严重影响。具体包括操作界面错误、边界条件下错误、提示信息错误、性能问题以及兼容性问题。这些问题可以稍后解决,但需要在下一个版本发布前修复。
  • Minor(轻微):此级别的Bug主要是界面、性能缺陷或建议性问题。具体如界面格式不规范、辅助说明描述不清楚、个别错别字及文字排列不整齐。这些问题通常是非关键性的,可以在后续版本中逐步改进。
  • Suggestion(建议):此级别的Bug涉及对产品的优化和改进建议,不会影响现有功能。例如产品设计方面的意见和建议、界面优化以及增强用户体验的建议。这些问题可以根据项目进度和资源情况灵活处理。

三.BUG的生命周期.

  • New : 新发现的bug, 未经评审决定是否指派给开发人员进行修改。
  • Open : 确认是Bug,并且认为需要及进行修改,指派给相应的开发人员。
  • Fixed : 开发人员进行修改后标识成修改状态,有待测试人员的回归测试验证。
  • Rejected:如果认为不是Bug,则拒绝修改。
  • Delay : 如果认为暂时不需要修改或暂时不能修改,则延后修改。
  • Closed:修改状态的Bug经测试人员的回归测斌验证通过,则关闭Bug。
  • Reopen:如果经验证Bug仍然存在,则需要重新打开Bug,开发人员重新修改。
    无效的bug:open->closed open-rejected-closed

在这里插入图片描述

四.当与开发人员发生冲突该如何处理(高频面试)

  1. 先检查自己, 是否是bug描述不清楚.
    • 反省自己: 是不是在测试的时候出现了操作失误, Bug描述是不是不够清楚,开发人员没有get到bug点.
  2. 站在用户的角度考虑,并抛出问题
    • 功能正常只是测试的一部分, 还需要考虑用户的使用感受—>如果你是用户,这样设计你能接受吗?
  3. BUG的定级需要有理有据
    • bug定级描述文档拿出来, 然后将bug的表现和bug的定级描述文档进行匹配,说服程序员.
  4. 提高自身的业务技术水平, 做到不仅要能够提出问题, 也要能够提供解决bug的参考意见
    • 良好态度,相互协助才能开发出一款好的产品.
  • 如果上述的方法还是说服不了开发人员,此时就需要进行bug评审:
    • Bug评审主要有三个代表: 测试代表(通常是你和你的领导), 开发代表(通常是开发人员和他的领导), 产品代表
    • Bug评审主要解决的问题:
      1. 首先要决定如何处理这个bug
      2. 分析缺陷产生的原因,找出预防的策略.

五.总结

  • Bug对用户而言是出现与用户预期结果不同的现象. 对开发测试人员来说就是测试出现的结果和软件需求文档预期的结果不同.
  • 描述一个bug就是给开发人员描述你咋什么样的环境下出现了bug, 描述就是要让开发人员能够复现bug.
  • bug的分级,以及bug的生命周期,理解那张流程图.

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

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

相关文章

出现 TypeError: Cannot read properties of undefined (reading ‘getUserMedia‘) 解决方法

目录 1. 问题所示2. 原理分析3. 解决方法1. 问题所示 调用摄像头的时候出现如下所示: Uncauht (in promise) TypeError: Cannot read properties of undefined (reading getUserMedia)截图如下: 2. 原理分析 TypeError: Cannot read properties of undefined (reading ‘…

NSS题目练习

[SWPUCTF 2022 新生赛]js_sign 打开后先随便填入,点击check,发现出现弹窗,并且尝试抓包抓不到,说明是js前端 查看源码找到js文件 补充: ‌‌ btoa函数是‌JavaScript中的一个全局函数,用于将二进制字符串…

【分享】Excel表格设置“打开密码”的两种方法

在工作中,Excel文件通常包含敏感数据,出于安全性考虑,给文件设置打开密码是非常有效的方式。接下来,小编给大家介绍两种方法,帮助你轻松为Excel文件设置密码。 方法一:在Excel表里设置“打开密码” 这是Ex…

基于yolov8的水面垃圾水面漂浮物检测系统python源码+onnx模型+评估指标曲线+精美GUI界面

【算法介绍】 基于YOLOv8的水面垃圾与漂浮物检测系统是一种高效、智能的监测解决方案。该系统利用YOLOv8这一前沿的深度学习模型,结合智能视频分析技术,对河道、湖泊等水面的垃圾漂浮物进行实时监测与识别。 YOLOv8作为YOLO系列的最新迭代,…

828华为云征文|华为云Flexus云服务器X实例部署Cockpit服务

828华为云征文|华为云Flexus云服务器X实例部署Cockpit笔记工具 前言一、Flexus云服务器X实例介绍1.1 Flexus云服务器X实例简介1.2 Flexus云服务器X实例特点1.3 Flexus云服务器X实例使用场景 二、Cockpit介绍2.1 Cockpit简介2.2 Cockpit特点 三、本次实践介绍3.1 本次…

录屏软件电脑,精选5款录屏神器推荐

嘿,朋友们!想象一下,你正在与好友分享你最新的游戏成就,或是与同事展示你的最新项目进展,但却发现文字描述无法完美呈现你的精彩瞬间。别担心,在这个数字化的时代,我们有着无数种方式记录和分享…

计算机网络(一) —— 网络基础入门

目录 一,关于网络 二,协议 2.1 协议是什么,有什么用? 2.2 协议标准谁定的? 2.3 协议分层 2.4 OSI 七层模型 2.5 TCP/IP 四层模型 三,网络传输基本流程 3.1 局域网中两台主机通信* 3.2 报文的封装与…

Hadoop运行jps没有datanode节点【已解决】

1 原因: 格式化NameNode后,如果DataNode的clusterID与新的NameNode的clusterID不匹配,DataNode将无法加入集群,导致HDFS无法正常提供服务。 2 解决方式: 将新的NameNode的clusterID与DataNode的clusterID保持一致 &…

TCP/IP网络编程:Linux实现的web服务器

请求消息(Request Message) 的结构 这是客户端向服务端发送的请求消息的结构,Web服务器需要解析并响应客户端请求,从图中看出,请求信息包含请求行,消息头,消息体等三个部分,这里我们…

计算机网络 第1章 概述

文章目录 计算机网络概念计算机网络的组成计算机网络的功能三种数据交换技术电路交换(Circuit Switching)报文交换(message)分组交换 三种交换方式性能对比计算机网络的分类计算机网络的性能指标性能指标1:速率性能指标…

重磅!微信放开公众号注册限制!只要手机号,不用实名!

重磅!微信放开公众号注册限制!只要手机号,不用实名! 随着移动互联网的发展,微信公众号已经成为了许多个人与企业传递信息、分享内容的首选平台。就在近日,微信官方再次放出大招:公众号注册无需…

Seataf分布式事务的使用

一、事务的四大特征(面试题) 原子性:一个事务是不可分割的,要不都做,要不都不做一致性:事务必须是使数据库从一个一致性变成另一个一致性状态隔离性:一个事务的执行不被其他事务干扰&#xff0…

开放式耳机对耳朵伤害大吗?开放式耳机值不值得购买?

开放式耳机对耳朵的伤害相对较小。这是因为开放式耳机通常不需要将耳塞插入耳道,因此不会对耳道造成物理压力,也不会因为耳塞堵塞耳道而增加耳内压力,减少了使用耳机时可能对耳膜和耳道造成的损伤风险。同时,由于开放式耳机不会完…

前端请求的路径baseURL怎么来的 ?nodejs解决cors问题的一种方法

背景:后端使用node.js搭建,用的是express 前端请求的路径baseURL怎么来的 ? 前后端都在同一台电脑上运行,后端的域名就是localhost,如果使用的是http协议,后端监听的端口号为3000,那么前端请求…

欧科云链OKLink受邀参与WebX ,旗下EaaS助力项目方“弯道超车”

8 月 27 日,作为亚洲顶级区块链行业盛会 WebX 的 side event 之一的 OKJ Night 在东京盛大拉开帷幕,会上正式宣布 OKCoin Japan 升级为 OKJ,进一步以合规的形式推动区块链产业在日蓬勃发展。日本首相为本次活动发来贺电。 OKLink 非常荣幸作为…

Java学习中如何分辨 = 和 == 及其使用方法

在学习Java编程语言时, 和 是两个非常基础的运算符,虽然它们看起来相似,但在语义和应用场景上却有明显的区别。理解并正确使用这两个符号对于编写正确且高效的Java代码至关重要。 1. 运算符:赋值运算符 在Java中是赋值运算符&a…

网恋照妖镜源码搭建教程

文章目录 前言创建网站1.打开网站设置 配置ssl2.要打开强制HTTPS,用宝塔免费的ssl证书即可,也可以使用其他证书,必须是与域名匹配的3.上传文件至根目录进行解压4.解压后,修改文件 sc.php 里面的内容5.其余探索 前言 前俩年很火的…

编写Dockerfile第二版

目标 更快的构建速度 更小的Docker镜像大小 更少的Docker镜像层 充分利用镜像缓存 增加Dockerfile可读性 让Docker容器使用起来更简单 总结 编写.dockerignore文件 容器只运行单个应用 将多个RUN指令合并为一个 基础镜像的标签不要用latest 每个RUN指令后删除多余文…

JAVA毕业设计167—基于Java+Springboot+vue3+小程序的物业管理系统小程序(源代码+数据库+万字论文+文献综述)

毕设所有选题: https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootvue3小程序的物业管理系统小程序(源代码数据库万字论文文献综述)167 一、系统介绍 本项目前后端分离带小程序(可以改为ssm版本),分为用户、管理员两…

8千多古诗词唐诗宋词鉴赏ACCESS\EXCEL数据

虽然已经有很多诗词类的数据库,最近又再次找了一下古诗词类的数据,又发现了一些,可是真的是各有各的优点,各有各的特色,之后不再重找诗词类的数据了。 今天这个诗词鉴赏数据也不错,有分类TAG,也…