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

回归测试详解

🍅 视频学习:文末有免费的配套视频可观看

🍅 关注公众号:互联网杂货铺,回复1 ,免费获取软件测试全套资料,资料在手,涨薪更快

什么是回归测试

回归测试(Regression testing) 指在发生修改之后重新测试先前的测试以保证修改的正确性。理论上,软件产生新版本,都需要进行回归测试,验证以前发现和修复的错误是否在新软件版本上再次出现。

基本策略

回归测试的策略一般由测试经理或测试组长制定,初级软件测试人员只要按相应的策略执行测试即可。现以XYC邮箱的测试为例,简要介绍一下回归测试的基本策略。

(1)回归测试时执行全部的测试用例。

XYC邮箱V1.0版本的第一轮测试中发现100个Bug,那么在第二轮的回归测试中,除了测试这100个Bug之外,其他所有功能点的测试用例需要重新再执行一遍,这样做的原因在于,回归测试的V1.1版本是在修改了V1.0版本存在的100个Bug的基础上建立起来的。由于修复了大量的Bug,这就意味着要改动大量的代码,当多处代码被改动后谁也不能保证其他功能点不受影响,所以对所有的功能点进行测试是比较保险的,也是比较周密的,不会遗漏任何的测试点。使用此策略的时间周期和人力成本也是比较高的,一般情况下,当第一轮测试发现的Bug数量过多的情况下,第二轮回归测试应该执行全部的测试用例。

(2)选择重要的功能点、常用的功能点、与Bug相关联的功能点进行回归测试。

XYC邮箱的第二轮回归测试中又发现了40个Bug,那么在第三轮的回归测试过程中,除了要测试这40个Bug之外,还应当把重要的功能点、常用的功能点、与Bug相关联的功能点的测试用例再执行一遍,其他次要的测试用例可在时间充足的情况下选择性执行。

(3)选择性执行关键功能点的测试用例。

XYC邮箱的第三轮回归测试中又发现了12个Bug,那么在第四轮的回归测试过程中,除了测试这12个Bug之外,还可以选择性地执行一些关键功能点的测试用例,其他测试用例可在时间充足的情况下选择性执行。

(4)仅测试出现Bug的功能点。

如果测试组认为软件的功能点已经十分稳定了,回归测试的时候可选择仅测试出现Bug的功能点。每个策略都有其适应的场景,不能一概而论,应当以Bug的数量和严重程度为导向,深入分析,然后得出适合本项目的回归测试策略。

回归测试是在系统测试人员完成了需求评审、测试计划、用例设计、环境搭建、Bug提交等关键性的测试工作之后所要开展的工作,可以说此时的测试人员已经完全融入测试体系当中,也完全可以胜任相应的测试工作了。至于回归测试的策略,初级软件测试人员可通过先学习测试经理制定的策略,再从执行回归测试策略过程中进一步提升自己的测试经验。

对Bug起争议时的处理

测试人员和开发人员因Bug起争议的事情常有发生,例如开发人员认为这不算是一个Bug,或认为这个Bug不重要,不需要修改,而测试人员认为这是一个很严重的Bug,需要开发人员修改,或因其他原因起了争议等。如果出现了这些情况,测试人员应如何处理呢?

(1)任何争议都需要“对事不对人”,不能因为Bug而激化了双方的矛盾。

(2)有很多初级软件测试人员提交的Bug单流转到开发人员那里后,开发人员看不懂。原因在于测试人员提交的Bug单没有描述清楚,这是一个非常常见的现象。测试人员提交的Bug单一定要描述清楚,并需要有充足的依据和理由。

(3)如果Bug单写清楚了,但开发人员还是不愿意修改的话,可以找一个合适的时间,心平气和地与开发人员沟通,说明此Bug对产品质量可能产生的不良影响,测试人员在沟通过程中不能意气用事。

(4)经沟通后,如果开发人员还是不愿意修改的话(当然开发人员不修改也有他们的原因),那么此时可以向测试经理汇报这一情况,由测试经理出面解决,或是由测试经理召开Bug评审大会(开发人员、测试人员、产品经理三方人员参与,有时也包括项目经理),共同定夺。

(5)有些初级软件测试人员把Bug提交到开发人员那后,经过开发人员的各种解释,就会同意开发人员的意见,也认为这确实不是一个Bug,从而忽略这个问题,这也是经常发生在初级软件测试人员身上的事情。这就要求测试人员提交Bug的过程要有原则性,这也是作为一名合格的测试人员最重要的特征之一,对待问题需要坚持原则。

(6)测试人员应和开发人员面对面或通过电子邮件、电话等方式保持密切沟通,共同协商和处理Bug,以减少两者间的隔膜,增加测试人员与开发人员之间的信任和了解。直接沟通也应贯穿到产品开发、测试的每个环节当中。

同时,在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接【点击文末小卡片免费领取资料文档】

【全600集】少走99%的弯路!字节大佬耗费15天录制的软件测试教程,手把手教学,通俗易懂!0基础小白快速进阶大神,无私分享,拿走不谢!赶紧学起来!

相关文章:

回归测试详解

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号:互联网杂货铺,回复1 ,免费获取软件测试全套资料,资料在手,涨薪更快 什么是回归测试 回归测试(Regression testi…...

渲染效果图有哪几种分类?效果图为什么用云渲染更快

云渲染利用了集群化的云端服务器资源,通过并行计算充分发挥了高性能硬件的优势,显著提升了渲染的速度。这一技术特别适用于处理规模庞大或细节丰富的渲染任务,在缩短项目完成时间方面表现卓越。无论是用于为建筑提供精确的可视化效果图&#…...

Docker镜像加速

前言 众所周知,我们常用的一些工具或系统的下载源都是国外的,这就会导致我们在下载一些东西时,会导致下载巨慢或者下载失败的情况,下面便是docker换下载源的教程 镜像加速 下面是几个常用的国内的镜像 科大镜像:ht…...

吴恩达deeplearning.ai:sigmoid函数的替代方案以及激活函数的选择

以下内容有任何不理解可以翻看我之前的博客哦:吴恩达deeplearning.ai专栏 文章目录 引入——改进下需求预测模型ReLU函数(整流线性单元 rectified linear unit)线性激活函数(linear activation function)激活函数的选择实现方式为什么需要激活函数 到现在…...

Alias许可分析中的数据可视化

Alias许可分析中的数据可视化:引领企业洞察合规之道的明灯 在信息化时代,数据可视化已成为各行各业的重要工具,能够帮助用户直观地理解和分析复杂的数据。在Alias许可分析中,数据可视化同样发挥着至关重要的作用,为企…...

【计算机网络】数据链路层--以太网/MTU/ARP/RARP协议

文章目录 一、以太网1.以太网帧格式2.MAC地址3.局域网的转发原理 二、MTU1.什么是MTU2.MTU对IP协议的影响3.MTU对UDP影响4.MTU对于TCP协议的影响 三、ARP协议1.ARP协议的作用2.ARP数据报的格式3.ARP协议的工作流程 一、以太网 “以太网” 不是一种具体的网络, 而是一种技术标准…...

typescript使用解构传参

看下面这个函数 interface Student {id: number;name: string;class: string;sex: string;}function matriculation(student: Student) {//...}我们要调用它,就需要传递一个实现了Student约束的对象进去 interface Student {id: number;name: string;class: string;sex: string…...

CSP-J 2023 复赛第4题:旅游巴士

【题目来源】https://www.luogu.com.cn/problem/P9751https://www.acwing.com/problem/content/description/5313/【题目描述】 小 Z 打算在国庆假期期间搭乘旅游巴士去一处他向往已久的景点旅游。 旅游景点的地图共有 n 处地点,在这些地点之间连有 m 条道路。 其中…...

JAVA算法和数据结构

一、Arrays类 1.1 Arrays基本使用 我们先认识一下Arrays是干什么用的,Arrays是操作数组的工具类,它可以很方便的对数组中的元素进行遍历、拷贝、排序等操作。 下面我们用代码来演示一下:遍历、拷贝、排序等操作。需要用到的方法如下 public…...

每日五道java面试题之spring篇(七)

目录: 第一题. 什么是Spring beans?第二题. 一个 Spring Bean 定义 包含什么?第三题. 如何给Spring 容器提供配置元数据?Spring有几种配置方式?第四题. Spring基于xml注入bean的几种方式?第五题:你怎样定义类的作用域…...

Keil编译GD32工程时找不到lib库文件

D:\Keil5\ARM\ARMCLANG\Bin\..\lib\armlib\mc_p.l:SELECTION_SCRIPT(2974): error: L6907E: Expected an expression. 问题 解决方法:因为编译器没有找到那个函数的代码,也就未解析了 其实问题很简单,把你的lib文件加进去,ok了…...

测试C#使用ViewFaceCore实现图片中的人脸遮挡

基于ViewFaceCore和DlibDotNet都能实现人脸识别,准备做个遮挡图片中人脸的程序,由于暂时不清楚DlibDotNet返回的人脸尺寸与像素的转换关系,最终决定使用ViewFaceCore实现图片中的人脸遮挡。   新建Winform项目,在Nuget包管理器中…...

2.21 Qt day2 菜单栏/工具栏/状态栏/浮动窗口、UI界面、信号与槽

思维导图 使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin",…...

300分钟吃透分布式缓存-16讲:常用的缓存组件Redis是如何运行的?

Redis 基本原理 Redis 简介 Redis 是一款基于 ANSI C 语言编写的,BSD 许可的,日志型 key-value 存储组件,它的所有数据结构都存在内存中,可以用作缓存、数据库和消息中间件。 Redis 是 Remote dictionary server 即远程字典服务…...

上一篇文章补充:已经存在的小文件合并

对于HDFS上已经存在的大量小文件问题,有多种策略可以进行处理和优化: 1. **合并小文件**: - **使用Spark作业合并**:通过编写Spark程序读取小文件并调用repartition()或coalesce()函数重新分区数据,然后将合并后的…...

代码随想录训练营第三十期|第四十三天|动态规划 part05|1049. 最后一块石头的重量 II ● 494. 目标和 ● 474.一和零

1049. 最后一块石头的重量 II - 力扣&#xff08;LeetCode&#xff09; class Solution {public int lastStoneWeightII(int[] stones) {int sum 0;for (int n : stones) {sum n;}int target sum / 2;int[] dp new int[target 1];for (int i 0; i < stones.length; i…...

c++学习记录 string容器—字符串插入和删除

函数原型&#xff1a; string& insert(int pos,const char* s); //插入字符串string& insert(int pos,const string& str); //插入字符串string& insert(int pos,int n,char c); //在指定位置插入n个字符cstring&…...

【IEEE会议征稿】2024年第九届智能计算与信号处理国际学术会议(ICSP 2024)

2024年第九届智能计算与信号处理国际学术会议&#xff08;ICSP 2024&#xff09; 2024年第八届智能计算与信号处理国际学术会议&#xff08;ICSP 2024&#xff09;将在西安举行&#xff0c; 会期是2024年4月19-21日&#xff0c; 为期三天, 会议由西安科技大学主办。 欢迎参会&…...

【电机仿真】HFI算法脉振高频电压信号注入观测器-PMSM无感FOC控制

【电机仿真】HFI算法脉振高频电压信号注入观测器-PMSM无感FOC控制 文章目录 前言一、脉振高频电压注入法简介&#xff08;注入在旋转坐标系的d轴&#xff09;1.旋转高频电压&#xff08;电流&#xff09;注入法2.脉振高频电压注入法 二、高频注入理论1.永磁同步电机的高频模型2…...

Java学习——集合框架

Java集合框架&#xff08;Java Collections Framework&#xff09;是一套性能优良、使用方便的接口和类的集合&#xff0c;它位于java.util包下。这个框架包含了一系列集合接口的标准实现&#xff0c;比如列表、集合、队列&#xff0c;以及映射。使用这些集合&#xff0c;你可以…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间&#xff0c; 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点&#xff0c;不需要开启数据库闪回。…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道

文/法律实务观察组 在债务重组领域&#xff0c;专业机构的核心价值不仅在于减轻债务数字&#xff0c;更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明&#xff0c;合法债务优化需同步实现三重平衡&#xff1a; 法律刚性&#xff08;债…...

​​企业大模型服务合规指南:深度解析备案与登记制度​​

伴随AI技术的爆炸式发展&#xff0c;尤其是大模型&#xff08;LLM&#xff09;在各行各业的深度应用和整合&#xff0c;企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者&#xff0c;还是积极拥抱AI转型的传统企业&#xff0c;在面向公众…...

02.运算符

目录 什么是运算符 算术运算符 1.基本四则运算符 2.增量运算符 3.自增/自减运算符 关系运算符 逻辑运算符 &&&#xff1a;逻辑与 ||&#xff1a;逻辑或 &#xff01;&#xff1a;逻辑非 短路求值 位运算符 按位与&&#xff1a; 按位或 | 按位取反~ …...

python基础语法Ⅰ

python基础语法Ⅰ 常量和表达式变量是什么变量的语法1.定义变量使用变量 变量的类型1.整数2.浮点数(小数)3.字符串4.布尔5.其他 动态类型特征注释注释是什么注释的语法1.行注释2.文档字符串 注释的规范 常量和表达式 我们可以把python当作一个计算器&#xff0c;来进行一些算术…...

深入浅出JavaScript中的ArrayBuffer:二进制数据的“瑞士军刀”

深入浅出JavaScript中的ArrayBuffer&#xff1a;二进制数据的“瑞士军刀” 在JavaScript中&#xff0c;我们经常需要处理文本、数组、对象等数据类型。但当我们需要处理文件上传、图像处理、网络通信等场景时&#xff0c;单纯依赖字符串或数组就显得力不从心了。这时&#xff…...

[特殊字符] Spring Boot底层原理深度解析与高级面试题精析

一、Spring Boot底层原理详解 Spring Boot的核心设计哲学是约定优于配置和自动装配&#xff0c;通过简化传统Spring应用的初始化和配置流程&#xff0c;显著提升开发效率。其底层原理可拆解为以下核心机制&#xff1a; 自动装配&#xff08;Auto-Configuration&#xff09; 核…...

如何在Spring Boot中使用注解动态切换实现

还在用冗长的if-else或switch语句管理多个服务实现? 相信不少Spring Boot开发者都遇到过这样的场景:需要根据不同条件动态选择不同的服务实现。 如果告诉你可以完全摆脱条件判断,让Spring自动选择合适的实现——只需要一个注解,你是否感兴趣? 本文将详细介绍这种优雅的…...

在 Vue 的template中使用 Pug 的完整教程

在 Vue 的template中使用 Pug 的完整教程 引言 什么是 Pug&#xff1f; Pug&#xff08;原名 Jade&#xff09;是一种高效的网页模板引擎&#xff0c;通过缩进式语法和简洁的写法减少 HTML 的冗长代码。Pug 省略了尖括号和闭合标签&#xff0c;使用缩进定义结构&#xff0c;…...