回归测试的几种方法

回归测试,是对修复Bug后的软件进行验证,确保所有缺陷得到修复,并且没有引入新的Bug。

如果确保缺陷得到修复,那么只需要执行发现缺陷的测试用例,但这样不能排除引入新的Bug;而如果把所有测试用例都执行一遍,可以确保没有新的Bug,但这样做又需要大量的测试工作量,可能代价太大。

所以,回归测试需要讲究方法、策略。

以下是两种回归测试方法介绍。

  1. 基于用例的回归测试方法

基于用例的回归测试方法又可分为全部回归、影响分析回归、全部回归与影响分析回归结合以及巩固回归四类。

  • 全部回归

顾名思义,全部回归就是把所有用例重新再执行一遍,这种回归基本没有风险,但是成本很高。当测试用例数目庞大,且软件版本不稳定时,即使是实现了自动化测试,结果也不会尽如人意。所以全部回归的策略可以用,但要少用,要用在关键点上。

  • 影响分析回归

影响分析回归是指通过变更影响分析,将变更点及受其影响的功能点所对应测试用例全部挑选出来进行回归。相较于全部回归,这种回归方法执行的用例较少,效率很高,但风险较大。如果影响分析不准确、不充分。可能会遗漏新的Bug。

为了降低风险,可以使用黑盒与白盒结合的分析方法:首先站在黑盒角度,找出变更点对应的业务,以及系统中与它关联的业务,画出业务功能的影响关系图,通过图中的影响业务收集回归测试用例;然后站在白盒角度,画出变更点的模块与模块之间、函数与函数之间的依赖图,从依赖关系中找出必测路径,对黑盒角度分析得来的回归测试用例查漏补缺。

  • 影响分析回归与全部回归相结合

如果软件开发一直在进行版本迭代,频繁提交的版本中会不断增加新功能,理想情况下除了测试新功能外还需验证原来的功能,但在进度紧张时这样做是不现实的。但如果一直到最后才进行全部回归,工作量将非常庞大,而且风险也很大。采取影响分析回归与全部回归相结合的方法,就是在小阶段进行影响分析回归,大阶段进行全部回归,最后在软件交付前再进行全部回归,以降低Bug没有及时发现的风险,同时也能减少过度测试,

  • 巩固性回归

巩固性回归是在更改很小,基本不会影响原有功能的情况下,选择变更点对应的测试用例以及常用功能和重要功能的测试用例进行回归。它适合于更改很小的补丁发布版本。

  1. 基于Bug的回归测试方法

基于Bug的回归测试方法也有彻底回归版本的Bug和回归缺陷库中所有Bug两种类型。

  • 彻底回归版本的Bug

软件修复Bug后,要确保这个Bug得到解决,并且没有引入新的Bug并不容易。做好以下三件事有助于达成这个目标:

(1)记录Bug是如何修改的

开发人员修复Bug前应记录“Bug解决方案”、“影响分析”、“测试建议”等内容,指明更改对本模块、其他模块的影响,具体更改内容,以及给测试提出建议。

(2)开发人员确认Bug被更改

开发人员修复Bug后,先验证Bug更改的有效性,再提交给测试。

(3)记录Bug是如何回归的

测试人员完成回归测试后,应做好回归路径的记录。

  • 回归缺陷库中的全部Bug

几乎有测试实战经验的朋友都遇到过,并不是缺陷库中每一个Bug都有测试用例对应的。因为有些Bug可能不是软件本身的缺陷导致的,而是受相关环境的影响导致偶然出现的。所以在软件交付前可以对缺陷库中所有的Bug回归一遍,验证是否仍存在。根据经验,这些Bug重新打开率在0.5%~1%左右。

总之,要达到回归测试的有效性、充分性,又有较高的效率,选择合适的回归测试方法很重要。

 行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/593341.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

fatal: fetch-pack: invalid index-pack output

解决方案:git clone --depth1 要克隆的git地址 下载最近一次提交的代码 其他分支的内容都不下载 这样整体下载体量就变小了 执行命令:git clone --depth 1 https://gitlab.scm321.com/ufx/xxxx.git

交叉导轨维护和保养的方法!

交叉导轨系统作为一种常见的机械传动装置,广泛应用于各种精密机械设备中。为了确保交叉导轨系统的正常运行和延长其使用寿命,定期维护和保养是至关重要的。 1、清洁:定期清理交叉导轨表面的灰尘、油污等杂质,保持其清洁。在清理过…

【LinuxC语言】setitimer与getitimer函数

文章目录 前言一、setitimer() 函数二、getitimer() 函数三、示例代码总结 前言 在Linux系统下,编写程序时经常需要使用定时器来实现一些定时任务、超时处理等功能。setitimer() 和 getitimer() 函数是两个用于操作定时器的重要函数。它们可以帮助我们设置定时器的…

5月1日江苏某厂冷却塔清洗工作汇报-智渍洁

日期:5月1日 施工人员:张能超,张伟,刘平,曾巧 地点:江苏**** 事项:空冷器清洗 今日工作:设备安装完成,泡了三台 5月1日江苏某厂冷却塔清洗工作汇报 - 重庆智渍洁环保科技…

二进制,八进制,十六进制转十进制 c++

紧接着十进制转二进制,八进制,十六进制-CSDN博客这篇文章 输入一个二进制,八进制的数,怎样能转化为十进制呢? 原理如下: K进制转十进制 按权相加法展开成一个多项式,每项是该位的数码与相应…

【kettle006】kettle访问华为openGauss高斯数据库并处理数据至execl文件(已更新)

1.一直以来想写下基于kettle的系列文章,作为较火的数据ETL工具,也是日常项目开发中常用的一款工具,最近刚好挤时间梳理、总结下这块儿的知识体系。 2.熟悉、梳理、总结下华为openGauss高斯数据库相关知识体系 3.欢迎批评指正,跪谢…

2024年汉字小达人活动还有5个月开赛:来做18道历年选择题备考吧

距离2024年第11届汉字小达人比赛还有四个多月的时间,如何利用这段时间有条不紊地备考呢?我的建议是两手准备:①把小学1-5年级的语文课本上的知识点熟悉,重点是字、词、成语、古诗。②把历年真题刷刷熟,这对了解汉字小达…

任何人都可做的兼职副业,一单29.9元,利润70%的怀旧游戏项目

偶然发现一个博主正在直播玩一款经典的俄罗斯方块游戏机。这款游戏机年代久远,勾起了我对学生时代的无尽回忆。 那时,看到同学们玩这款游戏,我总是心生羡慕。为了能拥有一台自己的游戏机,我曾节衣缩食,悄悄攒钱购买。…

C++类定义时成员变量初始化

在C11中允许在类定义时对成员变量初始化。 class A { public:A() { }void show(){cout << "m_a " << m_a << endl;cout << "m_b " << m_b << endl;} private:int m_a 10;//类定义时初始化int m_b; //没有初始化…

CP,FT,WAT有什么区别?

‍ 知 识星球&#xff08;星球名&#xff1a; 芯片制造与封测社区&#xff0c;星球号&#xff1a; 63559049&#xff09;里的学员问&#xff1a; CP,FT,WAT都是与 芯片的测试有关&#xff0c;他们有什么区别呢&#xff1f; 如何区‍分&#xff1f; ‍ ‍ CP,FT,WAT分别…

MySQL LRU算法(冷热数据分离)

背景 MySQL中使用的InnoDB存储引擎采用了一种特别的最近最少使用&#xff08;LRU, Least Recently Used&#xff09;算法来管理其Buffer Pool中的页&#xff08;包括数据页和索引页&#xff09;。Buffer Pool是InnoDB用来缓存数据&#xff0c;以减少磁盘I/O操作的内存区域。正…

python数据分析中数据可视化简单入门

1.折线图表 首先引入相关包pyecharts&#xff0c;如果没下载可以先下载 pip install pyecharts from pyecharts.charts import Lineline Line() # 添加x轴 line.add_xaxis([呱了个呱,羊村,牟多,蜂地,喵帕斯]) # 添加y轴 line.add_yaxis("GDP",[50,30,40,34,63,22])…

Jrebel 最新的 2023.4 、 2024.1 激活方法

Idea Jrebel 插件安装 在线激活 &#xff08;推荐&#xff09; 访问&#xff1a; https://www.jpy.wang/page/jrebel.html 在jrebel激活的时候填写相应的地址

逻辑漏洞:修改Response状态值导致的逻辑漏洞

目录 1、什么是respone状态值&#xff1f; 2、利用原理 3、PHPYUN人才招聘系统靶场演示 今天还是继续学习逻辑漏洞相关的知识&#xff0c;今天的主题是“修改Response状态值导致的逻辑漏洞”&#xff0c;今天的内容还是参考别的大佬总结好的&#xff0c;我只是在这里进行学习…

Linux系统配置JAVA环境

一、jar包下载 官网:https://www.oracle.com/java/technologies/downloads 二、文件上传 上传到linux服务器 解压 下面是解压的路径 三、修改profile文件 修改etc下的profile文件&#xff0c;添加以下内容 vim /etc/profileexport JAVA_HOME/root/java/jdk-17.0.11 expo…

ttkbootstrap界面美化系列之Meter(六)

Meter是计量表控件&#xff0c;在大数据统计类的界面设计中使用较多&#xff0c;本文将介绍ttk中的Meter控件 一&#xff1a;Meter接口 print(help(ttk.Meter)) Help on class Meter in module ttkbootstrap.widgets:class Meter(tkinter.ttk.Frame)| Meter(masterNone, bo…

半监督节点分类:标签传播和消息传递

基础概念回顾 传统图机器学习的特征工程——节点层面&#xff0c;连接层面&#xff0c;全图层面 节点层面&#xff1a;信用卡欺诈 连接层面&#xff1a;推荐可能认识的人 全图层面&#xff1a;预测分子结构 半监督节点分类 半监督节点分类&#xff1a;用已知标签节点预测未…

推荐书单|提升境界、思维能力

1、《别做正常的傻瓜》 豆瓣评分&#xff1a;8.1 通过揭示人们在日常生活中常见的非理性行为&#xff0c;引导读者认识并克服这些行为&#xff0c;从而做出更明智的决策。 2、《活法》 豆瓣评分&#xff1a;8.1 稻盛和夫分享其人生哲学和经营哲学的著作&#xff0c;强调了正确…

【MATLAB】解决不同版本MATLAB出现中文乱码的问题

解决不同版本MATLAB出现中文乱码的问题 方法1&#xff1a;更改保存类型为GBK方法2&#xff1a;记事本打开方法3&#xff1a;Notepad参考 低版本matlab打开高版本Matlab的.m文件时&#xff0c;出现中文乱码问题。比如下图&#xff1a; 出现原因为&#xff1a; 编码格式不统一问…

深度学习之基于Unet肺部CT图像分割项目

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 肺部CT图像分割在医学诊断中占据重要地位&#xff0c;它有助于医生快速、准确地识别和分析肺部病变。…
最新文章