测试Bug篇

article/2025/8/27 4:07:49

本节概要:

软件测试的生命周期

bug的概念

buh要素

bug等级

bug生命周期

对于bug的定级与开发发生冲突如何解决


一、 软件测试的⽣命周期


软件测试贯穿于软件的整个生命周期,针对这句话我们⼀起来看⼀下软件测试是如何贯穿软件的整个生命周期。

软件测试的⽣命周期是指测试流程,这个流程是按照⼀定顺序执⾏的⼀系列特定的步骤,去保证产品质量符合需求。在软件测试⽣命周期流程中,每个活动都按照计划的系统的执行。每个阶段有不同的⽬标和交付产物。

因为测试人员是要最了解需求的人,在需求分析会上测试人员可以从技术,产品,用户等角度考虑需求是否有问题。后面....

需求分析测试计划测试设计与开发测试执⾏测试评估上线运⾏维护

⽤⼾角度:软件需求是否合理

技术⻆度:技术上是否可⾏,是否还有优化空间

测试⻆度:是否存在业务逻辑错误、冗余、冲突等问题

制定测试计划:什么时候开发测试,什么时候结束测试,耗时多久参考需求⽂档、技术⽂档等编写测试⽤例 写测试⽂档,明确标注使⽤到的测试⽅法,测试⼯具,测试形式等充分利⽤测试⽤例和测试⼯具对项⽬尽可能做到全⽅⾯的测试覆盖测试是否通过,本次测试是否有遗留的BUG,最终测试⼈员需要产出一个测试报告项⽬测试结束后,将项⽬发布到线上环境,测试⼈员需求跟踪上线并测试线上环境下软件的运行是否正确测试⼈员需要参与项⽬的实施⼯作。测试⼈员对项⽬产品的业务和操作⾮常了解,加上测试⼈员 的沟通表达能⼒⼀般都⽐较强,所以测试⼈员可以参与⽤⼾使⽤软件的培训,在试运⾏项⽬时收集问题并及时反馈给相关负责人


二、 Bug

2.1 bug的概念

测试人员一定是最了解需求的人,最后演示会议是由测试人员来演示产品/软件

测试人员不仅要具备开发能力,测试能力,最好具备一定的分析能力。

测试执行结束后,不能认为项目100%的问题全被发现了。问题是不可能全被发现的

二、Bug

2.1 bug的概念

定义:⼀个计算机bug指在计算机程序中存在的⼀个错误(error)、缺陷(flaw)、疏忽(mistake)或者故障(fault),这些bug使程序⽆法正确的运⾏。Bug产⽣于程序的源代码或者程序设计阶段的疏忽或者错误


1. 当且仅当规格说明是存在的并且正确,程序与规格说明之间的不匹配才是错误。

2. 当需求规格说明书没有提到的功能,判断标准以最终用户为准:当程序没有实现其最终用户合理

预期的功能要求时,就是软件错误。

2.2 描述bug的要素

为什么描述bug还有要素要求?

在⼼理学上说,⼈们在编写⽂档的时候,经常会出现⾃⼰想表达的和写出来的内容往往南辕北辙。

Eg:

bug描述:浏览器打开链接后二维码窗口被遮挡。

该描述下,没有明确说明哪个浏览器,失败的具体表现是什么,对于开发⼈员来说⽆法捕捉到更多有效的信息,会造成沟通效率低下,⼯作质量低下等问题。

描述bug的基本要素:问题出现的版本、问题出现的环境、问题出现的步骤、预期结果、实际结果
bug级别

通过描述bug的基本要素让开发人员快速定位具体的问题,复现bug。

2.3 bug的等级 

通过定义bug的级别,能够明确看出问题的严重程度。⼯作中开发⼈员通常需要按照bug的级别来分配优先级来处理bug,除此之外,通过bug级别也能够体现出开发⼈员的开发质量。

bug级别⼀般分为:崩溃、严重、⼀般、次要

 

崩溃严重⼀般次要
阻碍开发或测试⼯作的问题;造成系统崩溃、死机、死循环,导致数据库数据丢失,与数据库连接错 误,主要功能丧失,基本模块缺失等问题。如:代码错误、死循环、数据库发⽣死锁、重要的⼀级菜单 功能不能使⽤等(该问题在测试中较少出现,⼀旦出现应⽴即中⽌当前版本测试)。系统主要功能部分丧失、数据库保存调⽤错误、⽤⼾数据丢失,⼀级功能菜单不能使⽤但是不影响其他 功能的测试。功能设计与需求严重不符,模块⽆法启动或调⽤,程序重启、⾃动退出,关联程序间调⽤ 冲突,安全问题、稳定性等。如:软件中数据保存后数据库中显⽰错误,⽤⼾所要求的功能缺失,程序接⼝错误,数值计算统计错误等(该等级问题出现在不影响其他功能测试的情况下可以继续该版本测 试)。功能没有完全实现但是不影响使⽤,功能菜单存在缺陷但不会影响系统稳定性。如:操作时间⻓、查询时间⻓、格式错误、边界条件错误,删除没有确认框、数据库表中字段过多等(该问题实际测试中存在最多)界⾯、性能缺陷,建议类问题,不影响操作功能的执⾏,可以优化性能的⽅案等。如:错别字、界⾯格 式不规范,⻚⾯显⽰重叠、不该显⽰的要隐藏,描述不清楚,提⽰语丢失,⽂字排列不整⻬,光标位置 不正确,⽤⼾体验感受不好,可以优化性能的⽅案等(此类问题在测试初期较多,优先程度较低;在测 试后期出现较少,应及时处理)


2.4 bug的生命周期

测试⼈员在执⾏测试的过程中如有发现bug,需要在对应的bug管理平台来创建bug(bug⽣命起源),创建好的bug需要被开发⼈员修复,以及测试⼈员的持续跟踪和测试。

在工作中,测试人员创建的bug不一定是有效的,也可能是因为误操作导致的无效bug。

New:新发现的Bug,未经评审决定是否指派给开发⼈员进⾏修改。

● Open:确认是Bug,并且认为需要进⾏修改,指派给相应的开发⼈员。

● Fixed:开发⼈员进⾏修改后标识成修改状态,有待测试⼈员的回归测试验证。 ● Rejected:如果认为不是Bug,则拒绝修改。

● Delay:如果认为暂时不需要修改或暂时不能修改,则延后修改。

● Closed:修改状态的Bug经测试⼈员的回归测斌验证通过,则关闭Bug。

● Reopen:如果经验证Bug仍然存在,则需要重新打开Bug,开发⼈员重新修改。


 2.5 关于bug和开发人员发生冲突怎么办

在工作中,测试人员创建的bug不一定是有效的,也可能是因为误操作导致的无效bug。

  • 先检查自身,是否bug描述不清楚
  • 站在用户角度考虑并抛出问题:站在⽤⼾⻆度考虑问题 应该让开发⼈员了解到Bug对⽤⼾可能造成的困扰,这样才能促使开发⼈员 更加积极地、⾼质量地修改Bug
     
  • BUG定级要有理有据:BUG定级时,不仅要参考BUG级别,还要考虑BUG是否会影响到流程,往往⽤⼾的BUG级别和我们的是有区别的,需站在⽤⼾的⻆度定考虑定位级别
  • 提⾼⾃⾝技术和业务⽔平,做到不仅能提出问题,最好也能给出解决⽅案
  • bug评审:

1. 决定如何处理bug

2.分析缺陷产⽣的原因,找出预防的对策

bug评审⾄少需要项⽬组各个⽅⾯的代表参加:测试代表,开发代表,产品代表
 


http://www.hkcw.cn/article/uNLUbtUIQX.shtml

相关文章

实验设计与分析(第6版,Montgomery)第5章析因设计引导5.7节思考题5.2 R语言解题

本文是实验设计与分析&#xff08;第6版&#xff0c;Montgomery著&#xff0c;傅珏生译) 第5章析因设计引导5.7节思考题5.2 R语言解题。主要涉及方差分析&#xff0c;正态假设检验&#xff0c;残差分析&#xff0c;交互作用。 dataframe<-data.frame( Surfacec(74,64,60,92…

无人机报警器探测模块技术解析!

一、运行方式 1. 频谱监测与信号识别 全频段扫描&#xff1a;模块实时扫描900MHz、1.5GHz、2.4GHz、5.8GHz等无人机常用频段&#xff0c;覆盖遥控、图传及GPS导航信号。 多路分集技术&#xff1a;采用多传感器阵列&#xff0c;通过信号加权合并提升信噪比&#xff0c;…

从本地到云端:Code App+SSH协议在iPad开发中的性能优化实战

文章目录 前言1. 在iPad下载Code APP2.安装cpolar内网穿透2.1 cpolar 安装2.2 创建TCP隧道 3. iPad远程vscode4. 配置固定TCP端口地址4.1 保留固定TCP地址4.2 配置固定的TCP端口地址4.3 使用固定TCP地址远程vscode 前言 在春日的公园长椅上&#xff0c;当编程灵感突然闪现时&a…

【QQ音乐】sign签名| data参数加密 | AES-GCM加密 | webpack实战 (下)

1.目标 网址&#xff1a;https://y.qq.com/n/ryqq/toplist/26 我们知道了 sign P(n.data)&#xff0c;其中n.data是明文的请求参数 2.webpack生成data加密参数 那么 L(n.data)就是密文的请求参数。返回一个Promise {<pending>}&#xff0c;所以L(n.data) 是一个异步函数…

2025年05月29日Github流行趋势

项目名称&#xff1a;agenticSeek 项目地址url&#xff1a;https://github.com/Fosowl/agenticSeek项目语言&#xff1a;Python历史star数&#xff1a;11898今日star数&#xff1a;2379项目维护者&#xff1a;Fosowl, steveh8758, klimentij, ganeshnikhil, apps/copilot-pull-…

Python自动化之selenium语句——打开、关闭浏览器和网页

目录 一、打开谷歌浏览器 1.双击桌面的Pycharm工具 2.新建Python文件&#xff0c;输入文件名 3.新建的Python文件如下 4.安装selenium库 5.导入包 二、打开网页、关闭网页、关闭浏览器 1.导入增加一个时间包 2.使用函数打包之前写的浏览器的配置 3.调用 4.打开百度网…

实时操作系统在脑机接口中的技术平衡:满足实时性与 AI 算力需求

在当今医疗科技蓬勃发展的时代&#xff0c;实时操作系统&#xff08;RTOS&#xff09;正逐渐成为医疗设备领域中不可或缺的关键技术。随着脑机接口等前沿技术的飞速发展&#xff0c;对实时性和算力的双重需求达到了前所未有的高度&#xff0c;而 RTOS 在其中扮演着至关重要的角…

循环神经网络(RNN)模型

一、概述 循环神经网络&#xff08;Recurrent Neural Network, RNN&#xff09;是一种专门设计用于处理序列数据&#xff08;如文本、语音、时间序列等&#xff09;的神经网络模型。其核心思想是通过引入时间上的循环连接&#xff0c;使网络能够保留历史信息并影响当前输出。 …

【stm32开发板】原理图设计(电源部分)附:设计PCB流程

一、PCB设计流程 二、操作步骤 1.新建工程 文件→新建→工程 2.命名工程 保存后进入该页面 自生成了一个原理图和PCB 3.新建图页及重命名 右键第一个图页&#xff0c;选择新建图页 右键选择重命名可以为图页改名 4.取消设计规则的22项 5.原理图尺寸调整 如果觉得原理图框的…

MCP入门实战(极简案例)

MCP简介 MCP(Model Context Protocol,模型上下文协议)2024年11月底由 Antbropic 推出的一种开放标准,旨在统一大型语言模型(LLM)与外部数据源和工具之间的通信协议。 Function Calling是AI模型调用函数的机制,MCP是一个标准协议,使AI模型与API无缝交互,而Al Agent是一个…

SCL语言两台电机正反转控制程序从选型、安装到调试全过程的详细步骤指南(下)

阶段三&#xff1a;PLC 编程 (SCL 语言)&#xff08;为了学会结构体和I/O映射可能看着有点复杂&#xff0c;多电机控制及维护好修改&#xff09; 程序结构思路&#xff1a; 1. 定义清晰的数据结构 (STRUCT) 来管理每台电机的所有变量&#xff08;输入、输出、状态、互锁条件&…

apptrace 的优势以及对 App 的价值

官网地址&#xff1a;AppTrace - 专业的移动应用推广追踪平台 apptrace 的优势以及对 App 的价值​ App 拉起作为移动端深度链接技术的关键应用&#xff0c;能实现从 H5 网页到 App 的无缝跳转&#xff0c;并精准定位到 App 内指定页面。apptrace 凭借专业的技术与丰富的经验…

西门子嵌入式学习笔记---(1)裸机和调度器开发

&#x1f308;个人主页&#xff1a; 羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 裸机和调度器开发的对比 嵌入式开发是为了特定目的而设计的计算系统编写软件的过程&#xff0c;这些系统通常会具有受限的资源&#xff08;处理能力&#xff0c;、内存、能源等&…

Rust使用Cargo构建项目

文章目录 你好&#xff0c;Cargo&#xff01;验证Cargo安装使用Cargo创建项目新建项目配置文件解析默认代码结构 Cargo工作流常用命令速查表详细使用说明1. 编译项目2. 运行程序3.快速检查4. 发布版本构建 Cargo的设计哲学约定优于配置工程化优势 开发建议1. 新项目初始化​2. …

Python自动化之selenium语句——元素点击、输入、清空和八大元素定位方法

目录 一、元素定位配置 1.导包 2.查找元素 二、元素交互操作 1.点击 2.输入 3.清空 三、元素定位方法 1.ID 2.NAME 3.CLASS_NAME 4.TAG_NAME 5.LINK_TEXT 6.PARTIAL_LINK_TEXT 7.CSS_SELECTOR 8.XPATH 本节讲解元素定位相关知识 一、元素定位配置 1.导包 2.查…

C++并集查找

前言 C图论 C算法与数据结构 本博文代码打包下载 基本概念 并查集&#xff08;Union-Find&#xff09;是一种用于处理动态连通性&#xff08;直接或间接相连&#xff09;的数据结构&#xff0c;主要支持两种操作&#xff1a;union 和 find。通过这两个基本操作&#xff0c;可…

DeepSeek - 尝试一下GitHub Models中的DeepSeek

1.简单介绍 当前DeepSeek使用的人很多&#xff0c;各大AI平台中也快速引入了DeekSeek&#xff0c;比如Azure AI Foundary(以前名字是Azure AI Studio)中的Model Catalog, HuggingFace, GitHub Models等。同时也出现了一些支持DeepSeek的.NET类库。微软的Semantic Kernel也支持…

2025年人文发展与教育心理学国际会议(ICHDEP 2025)

2025年人文发展与教育心理学国际会议&#xff08;ICHDEP 2025&#xff09; 2025 International Conference on Humanistic Development and Educational Psychology 一、大会信息 会议简称&#xff1a;ICHDEP 2025 大会地点&#xff1a;中国广州 审稿通知&#xff1a;投稿后2…

实测,大模型谁更懂数据可视化?

大家好&#xff0c;我是 Ai 学习的老章 看论文时&#xff0c;经常看到漂亮的图表&#xff0c;很多不知道是用什么工具绘制的&#xff0c;或者很想复刻类似图表。 实测&#xff0c;大模型 LaTeX 公式识别&#xff0c;出乎预料 前文&#xff0c;我用 Kimi、Qwen-3-235B-A22B、…

MySQL高可用方案:Keepalived+双主库架构深度解析与实战指南

MySQL高可用方案:Keepalived+双主库架构深度解析与实战指南 一、方案概述 MySQL双主+Keepalived架构通过双节点互为主从模式结合VRRP协议,实现数据库服务的高可用与自动故障转移。该方案具备以下核心优势: 双活写入能力:两节点均可处理读写请求,通过双向复制保持数据强一…