当前位置: 首页 > article >正文

测试Bug篇

本节概要:

软件测试的生命周期

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评审⾄少需要项⽬组各个⽅⾯的代表参加:测试代表,开发代表,产品代表
 

相关文章:

测试Bug篇

本节概要: 软件测试的生命周期 bug的概念 buh要素 bug等级 bug生命周期 对于bug的定级与开发发生冲突如何解决 一、 软件测试的⽣命周期 软件测试贯穿于软件的整个生命周期,针对这句话我们⼀起来看⼀下软件测试是如何贯穿软件的整个生命周期。 软…...

【Linux系统移植】Cortex-A8 Linux系统移植(超详细)

目录 前言 一、ARM开发板ARM简介RISC和CISCARM产品分布核心板S5pv210 SOC嵌入式系统开发方式 二、嵌入式系统组成为什么要系统移植内核移植框图 三、嵌入式开发环境搭建搭建开发环境总流程设置ubuntu与windows共享目录修改用户为root用户安装NFS服务器安装tftp服务器安装交叉编…...

第十五届蓝桥杯大赛软件赛国赛Python 大学 C 组试做【本期题单: 设置密码、栈】

早上好啊大伙,这一期依旧是蓝桥杯备赛刷题的记录。 本期题单:设置密码、栈 前言 前段时间准备省赛,运气好进国赛了。所以就开始准备6月份的国赛。但是近期还有别的比赛要准备,所以刷题的速度比较慢,可能每一期就会有一…...

报错SvelteKitError: Not found: /.well-known/appspecific/com.chrome.devtools.json

报错信息 SvelteKitError: Not found: /.well-known/appspecific/com.chrome.devtools.json 解决方案一 更新所有依赖 npm update解决方案二(不一定成功) src\lib\hooks.server.ts,每次请求服务器时执行 import type { Handle } from &…...

word添加页眉

问题一: 为word文档添加页眉。 方法: 1、在要添加页眉的第一页页面顶端双击页眉区域,如果添加页眉页上面还有其他页或者与上一页添加页眉内容不同,记得取消“链接到前一节”(点击使其上面没有灰色即可)&…...

JavaScript 中的 BigInt:当普通数字不够“大“时的救星

前言 大家好!今天我们要聊一聊 JavaScript 中那个"大"到不行的数据类型 —— BigInt。如果你曾经因为 JavaScript 的数字精度问题而抓狂,或者好奇为什么 9007199254740992 9007199254740993 会返回 true,那么这篇文章就是为你准备…...

通过mailto:实现web/html邮件模板唤起新建邮件并填写内容

一、背景 在实现网站、html邮件模板过程中,难免会遇到需要通过邮箱向服务提供方发起技术支持等需求,因此,我们需要通过一个功能,能新建邮件并提供模板,提高沟通效率 二、mailto协议配置说明 参数描述mailto:nameema…...

2025推客系统小程序开发:独立部署源码交付,高性价比裂变增长引擎

在私域流量争夺白热化的今天,源码独立部署的推客系统小程序已成为企业构建自主分销体系、降低获客成本的核心利器。基于成熟案例与技术沉淀,我们提供安全可控、高性价比的一站式解决方案,助力企业快速搭建专属推客生态,实现长效增…...

【Python零基础入门系列】第6篇:Python 的数据结构世界(列表、字典、集合、元组)

欢迎来到 Python 零基础入门系列的第六篇! 前面我们学会了写 Hello World、掌握了变量与数据类型、学会了控制程序流程,还能写写函数、读读文件。现在,我们要走进 Python 的数据结构世界,这也是写程序时最核心的一环之一。 你可以把“数据结构”理解成放数据的容器,或者是…...

MVCC 原理与并发控制实现

MVCC 原理与并发控制实现 1. MVCC 基本概念 MVCC(Multi-Version Concurrency Control,多版本并发控制)是现代数据库系统中实现并发控制的核心技术之一。与传统的锁机制不同,MVCC通过维护数据的多个版本来实现非阻塞读取。 关键结论:MVCC的核…...

CentOS 7.0重置root密码

文章目录 版本:CentOS 7.0内核版本:CentOS Linux, with Linux 3.10.0-123.el7.x86_64 服务器重启后,等待进入上述页面,按⬆⬇键,中断正常启动。在此页面按E,进入编辑模式 继续按⬇,找到linux16…...

YOLOV11改进策略【最新注意力机制】CVPR2025局部区域注意力机制LRSA-增强局部区域特征之间的交互

1.1网络结构 1.2 添加过程 1.2.1 核心代码 import torch import torch.nn as nn import torch.nn.functional as F from einops import rearrangedef patch_divide(x, step, ps):"""Crop image into patches.Args:x (Tensor): Input feature map of shape(b, …...

3D建模的全景图谱:从55个工具到元宇宙的数字革命

3D建模已从专业工程师的工具箱演变为全民创作的数字语言。从代码驱动的精确建模到AI自动生成纹理,从开源协作到程序化生成城市,技术正重塑我们创造虚拟世界的方式。本文将系统解析55个核心3D建模工具/插件,涵盖在线编辑器、开源软件、程序化生…...

Kotlin 活动事件通讯跳转深度讲解

在 Android 开发的浩瀚海洋中,活动(Activity)间的事件通讯与跳转犹如构建复杂应用程序的桥梁与纽带,而 Kotlin 语言的加入,更是为这一过程注入了简洁、优雅与高效的活力。本文将深入剖析 Kotlin 开发中安卓活动事件通讯跳转的方方面面,从基础概念到高级技巧,从代码示例到…...

vue + ant-design + xlsx 实现Excel多Sheet页导出功能

Vue Ant Design 扩展:实现Excel多Sheet页导出功能 引言 在复杂业务场景中,单一Sheet页已无法满足数据展示需求。本文将演示如何基于Vue3 Ant Design Vue xlsx技术栈,实现以下高级导出功能: 动态多Sheet页生成复杂数据集关联…...

关于 Web 安全:6. 常见 CMS 开源系统风险点

一、WordPress 开源内容管理系统(CMS),使用 PHP MySQL 构建; 全球超过 40% 网站使用; 支持插件、主题系统,功能可扩展性极强; 也是风险点最多的系统之一,插件/主题贡献了大部分…...

DAY33 简单神经网络

你需要自行了解下MLP的概念。 你需要知道 梯度下降的思想激活函数的作用损失函数的作用优化器神经网络的概念 神经网络由于内部比较灵活,所以封装的比较浅,可以对模型做非常多的改进,而不像机器学习三行代码固定。 1. 神经网络的概念 (Th…...

OBOO鸥柏丨2025年鸿蒙生态+国产操作系统触摸屏查询一体机核心股

在信创产业蓬勃发展的当下,OBOO鸥柏积极响应纯国产化号召,推出基于华为鸿蒙HarmonyOS操作系统的触摸屏查询一体机及室内外场景广告液晶显示屏一体机上市,OBOO鸥柏品牌旗下显示产品均采用国产芯片,接入终端控制端需支持安卓Windows…...

【观成科技】Ymir勒索软件组织窃密木马RustyStealer加密通信分析

1.概述 Ymir勒索软件首次发现于2024年7月,采用ChaCha20加密算法对受害者文件进行加密,加密文件后缀为.6C5oy2dVr6。在攻击过程中,Ymir勒索组织利用名为RustyStealer的窃密木马获取受害企业的账号凭证,为后续横向移动和权限提升奠…...

Vuer开源程序 是一个轻量级的可视化工具包,用于与动态 3D 和机器人数据进行交互。它支持 VR 和 AR,可以在移动设备上运行。

​一、软件介绍 文末提供程序和源码下载 Vuer开源程序 是一个轻量级的可视化工具包,用于与动态 3D 和机器人数据进行交互。它支持 VR 和 AR,可以在移动设备上运行。 二、Our features include: 我们的功能包括: light-weight and performa…...

浅谈学习(费曼学习法)

我们在学习的过程中常常会面临遗忘的问题。 欸,之前明明学过,怎么感觉模模糊糊的,忘记了,当然。。。有可能是因为当时就没有听懂。 但是我经常会有一种情况,我觉得自己当时明明听懂了,理解了呀&#xff0…...

高光谱成像相机:表型技术在林业育种和精确林业的应用

在林木育种和精确林业管理中,表型数据的精准获取与分析是破解基因型-环境-表型互作关系的关键。传统人工测量方式存在效率低、维度单一、破坏性强等局限,而高光谱成像技术凭借其多波段、高分辨率和非接触式的优势,成为林业表型研究的重要工具…...

iOS App启动优化(冷启动、热启动)

App启动优化是提升用户体验的关键环节,主要针对冷启动和热启动进行针对性优化。 冷启动与热启动的定义 冷启动(Cold Launch) 场景:App进程不存在,需系统创建新进程并完成完整初始化(如首次启动或进程被杀死…...

短视频一键搬运 v1.7.1|短视频无水印下载 一键去重

短视频一键搬运是一款全自动智能处理软件,专为短视频创作者设计。它自带去水印、改MD5码、视频去重、视频编辑等功能,能够高效处理大量视频,解放双手并降低成本。该软件支持从多个短视频平台无缝提取视频并去除水印,同时检测敏感词…...

海上石油钻井平台人员安全管控解决方案

一、行业挑战与需求分析 海上钻井平台面临复杂环境风险(如易燃易爆、金属干扰、极端气象)和人员管理难题(如定位模糊、应急响应延迟)。传统RFID或蓝牙定位技术存在精度不足(1-5米)、抗干扰能力差等问题&am…...

(25年5.28)ChatGPT Plus充值教程与实用指南:附国内外使用案例与模型排行

更多具体来源:查看原文 ChatGPT Plus 充值教程 由于国内卡无法直接充值 chatgpt,通常需要借助虚拟卡。目前咱们常用的方式是通过虚拟卡平台获取。因平台审核要求这里不细说,具体看原文。 ChatGPT Plus主要使用方向 ChatGPT Plus 提供了更…...

“以光惠算”走进校园,湖北大学用F5G-A全光网赋能智慧校园

SUN的联合创始人约翰盖奇,曾在1984年提出过一个大胆的猜想——“网络就是计算机”。 到了大模型时代,40多年前的猜想被赋予了新的内涵。大模型训练和推理所需的资源,远超单台计算机的承载能力,涌现出了新的网络范式:大…...

stm32cube ide如何生成LL库工程

在 STM32Cube IDE 里生成使用 LL(Low Layer)库的工程,可按以下步骤操作: 1. 新建 STM32 工程 启动 STM32Cube IDE,选择File→New→STM32 Project。依据需求挑选目标 MCU 型号,接着点击Next。 2. 配置工程…...

TEASER-plusplu Windows Mingw编译

编译记录: 1.下载该库 v2.0 链接1:https://github.com/MIT-SPARK/TEASER-plusplus 连接2:https://github.com/MIT-SPARK/TEASER-plusplus/releases 2.下载 googletest 链接:https://github.com/google/googletest/releases?page2…...

T5和GPT哪个更强大

一图速览:T5 vs GPT 对比总结 维度T5(Text-to-Text Transfer Transformer)GPT(Generative Pretrained Transformer)📌 模型类型编码器-解码器(Encoder-Decoder)解码器-only&#xf…...