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

【测试学习三】软件测试的生命周期 BUG的相关知识

目录

一、软件测试的生命周期(重要)

🍑1、软件的生命周期?

🍑2、软件测试的生命周期?

二、关于BUG

🍑1、如何描述与定义一个BUG?(了解)

🍑2、BUG的级别?

🍑3、BUG的生命周期?(重要)

🍑4、产生争执怎么办?(重要)


一、软件测试的生命周期(重要)

🍑1、软件的生命周期?

需求分析——>计划——>设计——>编码——>测试——>运营维护

(1)需求分析:分析需求是否正确,是否完整?需求量大不大?技术上能否实现或者说实现的难度?

(2)计划:项目什么时候开发?项目由谁做?什么时候测试?项目什么时候上线等?

(3)设计:

  • 开发人员设计项目底层如何实现,输出一个技术文档(详细的记录了软件技术上如何实现,接口,库表,定时任务等);
  •  测试人员设计测试用例 ;
  •  UI设计师:将需求文档转化为图片,UI视觉稿等;

(4)编码:开发人员参考需求文档和技术文档进行功能代码的编写,开发软件;测试人员设计测试工具,设计测试用例;

(5)测试:测试人员参考测试用例来执行测试,测试软件是否有BUG(注意测试用例是在测试前就编好的,要知道我们的测试是贯穿软件的整个生命周期);

(6)运行维护:将项目推到线上环境,如果发现线上Bug,此时需要修复,重新上线。

🍑2、软件测试的生命周期?

需求分析→测试计划→ 测试设计、测试开发→ 测试执行→ 测试评估。

(1)需求分析:测试人员了解需求,对需求进行分解,得出测试需求;

(2)测试计划:测试人员也要编写测试计划文档:由谁测试,用什么工具测试,什么时候开始测试,什么时候结束测试等;

(3)测试设计与开发:测试人员根据需求文档和技术文档来设计测试用例,开发测试工具,开发自动化测试用例

(4)测试执行

        此时开发已经完成,执行测试用例验证功能。在验证功能的过程中,可能会遇见软件功能与需求不相符的情况,也就是有BUG存在,这个时候测试人员就会将BUG交给开发人员,等到开发人员处理好之后,测试人员又继续对其验证。

(5)测试评估

        产出测试报告:

  • 写了多少测试用例,执行了多少测试用例? 剩余的测试用例为什么不执行完?
  • BUG的数量?已经解决的BUG数量? 遗留的BUG数量以及解决方案?
  • 还有此次测试的范围和测试功能等;        
  • prd:软件规格说明书


二、关于BUG

🍑1、如何描述与定义一个BUG?(了解)

(1)发现问题的版本:开发人员需要知道出现问题的版本,才能够获取对应版本的代码来重现故障。并且版本的标识也有利于统计和分析每个版本的质量。

(2)问题出现的环境:环境分为硬件环境和软件环境,如果是web项目,需要描述浏览器版本,客户机操作系统等,如果是app项目,需要描述机型、分辨率、操作系统版本等。详细的环境描述有利于故障的定位。

(3)错误重现的步骤:描述问题重现的最短步骤。
(4)预期行为的描述:要让开发人员知道怎么样才是正确的,尤其要以用户的角度来描述程序的行为是怎样的。如果是依据需求提出的故障,能写明需求的来源是最好的。

(5)错误行为的描述:描述错误的现象。可以上传log,截图等。

(6)其他:某些公司会有一些其他的要求,例如故障的分类:功能故障,界面故障,兼容性故障等。有些有优先级的分类,严重影响测试需要开发人员优先修改的,可以设置优先级为高。

(7)不要把多个bug放到一起:在无法确认是同一段代码造成的故障时,不要将bug放在一起提交。


举个栗子:

🍑2、BUG的级别?

bug的定义每个公司都不一致,在定义级别之前需要查看公司规范。

🍑3、BUG的生命周期?(重要)

无效的bug:open->closed 或 open-rejected-closed。

注意:Rejected和delay的BUG,必须要让相关负责人知道!

🍑4、产生争执怎么办?(重要)

作为一名测试人员,一般会遇到以下几种情况:

  • 这不是bug
  • 这个bug的级别太高了
  • bug影响不大,暂不修改

(1)先检查自身,是否bug描述不清楚;

(2)站在用户角度考虑问题 应该让开发人员了解到Bug对用户可能造成的困扰,这样才能促使开发人员更加积极地、高质量地修改Bug。在争执时,可以问一句:如果你是用户,你可以接受吗?

(3)BUG定级要有理有据,往往用户的BUG级别和我们的是有区别的,需站在用户的角度定考虑定位级别;

(4)提高自身的技术和业务水平,不光要提出问题, 最好也能提出解决方案;
(5)开发人员不接受时,不要争吵。

        可能你已经经过了多轮沟通,但是开发人员仍然拒不接受,此时可以发起Bug评审。Bug评审应该包括以下两个层面 :决定如何处理BUG,到底要不要修复BUG分析缺陷产生的原因,找出预防的对策。参加者一般是测试人员、开发人员和项目经理。


八月你好!

美好的一天又从清晨开始~🥰

相关文章:

【测试学习三】软件测试的生命周期 BUG的相关知识

目录 一、软件测试的生命周期(重要) 🍑1、软件的生命周期? 🍑2、软件测试的生命周期? 二、关于BUG 🍑1、如何描述与定义一个BUG?(了解) 🍑2…...

git rebase 的坑儿

1 同步远程仓库 git pull --rebase拉取远程分支之后如果没有冲突直接使用 git rebase --continue若有冲突, 解决冲突, 一般是使用当前的更改, 因为传入的更改是你本地的更改 然后使用 git add 提交冲突 此处千万别使用 git commit --amend 最后使用 git rebase --continu…...

SSM(Vue3+ElementPlus+Axios+SSM前后端分离)【四】

文章目录 SSM(Vue3ElementPlusAxiosSSM前后端分离)--基础环境搭建【四】项目介绍项目功能/界面● SSM 整合项目界面 创建表,使用逆向工程生成Bean、XxxMapper 和XxxMapper.xml1. 创建furns_ssm 数据库和furns 表使用MyBatis Generator 逆向工程生成bean mapper 接口…...

iPhone 8 Plus透明屏应用范围详解

iPhone 8 Plus是苹果公司于2017年推出的一款智能手机,它采用了全新的玻璃机身设计,支持无线充电,并且搭载了更强大的A11仿生芯片。 而透明屏则是一种新型的屏幕技术,可以使手机屏幕呈现出透明的效果。 透明屏是一种将屏幕背后的元…...

【前端面试手撕题】instanceof、Array.map、Array.filter、Array.reduce、_objectCreate

FED6 instanceof 描述 请补全JavaScript代码&#xff0c;要求以Boolean的形式返回第一个实例参数是否在第二个函数参数的原型链上。 <!DOCTYPE html> <html><head><meta charset"UTF-8"><style>/* 填写样式 */</style> </h…...

8.物联网操作系统之事件标志组

。事件标志组定义 FreeRTOS事件标志组介绍 FreeRTOS事件标志组工作原理 一。事件标志组定义 信号量信号量只能实现任务与单个事件或任务间的同步。但是某些任务可能会需要与多个事件或任务进行同步&#xff0c;此时就可以使用事件标志组来解决。事件标志组能够实现某个任务与…...

[腾讯云Cloud Studio实战训练营]无门槛使用GPT+Cloud Studio辅助编程完成Excel自动工资结算

目录 前言一、Cloud Studio产品介绍1.1 注册Cloud Studio 二、项目实验2.1 选择合适的开发环境2.2 实验项目介绍2.3 实验步骤三、总结 前言 chatgpt简单介绍: ChatGPT是一种基于GPT的自然语言处理模型&#xff0c;专门用于生成对话式文本。它是OpenAI于2021年发布的&#xff0…...

局域网ssh登录windows自带Linux系统(WSL)踩坑记录

局域网ssh登录windows自带Linux系统&#xff08;WSL&#xff09;踩坑记录 系统和工具安装查看IPLinux用户和端口设置Windows ssh 登录Mac ssh 登录 系统和工具安装 先按照网上的教程安装好Linux系统&#xff08;一般都是安装Ubuntu&#xff09;&#xff0c;安装好ssh等工具&am…...

2023-02-03——2023-08-03,半年以来与客服交流的记录【CSND 文章撰写 网站使用求解】客服咨询交流记录(长期更新ing)

这世界上久处不厌,都是因为用心。 🎯作者主页: 追光者♂🔥 🌸个人简介: 💖[1] 计算机专业硕士研究生💖 🌿[2] 2023年城市之星领跑者TOP1(哈尔滨)🌿 🌟[3] 2022年度博客之星人工智能领域TOP4🌟 🏅[4] 阿里云社区特邀专家博主🏅 🏆...

DCL 操作

文章目录 1.新建用户2.删除用户3.用户授权4.撤销用户权限5.查看用户权限6.修改用户密码 1.新建用户 # 命令格式 CREATE USER [username][host] identified by [password];# 示例 CREATE USER lvlvlocalhost identified by lvlv; CREATE USER lvlv192.168.1.1 identified by lv…...

C++11移动构造函数详解

C11移动构造函数详解 拷贝构造函数修改后的拷贝构造函数移动构造函数移动构造函数的优点 当类中同时包含拷贝构造函数和移动构造函数时&#xff0c;如果使用临时对象初始化当前类的对象&#xff0c;编译器会优先调用移动构造函数来完成此操作。只有当类中没有合适的移动构造函数…...

【力扣】19. 删除链表的倒数第 N 个结点 <链表指针、快慢指针>

【力扣】19. 删除链表的倒数第 N 个结点 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5] 示例 2&#xff1a; 输入&#xff1a;head [1], n…...

Vue3和typeScript路由传参

1 params传的参数&#xff0c;页面刷新就消失,而query传的参数&#xff0c;页面刷新还会存在&#xff0c;所以通常用query。 query传参 跳转页面&#xff1a;拿到router对象,调用push方法做跳转. import { useRoute,useRouter} from "vue-router"; export default…...

SQLserver数据库巡检脚本

SQL Server数据库巡检脚本的示例&#xff1a; #!/bin/bash# 设置SQL Server登录凭证 SQL_USER"your_username" SQL_PASSWORD"your_password"# 设置巡检结果输出文件路径 OUTPUT_FILE"/path/to/output.log"# 获取SQL Server版本信息 sql_version…...

Go Ethereum源码学习笔记 001 Geth Start

Go Ethereum源码学习笔记 前言[Chapter_001] 万物的起点: Geth Start什么是 geth&#xff1f;go-ethereum Codebase 结构 Geth Start前奏: Geth Consolegeth 节点是如何启动的NodeNode的关闭 Ethereum Backend附录 前言 首先读者需要具备Go语言基础&#xff0c;至少要通关菜鸟…...

idea如何加快创建Maven项目的速度

一、下载archetype-catalog.xml 下载archetype-catalog.xml的地址 二、配置 以下所说的配置都指全局配置。 配置Maven -DarchetypeCataloglocal -Dfile.encodinggbk...

软件外包开发的GO开发框架

近些年GO语言使用的越来越多&#xff0c;尤其是在web应用开发和高性能服务器的项目里。在开发新项目时掌握一些常用的开发框架可以节省开发时间提高工作效率&#xff0c;也是对软件开发人员基本的技能要求。今天和大家分享一些常见的GO语言开发框架&#xff0c;希望对大家有所帮…...

oracle会话打满

1.查看当前连接情况 col machine for a20 col program for a40 col sql_id for a20 set linesize 300 set pagesize 300 select machine,program,sql_id,count(1) from v$session group by machine,program,sql_id order by 4 desc;MACHINE PROGRAM SQL_ID …...

VSCode自定义闪烁光标

打开VSCode 组合键ctrlshiftp搜索"settings.json",打开User Settings 加上这一句 "editor.cursorStyle": "block","workbench.colorCustomizations": {"editorCursor.foreground": "#5c8fb1","terminalCurs…...

复亚智能打造全新云平台:让无人机任务管理更智能、更简单

复亚智能全新升级的MindView云平台&#xff0c;对航线规划、任务管理、自动飞行、数据管理等各个环节开展可视化、数字化、智能化监管&#xff0c;从任务到结果的“看得清”、“管得住”、“查得准”&#xff0c;带来更轻松的操作&#xff0c;改善作业效率、安全保障和用户体验…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...

初学 pytest 记录

安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...