软件测试——BUG概念
目录
一、软件测试生命周期
二、BUG
2.1BUG概念
2.2BUG要素
2.3BUG级别
2.4 BUG的生命周期
2.5测试人员与开发人员因为BUG发生争执
2.6BUG评审
一、软件测试生命周期
软件测试贯穿于软件的整个生命周期
软件测试的生命周期指测试流程,每个阶段有不同的目标和交付产物

| 需求分析 | 从用户角度考虑软件需求是否合理 从技术角度考虑技术上是否可行,是否有优化空间 从测试角度考虑是否存在业务逻辑错误、冗余、冲突问题 |
| 测试计划 | 测试开始时间和结束时间 |
| 测试设计与开发 | 参考需求文档和技术文档编写测试用例 写测试文档,标注使用到的测试方法和测试工具、测试形式 |
| 测试执行 | 充分利用测试用例和测试工具对项目尽可能做到全面覆盖 |
| 测试评估 | 测试是否通过 测试是否有遗留BUG 产出一个测试报告 |
| 上线 | 测试人员跟踪上线,测试上线后是否能正常运行 |
| 运行维护 | 在试运行时,收集问题并反馈给相关负责人 |
二、BUG
2.1BUG概念
程序存在的错误、缺陷、疏忽、故障属于BUG,这些BUG使程序无法正确运行
BUG产生于程序的源代码或者程序设计阶段的疏忽或者错误
程序与规格说明之间的不匹配才是错误(规格说明是存在并且正确的)
当规格说明没有提到的功能,判断标准以最终用户为准
当程序没有实现最终用户合理预期功能时,就是软件错误。
2.2BUG要素
描述BUG的基本要素:
问题出现的版本、问题出现的环境、问题出现的步骤、预期结果、实际结果
例如:101智慧课堂-您身边的智慧课堂-打造智慧教育生态圈在这个官网下,

在微软浏览器打开时会出现登录注册功能会遮挡二维码,而在Google浏览器下不会出现这种情况。
那么我们在描述BUG时:
问题出现的版本:微软浏览器版本135.0.3179.73(正式版本)(64位)
问题出现的环境:Windows家庭版
问题出现步骤:
1、打开微软浏览器
2、输入网址101智慧课堂-您身边的智慧课堂-打造智慧教育生态圈
3、等待首页加载完成
预期结果:二维码不会被登录注册模块遮挡,可以正常扫描
实际结果:二维码被登录注册模块遮挡,不能正常扫描
2.3BUG级别
BUG级别,能够看出问题的严重程度
开发人员通常需要按照BUG级别来分配优先级来处理BUG
BUG级别也可看出来开发人员的开发质量
BUG级别一般分为:崩溃、严重、一般、次要
| 崩溃 | 阻碍开发或者测试人员工作的问题 系统崩溃、死机、死循环、数据库丢失、数据库连接错误、主要功能丧失、功能不能使用 例如:代码错误、死循环、数据库发生死锁 出现该问题时,中止当前测试 |
| 严重 | 系统主要功能部分丧失、数据库保存调用错误、用户数据丢失,但不影响其他功能测试 功能与需求不符、模块无法启动、自动退出、关联程序间调用冲突、安全问题、稳定性 例如:软件中数据保存后数据库中显示错误、用户所要求的功能缺失、程序接口错误、数值计算统计错误 出现该问题时,可以继续测试 |
| 一般 | 功能没有完全实现但不影响正常使用、功能缺陷但不影响系统的稳定性 例如:操作时间长、查询时间长、格式错误、边界条件错误、删除没有确认框、数据库表中字段过多。 |
| 次要 | 界面、性能缺陷不影响操作功能的执行,可以优化性能的方案 例如:错别字、界面格式不规范、页面显示重叠、描述不清楚、提示语丢失、我文字排列不整齐、光标位置不正确。 |
2.4 BUG的生命周期
测试人员发现BUG后,需要在对应的BUG管理平台创建BUG,创建后需要开发人员修复,测试人员持续跟踪和测试

创建BUG:未经评审决定是否给开发人员修改
查看BUG:确认是BUG,需要修改,给开发人员修改
修改BUG:开发人员修改后,将BUG标记为已修改状态
拒接修改BUG:开发人员认为不是BUG,拒绝修改,(BUG评审)
重新打开BUG:修改后验证不通过
关闭BUG:验证通过
2.5测试人员与开发人员因为BUG发生争执
检查自身BUG是否描述不清楚
站在用户角度抛出问题
BUG定级时需要站在用户角度定位BUG级别
提升自身业务能力,好的测试不仅能发现问题更能给出问题的解决方案
2.6BUG评审
BUG评审解决问题
1、决定如何处理BUG
2、分析缺陷产生的原因,找出预防对策
BUG评审参加人员:测试代表、开发代表、产品代表
相关文章:
软件测试——BUG概念
目录 一、软件测试生命周期 二、BUG 2.1BUG概念 2.2BUG要素 2.3BUG级别 2.4 BUG的生命周期 2.5测试人员与开发人员因为BUG发生争执 2.6BUG评审 一、软件测试生命周期 软件测试贯穿于软件的整个生命周期 软件测试的生命周期指测试流程,每个阶段有不同的目标…...
二、Android Studio环境安装
一、下载安装 下载 Android Studio 和应用工具 - Android 开发者 | Android DevelopersAndroid Studio 提供了一些应用构建器以及一个已针对 Android 应用进行优化的集成式开发环境 (IDE)。立即下载 Android Studio。https://developer.android.google.cn/studio?hlzh-c…...
Hyperlane:重新定义Rust Web开发的未来 [特殊字符][特殊字符]
Hyperlane:重新定义Rust Web开发的未来 🚀🔥 大家好!👋 今天我要向各位技术爱好者介绍一个令人兴奋的Rust HTTP服务器库——Hyperlane 🌟。作为一个轻量级、高性能的框架,Hyperlane正在悄然改变…...
从零构建机器学习流水线:Dagster+PyTorch实战指南
本文将系统讲解机器学习流水线的核心原理,并通过Dagster编排框架与PyTorch深度学习库的实战结合,手把手演示从数据预处理到生产部署的全流程。文中包含可运行的代码示例、最佳实践和性能对比分析,帮助开发者快速构建可扩展、易维护的机器学习…...
RabbitMQ架构原理及消息分发机制
RabbitMQ架构原理及消息分发机制 在现代分布式系统中,消息队列是不可或缺的组件之一。它不仅能够解耦系统模块,还能实现异步通信和削峰填谷。在众多消息队列中,RabbitMQ 因其高并发、高可靠性和丰富的功能而备受青睐。本文将从 RabbitMQ 的基…...
React 项目src文件结构
SCSS 组件库 SCSS为预处理器 支持除原生CSS外的其他语句 别名路径 在项目下的第一级目录就加入craco.config.js文件并且修改packpage.js 中的部分 // 扩展webpage的配置const path require(path)module.exports {// exports配置webpack:{// 配置别名alias:{:path.resolve(__d…...
Redis --- 基本数据类型
Redis --- 基本数据类型 Redis Intro5种基础数据类型 Redis Intro Redis(Remote Dictionary Server)是一款开源的高性能键值存储系统,常用于缓存、消息中间件和实时数据处理场景。以下是其核心特点、数据类型及典型使用场景: 核心…...
React 高级特性与最佳实践
在掌握了 React 的基础知识后,我们可以进一步探索 React 的高级特性和最佳实践。这些特性将帮助你构建更高效、可维护和可扩展的 React 应用。本文重点介绍 Hooks、Context、Refs 和高阶组件等核心高级特性。 1. Hooks:函数组件的强大工具 Hooks 是 Rea…...
一个由通义千问以及FFmpeg的AVFrame、buffer引起的bug:前面几帧影响后面帧数据
目录 1 问题描述 2 我最开始的代码----错误代码 3 正确的代码 4 为什么前面帧的结果会叠加到了后面帧上----因为ffmpeg新一帧只更新上一帧变化的部分 5 以后不要用通义千问写代码 1 问题描述 某个项目中,需要做人脸马赛克,然后这个是君正的某款芯片…...
12.第二阶段x64游戏实战-远程调试
免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 上一个内容:11.第二阶段x64游戏实战-框架代码细节优化 本次写的内容是关于调试、排错相关的…...
Coze 和 n8n 的详细介绍及多维度对比分析,涵盖功能、架构、适用场景、成本等关键指标
以下是 Coze 和 n8n 的详细介绍及多维度对比分析,涵盖功能、架构、适用场景、成本等关键指标: 一、Coze 详细介绍 1. 基础信息 类型:低代码自动化平台(SaaS)。开源性:闭源(企业版需付费&…...
咋用fliki的AI生成各类视频?AI生成视频教程
最近想制作视频,多方考查了决定用fliki,于是订阅了一年试试,这个AI生成的视频效果来看真是不错,感兴趣的自己官网注册个账号体验一下就知道了。 fliki官网 Fliki生成视频教程 创建账户并登录 首先,访问fliki官网并注…...
【NLP】 20. Attention 和 self-attention
1. 背景与基本概念 1.1 编码器-解码器模型的瓶颈问题 传统的序列到序列(Seq2Seq)模型主要依靠编码器生成单一固定长度的上下文向量,然后由解码器逐步生成输出。这个过程存在两个主要问题: 瓶颈问题:固定…...
vue3+element-plus实现省市区三级地址多选
目录 背景实现功能点遗留问题完整代码参考 背景 需要实现:选择省级地址时,回传节点为 [ 省级地址 id], 选择市级地址时,回传节点为 [ 省级地址 id,市级地址 id], 选择区县地址时,回传节点为 [ …...
centos部署的openstack发布windows虚拟机
CentOS上部署的OpenStack可以发布Windows虚拟机。在CentOS上部署OpenStack后,可以通过OpenStack平台创建和管理Windows虚拟机。以下是具体的步骤和注意事项: 安装和配置OpenStack: 首先,确保系统满足OpenStack的最低硬件…...
Linux : 进程等待以及进程终止
进程控制之进程等待 (一)fork函数1*fork函数返回值2.父子进程的写时拷贝 (二)进程终止1.进程退出码2.进程常见退出方法(1)_exit(2)exit(3)return 3.进程的异常…...
LSTM结合LightGBM高纬时序预测
1. LSTM 时间序列预测 LSTM 是 RNN(Recurrent Neural Network)的一种变体,它解决了普通 RNN 训练时的梯度消失和梯度爆炸问题,适用于长期依赖的时间序列建模。 LSTM 结构 LSTM 由 输入门(Input Gate)、遗…...
详细解释MCP项目中安装命令 bunx 和 npx区别
详细解释 bunx 和 npx 1. bunx bunx 是 Bun 的一个命令行工具,用于自动安装和运行来自 npm 的包。它是 Bun 生态系统中类似于 npx 或 yarn dlx 的工具。以下是 bunx 的主要特点和使用方法: 自动安装和运行: bunx 会自动从 npm 安装所需的包…...
【统信UOS操作系统】python3.11安装numpy库及导入问题解决
一、安装Python3.11.4 首先来安装Python3.11.4。所用操作系统:统信UOS 前提是准备好Python3.11.4的安装包(可从官网下载(链接)),并解压到本地: 右键,选择“在终端中打开”ÿ…...
【中间件】nginx反向代理实操
一、说明 nginx用于做反向代理,其目标是将浏览器中的请求进行转发,应用场景如下: 说明: 1、用户在浏览器中发送请求 2、nginx监听到浏览器中的请求时,将该请求转发到网关 3、网关再将请求转发至对应服务 二、具体操作…...
嵌入式硬件篇---加法减法积分微分器
文章目录 前言1. 加法器(Summing Amplifier)结构反相加法器同相加法器 特点反相输出虚地特性 应用 2. 减法器(差分放大器)结构特点差分放大共模抑制比 应用 3. 积分器结构特点直流漂移问题应用 4. 微分器结构特点应用关键注意事项…...
Spring Cloud Gateway 的执行链路详解
Spring Cloud Gateway 的执行链路详解 🎯 核心目标 明确 Spring Cloud Gateway 的请求处理全过程(从接收到请求 → 到转发 → 到返回响应),方便你在合适的生命周期节点插入你的逻辑。 🧱 核心执行链路图(执…...
鸿蒙应用(医院诊疗系统)开发篇2·Axios网络请求封装全流程解析
一、项目初始化与环境准备 1. 创建鸿蒙工程 src/main/ets/ ├── api/ │ ├── api.ets # 接口聚合入口 │ ├── login.ets # 登录模块接口 │ └── request.ets # 网络请求核心封装 └── pages/ └── login.ets # 登录页面逻辑…...
突发重磅消息!!!CVE项目将被取消?
突发重磅消息!!!CVE项目将被取消?突发!来自可靠消息来源。MITRE 对 CVE 项目的支持将于明天到期。附件信件已发送给 CVE 董事会成员。https://mp.weixin.qq.com/s/N3qkiHaDfzDuBMK3JbBCjw...
详解与FTP服务器相关操作
目录 什么是FTP服务器 搭建FTP服务器相关 编辑 Unity中与FTP相关的类 上传文件到FTP服务器 使用FTP服务器上传文件的关键点 开始上传 从FTP服务器下载文件到客户端 使用FTP下载文件的关键点 开始下载 关于FTP服务器的其他操作 将文件的上传,下载&…...
远程登录一个Linux系统,如何用命令快速知道该系统属于Linux的哪个发行版,以及该服务器的各种配置参数,运行状态?
远程登录一个Linux系统,如何用命令快速知道该系统属于Linux的哪个发行版,以及该服务器的各种配置参数,运行状态? 查看Linux发行版信息 查看发行版名称和版本: cat /etc/*-release或 lsb_release -a查看内核版本&#…...
解决 .Net 6.0 项目发布到IIS报错:HTTP Error 500.30
今天在将自己开发许久的项目上线的时候,发现 IIS 发布后请求后端老是报一个 HTTP Error 500.30 的异常,如下图所示。 后来仔细调查了一下发现是自己的程序中写了 UseStaticFiles 的依赖注入,这个的主要作用就是发布后端后,想…...
STM32F103_HAL库+寄存器学习笔记16 - 监控CAN发送失败(轮询方式)
导言 《STM32F103_HAL库寄存器学习笔记15 - 梳理CAN发送失败时,涉及哪些寄存器》从上一章节看到,当CAN消息发送失败时,CAN错误状态寄存器ESR的TEC会持续累加,LEC等于0x03(ACK错误)。本次实验的目的是编写一…...
Java并发-AQS框架原理解析与实现类详解
什么是AQS? AQS(AbstractQueuedSynchronizer)是Java并发包(JUC)的核心基础框架,它为构建锁和同步器提供了高效、灵活的底层支持。本文将从设计原理、核心机制及典型实现类三个维度展开,帮助读者…...
实现定长的内存池
池化技术 所谓的池化技术,就是程序预先向系统申请过量的资源,然后自己管理起来,以备不时之需。这个操作的价值就是,如果申请与释放资源的开销较大,提前申请资源并在使用后并不释放而是重复利用,能够提高程序…...
