测试--BUG(软件测试⽣命周期 bug的⽣命周期 与开发产⽣争执怎么办)
1. 软件测试的⽣命周期
软件测试贯穿于软件的整个⽣命周期,针对这句话我们⼀起来看⼀下软件测试是如何贯穿软件的整个⽣命周期。
软件测试的⽣命周期是指测试流程,这个流程是按照⼀定顺序执⾏的⼀系列特定的步骤,去保证产品质量符合需求。在软件测试⽣命周期流程中,每个活动都按照计划的系统的执⾏。每个阶段有不同的⽬标和交付产物
阶段 | 用户角度思考 | 测试目标/任务 | 主要活动与输出 |
---|---|---|---|
需求分析 | - 是否合理- 技术可行性- 有无逻辑冲突 | 从用户/技术角度识别潜在问题 | 参与评审需求文档,识别业务逻辑错误、冗余与冲突 |
测试计划 | 无 | 制定测试策略与整体安排 | 明确测试时间表、范围、资源分配、目标与形式;输出测试计划 |
测试设计与开发 | 无 | 准备具体测试方案 | 编写测试用例、测试点;明确测试方法、使用工具等 |
测试执行 | 无 | 实际测试系统,发现和记录缺陷 | 执行测试用例,记录缺陷,使用测试工具提高覆盖率 |
测试评估 | 无 | 确定是否达到测试标准,有无遗留问题 | 整理测试报告,说明通过情况与BUG状态,评估上线风险 |
上线 | 是否能在真实环境中正常运行 | 确认部署正确,功能稳定 | 上线后环境验证测试;确保部署版本功能一致性 |
运行维护 | 用户是否能顺利使用软件,有无问题反馈 | 参与支持工作,辅助用户培训 | 测试人员参与用户培训、现场支持,收集问题并及时反馈 |
2.BUG
1.什么是bug?
1. 当且仅当规格说明是存在的并且正确,程序与规格说明之间的不匹配才是错误。
2. 当需求规格说明书没有提到的功能,判断标准以最终⽤⼾为准:当程序没有实现其最终⽤⼾合理预期的功能要求时,就是软件错误。
2.描述bug的要素
描述bug的基本要素:问题出现的版本、问题出现的环境、问题出现的步骤、预期结果、实际结果
eg.
问题出现的版本:⾕歌浏览器版本 123.0.6312.123(正式版本) (64 位)
问题出现的环境:Windows家庭版
问题出现的步骤:
1、打开⾕歌浏览器,输⼊⽹址https://www.101eduyun.com/
2、等待⾸⻚⻚⾯渲染完成
预期结果:⼆维码与登陆模块不会出现遮挡,⼆维码可以正常扫描
实际结果:⼆维码被登陆模块遮挡,⼆维码扫描失败
3.bug级别
通过定义bug的级别,能够明确看出问题的严重程度。⼯作中开发⼈员通常需要按照bug的级别来分配优先级来处理bug,除此之外,通过bug级别也能够体现出开发⼈员的开发质量。
bug级别⼀般分为:崩溃、严重、⼀般、次要
等级 | 定义简述 | 示例(简化) | 是否阻断测试 |
---|---|---|---|
崩溃 | 系统崩溃、死机、死锁、数据丢失等 | 死循环、数据库连接错误、主功能丢失、一级菜单不可用 | ✅ 是 |
严重 | 主功能受损但不阻止测试 | 数据保存错误、程序重启、自动退出、接口冲突、安全漏洞 | ⚠️ 部分阻断 |
一般 | 功能不全但基本可用 | 查询慢、边界错误、无确认框、格式问题、字段设计不合理 | ❌ 否 |
次要 | 界面、体验、建议类问题 | 错别字、提示缺失、页面错位、按钮不对齐、光标位置不正确 | ❌ 否 |
4.bug的⽣命周期
试⼈员在执⾏测试的过程中如有发现bug,需要在对应的bug管理平台来创建bug(bug⽣命起源),创建好的bug需要被开发⼈员修复,以及测试⼈员的持续跟踪和测试。
1.创建一个bug 开发承认->open 2.严重bug||时间宽松->Fixed 进行修改 直到改对->closed。3.一般bug&&时间紧->Delay 暂时不修改 改完->closed
情况 Bug状态流转路径 说明 开发确认是 Bug New → Open
进入处理流程 严重 Bug / 时间充裕 Open → Fixed → Closed
及时修复并验证关闭 一般 Bug 且时间紧张 Open → Delay → Fixed → Closed
延期处理后再修复关闭
3.与开发产⽣争执怎么办
1.先检查⾃⾝,是否bug描述不清楚
2.站在⽤⼾⻆度考虑并抛出问题
3.BUG定级要有理有据
4.提⾼⾃⾝技术和业务⽔平,做到不仅能提出问题,最好也能给出解决⽅案
5.若仍无法达成一致,会推动组织 Bug 评审,由项目组多方共同决策,确保质量与进度的平衡
相关文章:
测试--BUG(软件测试⽣命周期 bug的⽣命周期 与开发产⽣争执怎么办)
1. 软件测试的⽣命周期 软件测试贯穿于软件的整个⽣命周期,针对这句话我们⼀起来看⼀下软件测试是如何贯穿软件的整个⽣命周期。 软件测试的⽣命周期是指测试流程,这个流程是按照⼀定顺序执⾏的⼀系列特定的步骤,去保证产品质量符合需求。在软…...
基于大模型预测围术期麻醉苏醒时间的技术方案
目录 一、数据收集与处理(一)数据来源(二)数据预处理二、大模型构建与训练(一)模型选择(二)模型训练三、围术期麻醉苏醒时间预测(一)术前预测(二)术中动态预测四、并发症风险预测(一)风险因素分析(二)风险预测模型五、基于预测制定手术方案(一)个性化手术规划…...
QT6 源(101)阅读与注释 QPlainTextEdit,其继承于QAbstractScrollArea,属性学习与测试
(1) (2) (3)属性学习与测试 : (4) (5) 谢谢...
电池组PACK自动化生产线:多领域电池生产的“智能引擎”
在电池产业蓬勃发展的当下,电池组PACK自动化生产线凭借其高效、精准、智能的优势,成为众多电池生产领域的核心装备。它广泛适用于数码电池、工具电池、储能电池、电动车电池以及动力电池的生产,有力推动了相关产业的升级与发展。 数码电池领…...
生成式AI在编程中的应用场景:从代码生成到安全检测
引言 生成式AI正在深刻改变软件开发的方式,从代码编写到测试、文档和维护,AI技术正在为每个环节带来革命性的变革。本文将深入探讨生成式AI在编程中的主要应用场景,分析其优势与局限性,并展望未来发展趋势。 主要应用场景 1. 代…...
安全牛报告解读《低空经济发展白皮书(3.0)安全体系》
一、概述 《低空经济发展白皮书(3.0)安全体系》由粤港澳大湾区数字经济研究院(IDEA研究院)发布,旨在构建低空经济安全发展的系统性框架,解决规模化低空飞行中的安全挑战。核心目标是明确安全体系需覆盖的飞…...
“2W2H”分析方法
“2W2H”是一种常用的分析方法,它通过回答**What(是什么)、Why(为什么)、How(怎么做)、How much(多少)**这四个问题来全面了解和分析一个事物或问题。这种方法可以帮助你…...
【数据挖掘笔记】兴趣度度量Interest of an association rule
在数据挖掘中,关联规则挖掘是一个重要的任务。兴趣度度量是评估关联规则的重要指标,以下是三个常用的兴趣度度量:支持度、置信度和提升度。 支持度(Support) 计算方法 支持度表示包含项集的事务占总事务的比例&…...
ArcGIS Pro调用多期历史影像
一、访问World Imagery Wayback,基本在我国范围 如下图: 二、 放大到您感兴趣的区域 三、 查看影像版本信息 点击第二步的按钮后,便可跳转至World Imagery (Wayback 2025-04-24)的相关信息。 四 、点击上图影像版本信息,页面跳转…...
Web3.0:互联网的去中心化未来
随着互联网技术的不断发展,我们正站在一个新时代的门槛上——Web3.0时代。Web3.0不仅仅是一个技术升级,它更是一种全新的互联网理念,旨在通过去中心化技术重塑网络世界。本文将深入探讨Web3.0的核心概念、技术基础、应用场景以及它对未来的深…...
java17
1.常见API之BigDecimal 底层存储方式: 2.如何分辨过时代码: 有横线的代码表示该代码已过时 3.正则表达式之字符串匹配 注意:如果X不是单一字符,需要加[]中括号 注意:1.想要表达正则表达式里面的.需要\\. 2.想要表…...
游戏引擎学习第283天:“让‘Standing-on’成为一个更严谨的概念
如果同时使用多个OpenGL上下文,并且它们都有工作负载,GPU或GPU驱动程序如何决定调度这些工作?我注意到Windows似乎优先处理活动窗口的OpenGL上下文(即活动窗口表现更好),挺有意思的…… 当多个OpenGL上下文…...
小白上手RPM包制作
目录 rpm常用命令 安装环境-Ruby 安装环境-fpm 关于服务器 打包-打包二进制工程 .fpm配置文件 打包-打没有文件的包 RPM 包微调 命令行参数 fpm --help RPM 签名 打包-制作NGINX的RPM包 关于rpmbuild 简单使用 打包之前的准备工作 rpmbuild 打包 - sniproxy …...
电商热销榜的5种实现方案
文章目录 1. MySQL 聚合查询:传统统计法2. Redis Sorted Set:内存排行榜3. Elasticsearch 实时聚合:搜索专家4. 缓存异步更新:榜单的幕后推手5. 大数据离线批处理:夜间魔法师 博主介绍:全网粉丝10w、CSDN合…...
车载诊断进阶篇 --- 车载诊断概念
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界噪音的通透淡然。 生活中有两种人,一种人格外在意别人的眼光;另一种人无论…...
AD 多层线路及装配图PDF的输出
装配图的输出: 1.点开‘智能PDF’ 2. 设置显示顶层: 设置显示底层: 多层线路的输出 同样使用‘智能PDF’...
FramePack - 开源 AI 视频生成工具
🎬 项目简介 由开发者 lllyasviel 创建的一个轻量级动画帧处理工具库,专门用于游戏开发、动画制作和视频处理中的帧序列打包与管理。该项目采用高效的算法实现,能够显著提升动画资源的处理效率。 此 AI 视频生成项目,旨在通过低显…...
“this”这个关键字
一、什么是“this”? 简单来说,“this”是每个非静态成员函数隐含的指针,它指向调用该成员函数的那个对象本身。 换句话说,当你调用对象的方法时,编译器会自动传入一个指针,指向你调用的“那个对象”&…...
问题处理——在ROS2(humble)+Gazebo+rqt下,无法显示仿真无人机的相机图像
文章目录 前言一、问题展示二、解决方法:1.下载对应版本的PX42.下载对应版本的Gazebo3.启动 总结 前言 在ROS2的环境下,进行无人机仿真的过程中,有时需要调取无人机的相机图像信息,但是使用rqt,却发现相机图像无法显示…...
广度和深度优先搜索(BFS和DFS)
1. 广度和深度优先搜索(BFS和DFS) 1.1. Python实现BFS和DFS from collections import dequeclass Graph:"""无向图类,支持添加边,并实现了 BFS(广度优先搜索)和 DFS(深度优先搜…...
React和Vue在前端开发中, 通常选择哪一个
React和Vue的选择需结合具体需求: 选React的场景 大型企业级应用,需处理复杂状态(如电商、社交平台)团队熟悉JavaScript,已有React技术栈积累需要高度灵活的架构(React仅专注视图层,可自由搭配…...
Vue3学习(组合式API——reactive()和ref()函数详解)
目录 一、reactive()函数。 (1)介绍与使用。 (2)简单案例演示。 二、ref()函数。 (1)介绍与使用。 (2)简单案例演示。 <1>ref()函数获取响应式对象的本质与底层。 <2>基…...
数据结构 -- 树形查找(一)二叉排序树
二叉排序树 二叉排序树的定义 二叉排序树,又称二叉查找树 一棵二叉树或者是空二叉树,或者是具有以下性质的二叉树: 左子树上所有结点的关键字均小于根结点的关键字 右子树上所有结点的关键字均大于根结点的关键字 左子树和右子树又各是…...
【实战教程】从零实现DeepSeek AI多专家协作系统 - Spring Boot+React打造AI专家团队协作平台
🚀 本项目是DeepSeek大模型应用系列的V3版本,基于V1和V2版本的功能进行全面升级,引入了多智能体协作机制! 系列教程推荐阅读顺序: 【V1版本】零基础搭建DeepSeek大模型聊天系统 - Spring BootReact完整开发指南【V2版本…...
React事件机制
React事件机制 React 的事件机制是其实现高效、跨浏览器交互的核心系统,它通过 合成事件(SyntheticEvent)、事件委托(Event Delegation)、事件冒泡(Bubbling) 和 事件派发(Dispatch…...
LeetCode 45. 跳跃游戏 II(中等)
给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向后跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i j] 处: 0 < j < nums[i] i j < n 返回到达 nums[n - 1] 的最…...
LeetCode 热题 100 437. 路径总和 III
LeetCode 热题 100 | 437. 路径总和 III 大家好,今天我们来解决一道经典的二叉树问题——路径总和 III。这道题在 LeetCode 上被标记为中等难度,要求计算二叉树中节点值之和等于给定目标值 targetSum 的路径数目。 问题描述 给定一个二叉树的根节点 ro…...
力扣.1471数组的k个最强值,力扣.1471数组的k个最强值力扣1576.替换所有的问号力扣1419.数青蛙编辑力扣300.最长递增子序列
目录 力扣.1471数组的k个最强值 力扣1576.替换所有的问号 力扣1419.数青蛙编辑 力扣300.最长递增子序列 力扣.1471数组的k个最强值 class Solution {public static int[] getStrongest(int[] arr,int k) {if(karr.length){return arr;}int []retnew int[k];int narr.lengt…...
使用itextsharp5.0版本来合并多个pdf文件并保留书签目录结构
using System; using System.Collections.Generic; using System.IO; using iTextSharp.text; using iTextSharp.text.pdf;public class PdfMergeUtility {/// <summary>/// 合并多个PDF文件并保留书签目录结构/// </summary>/// <param name"inputFiles&q…...
2025-5-15Vue3快速上手
1、setup和选项式API之间的关系 (1)vue2中的data,methods可以与vue3的setup共存 (2)vue2中的data可以用this读取setup中的数据,但是反过来不行,因为setup中的this是undefined (3)不建议vue2和vue3的语法混用…...
Kafka消费者分组机制深度解析
一、集群协调者 1.1 GroupCoordinator的元数据管理 每个Broker内置的GroupCoordinator实例通过哈希算法确定消费者组的归属权。其内存模型维护三个核心数据结构: 成员注册表:采用跳表结构存储消费者ID与心跳时间戳,支持快速查询和过期检测…...
Python 类变量与实例变量完全指南:区别、使用场景及常见陷阱
类变量与实例变量的区别总结 代码示例 class Example:class_var "我是类变量,所有实例共享我" # 类变量def __init__(self, name):self.name name # 实例变量,每个实例独有def modify_class_var(self, new_value):Example.class_var ne…...
Ubuntu Linux bash的相关默认配置文件内容 .profile .bashrc, /etc/profile, /etc/bash.bashrc等
文章目录 文件的source顺序/etc/profile:系统级配置/etc/bash.bashrc:bash终端的系统级配置~/.profile:用户级配置~/.bashrc bash:终端的主要配置~/.bash_logout:bash终端登出时清理 建议的额外配置: 安装 …...
redis解决常见的秒杀问题
title: redis解决常见的秒杀问题 date: 2025-03-07 14:24:13 tags: redis categories: redis的应用 秒杀问题 每个店铺都可以发布优惠券,保存到 tb_voucher 表中;当用户抢购时,生成订单并保存到 tb_voucher_order 表中。 订单表如果使用数据…...
Springboot3自定义starter笔记
场景:抽取聊天机器人场景,它可以打招呼。 效果:任何项目导入此 starter 都具有打招呼功能,并且问候语中的人名需要可以在配置文件中修改。 创建自定义 starter 项目,引入 spring-boot-starter 基础依赖。 <dependen…...
Modern C++(一)基本概念
1、基本概念 1.1、注释 注释在翻译阶段3会被替换为单个空白字符从程序中移除 1.2、名字与标识符 标识符是一个由数字、下划线、大小写字符组成的任意长度序列。有效的标识符首个字符必须是以A-Z、a-z、下划线开头,。有效的标识符其他字符可以是0-9、A-Z、a-z、下…...
Apache HttpClient 5 用法-Java调用http服务
Apache HttpClient 5 核心用法详解 Apache HttpClient 5 是 Apache 基金会推出的新一代 HTTP 客户端库,相比 4.x 版本在性能、模块化和易用性上有显著提升。以下是其核心用法及最佳实践: 一、添加依赖 Maven 项目: <dependency><…...
Python中plotext 库详细使用(命令行界面中直接绘制各种图形)
更多内容请见: python3案例和总结-专栏介绍和目录 文章目录 plotext概述1.1 plotext介绍1.2 安装二、基本用法2.1 简单绘图2.2 散点图2.3 折线图2.4 条形图2.5 直方图2.6 标题和坐标轴标签2.7 网格和坐标轴2.8 颜色和样式2.9 多图叠加三、高级功能3.1 多图绘制3.2 对数坐标3.3…...
【Java Web】速通JSON
参考笔记:JavaWeb 速通JSON_java webapi调用传json与head-CSDN博客 目录 1.JSON基本介绍 2.JSON串的格式 3.JSON在客户端/浏览器的使用 3.1 JavaScript对象和JSON串的相互转换 3.2 案例演示 4.JSON在服务端的使用 4.1 基本说明 4.2 应用场景 4.2.1 JSON字…...
Ubuntu 20.04 LTS 中部署 网页 + Node.js 应用 + Nginx 跨域配置 的详细步骤
Ubuntu 20.04 LTS 中部署 网页 Node.js 应用 Nginx 跨域配置 的详细步骤 一、准备工作1、连接服务器2、更新系统 二、安装 Node.js 环境1、安装 Node.js 官方 PPA(用于获取最新稳定版):2、安装 Node.js 和 npm(LTS 长期支持版本…...
java中XML的使用
文章目录 什么是XML特点XML作用XML的编写语法基本语法特殊字符编写 约束XML的书写格式DTD文档schema文档属性命名空间XML命名空间的作用 解析XML的方法DOM解析XMLDOM介绍DOM解析包:org.w3c.dom常用接口DOM解析包的使用保存XML文件添加DOM节点修改/删除DOM节点 S…...
Spark SQL 之 Analyzer
Spark SQL 之 Analyzer // Special case for Project as it supports lateral column alias.case p: Project =>val resolvedNoOuter = p.projectList.map(resolveExpressionByPlanChildren(_, p...
Java - Junit框架
单元测试:针对最小的功能单元(方法),编写测试代码对该功能进行正确性测试。 Junit:Java语言实现的单元测试框架,很多开发工具已经集成了Junit框架,如IDEA。 优点 编写的测试代码很灵活,可以指某个测试方法…...
麒麟系统ARM64架构部署mysql、jdk和java项目
麒麟系统ARM64架构部署mysql、jdk和java项目 一、mysql8的安装 操作步骤: 先下载mysql安装包 下载地址:https://downloads.mysql.com/archives/community/ 由于官网里,mysql5.7以及更低版本不支持arm版本的,只能安装mysql8。…...
修复“ImportError: DLL load failed while importing lib: 找不到指定的程序”笔记
#工作记录 一、问题描述 在运行CosyVoice_For_Windows项目时,出现以下报错: Traceback (most recent call last): File "D:\ProgramData\anaconda3\envs\CosyVoice\Lib\pydoc.py", line 457, in safeimport module __import__(path) …...
vllm量化03—INT4 W4A16
本系列基于Qwen2.5-7B,学习如何使用vllm量化,并使用benchmark_serving.py、lm_eval 测试模型性能和评估模型准确度。 测试环境为: OS: centos 7 GPU: nvidia l40 driver: 550.54.15 CUDA: 12.3本文是该系列第3篇——INT4 W4A16 一、量化 f…...
VScode各文件转化为PDF的方法
文章目录 代码.py文件.ipynb文本和代码夹杂的文件方法 1:使用 VS Code 插件(推荐)步骤 1:安装必要插件步骤 2:安装 `nbconvert`步骤 3:间接导出(HTML → PDF)本文遇见了系列错误:解决方案:问题原因步骤 1:降级 Jinja2 至兼容版本步骤 2:确保 nbconvert 版本兼容替代…...
AI日报 · 2025年5月15日|GPT-4.1 登陆 ChatGPT
AI日报 2025年5月15日|GPT-4.1 登陆 ChatGPT 1、OpenAI 在 ChatGPT 全面开放 GPT-4.1 与 GPT-4.1 mini 北京时间 5 月 14 日晚,OpenAI 在官方 Release Notes 中宣布:专为复杂代码与精细指令场景打造的 GPT-4.1 正式加入 ChatGPT࿰…...
高效管理多后端服务:Nginx 配置与实践指南
在现代的 Web 开发和运维中,一个系统往往由多个后端服务组成,每个服务负责不同的功能模块。例如,一个电商网站可能包括用户服务、订单服务和支付服务,每个服务都运行在独立的服务器或容器中。为了高效地管理这些服务并提供统一的访…...
从代码学习深度学习 - 实战 Kaggle 比赛:图像分类 (CIFAR-10 PyTorch版)
文章目录 前言1. 读取并整理数据集1.1 读取标签文件1.2 划分训练集和验证集1.3 整理测试集1.4 执行数据整理2. 图像增广2.1 训练集图像变换2.2 测试集(和验证集)图像变换3. 读取数据集3.1 创建 Dataset 对象3.2 创建 DataLoader 对象4. 定义模型4.1 获取 ResNet-18 模型4.2 损…...