回归测试覆盖率指的是什么?

定义

回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。

软件开发过程当中,一旦软件代码做了修改,就有可能引入新的问题,所以这个时候就需要把已经完成了的验证用例重新跑一下,以确保代码的修改没有对已经验证过的功能造成影响。我们把这一个过程叫做回归验证(也有人叫代码回归)。

  目的

  自动回归测试将大幅降低系统测试、维护升级等阶段的成本。

  方法

  1、单元测试 

  2、功能测试

  用例设计

(一)白盒技术 

  ⒈逻辑覆盖:⑴语句覆盖。⑵判定覆盖。⑶条件覆盖。⑸条件组合覆盖。⑹路径覆盖。 

  ⒉循环覆盖 

  ⒊基本路径测试:每个可执行语句至少执行一次 

(二)黑盒技术 

  1.等价类划分方法 是把所有可能的输入数据,划分成若干部分(子集)输入输出 

  2.边界值分析方法 

  3.错误推测方法 

  4.因果图方法 

  5.判定表驱动分析方法 

  6.正交实验设计方法 

  7.功能图分析方法

事例详解

代码的修改主要有几个方面:1、添加新的功能。2、修改现有代码中的功能。3、软件版本重构迭代更新等。 

这时需要回归发现问题,以保证BUG确实被设计人员修复了。但是开发人员在修复BUG的时候有可能理解的不够透彻,只修改了BUG的外在表现,而没有修复BUG的内在原因;也有可能是设计人员修复了一个BUG,却引入了另外一个BUG,使原本验证通过的用例不能通过。所以在回归的时候需要进行分析,针对此BUG是否需要增加新的用例,是否对原来已经验证过的用例有影响。这也是我们常常遇到的问题。【bug没修好,新bug却被引入】

另外当代码当中增加或者删除了一些功能的时候,也需要进行了回归。 

新代码加入的时候,除了新加入的代码当中有可能含有BUG之外,还有可能对原有的代码带来影响。当然删除代码的时候也有可能造成影响。因此,每当代码发生变化,我们就必须重新测试现有的功能,以便确定修改是否达到了预期的目的,检查修改是否损害了原有的正常功能。同时还需要补充新的测试用例来测试新的或被修改了的功能。

那么是不是说,每发现一个BUG,或者代码稍有修改,我们都要把原来已经测试通过的用例重新跑一遍呢?

我觉得没有必要。因为我们验证整个或者单个模块,有可能开发成百上千条用例。随着验证工作的进展,测试通过的用例会越来越多,如果在后期,每回归一次,可能就要跑成百上千条用例。而这一项工作需要很长的时间和资源,会对项目的整体进度造成影响。尤其是项目如果采用迭代开发的方法,设计人员逐次提交包含功能1,功能2,功能3…的代码。验证人员也是相应地完成功能1、2、3…的验证,不可能说在进行功能2的验证时,把功能1的验证用例回归一下;进行功能3的验证时,把功能1,2的用例再回归一下。当然如果可以,这样做是最好了。但是我们往往没有这么多的人员、时间和资源。所以每个在写单元测试是,单个模块或文件写一个测试用例文件,当修改局部功能只需测试该部分的文件即可。

一般地,我们在所有的功能都验证完成了之后,会把所有的验证用例进行回归一次。就这一次回归,也是需要很多时间和资源的。为了提高效率,需要开发一个回归脚本来完成这项工作。脚本需要具有自动完成验证用例的提交,自动统计回归结果等功能。在项目做持续集成时或大版本发布前也是需要整体测试,做好回归,做好代码覆盖率测试,以保证软件的质量和可靠性。

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

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取  

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue3中父子组件的传值问题

父子组件传值 在Vue3中如果想对子组件进行传值操作,则需要首先在const中定义多个响应式参数,必须记住的是,定义了响应式参数之后一定要在setup中return该参数,否则上面的template中不会识别,然后在template中定义 &l…

如何實現Apache HTTPS正向代理?

Apache是一款開源的、可高度定制的HTTP伺服器軟體,它位於客戶端和目標伺服器之間,用於從目標伺服器獲取資訊並將其返回給客戶端。它能提供各種功能,包括安全性、隱私性和數據壓縮。其中代理模組能夠支持正向代理和反向代理兩種模式。 而正向…

vue3+Ts+Ant Design Vue +天地图组件封装

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来Vue3TsAntDesign-Vue组件天地图组件的封装 示例图 首先,在index.html引入天地图资源,vue3选择v4版本 <script src"http://api.tianditu.gov.cn/api?…

【蓝桥杯每日一题】4.8 公约数

题目来源&#xff1a; 4199. 公约数 - AcWing题库 问题描述&#xff1a; ​ 找到最大整数x&#xff0c;需满足下面两个条件 x x x是 a a a, b b b的公约数 l < x < r l<x<r l<x<r 思路&#xff1a; 找到 a a a, b b b两个数的最大公约数 g c g c d (…

Python模块导入机制详解

大家好&#xff01;今天我们要一起踏上一段Python编程的奇妙旅程&#xff0c;探索那个神秘的“import”命令&#xff0c;就像在海盗宝藏地图上寻找隐藏的金币。你准备好跟着我深入学习Python模块的进口大法了吗&#xff1f; 首先&#xff0c;你知道吗&#xff1f;在Python中&a…

【c++leetcode】1. Two Sum

问题入口 遍历一遍哈希表: O(n) class Solution { public:vector<int> twoSum(vector<int>& nums, int target) {unordered_map<int, int> numMap;for (int i 0; i < nums.size(); i){int complement target - nums[i];if(numMap.count(complemen…

【Redis】NoSQL之Redis的配置和优化

关系型数据库与非关系型数据库 关系型数据库 关系型数据库是一个结构化的数据库&#xff0c;创建在关系型模型&#xff08;二维表&#xff09;的基础上&#xff1b;一般面向于记录&#xff1b; SQL语句(标准数据查询语句)就是一种基于关系型数据库的语言&#xff0c;用于执行…

在linux服务器上使用tcmalloc监控java应用内存

在centOS系统中 1.安装sudo yum install gperftools-libs 2.查看安装位置rpm -ql gperftools-libs 3.使用shell脚本启动 export HEAPPROFILE./heap.log &#xff08;tcmalloc监控的日志&#xff09; export HEAP_PROFILE_ALLOCATION_INTERVAL104857600 export LD_PRELOAD/…

安装 windows 版 dash —— zeal

1、下载安装 下载地址&#xff1a;Download Zeal 选择 Protable 版 直接使用 zeal 下载文档比较慢甚至失败&#xff0c;可以设置代理&#xff0c;也可以使用下面两种方式。 2、手动下载 docset 文档后导入 这种方法不能够选择文档的版本 &#xff08;1&#xff09;在 http://…

达梦数据库的V$DM_INI和V$PARAMETER系统视图

V$DM_INI和V$PARAMETER是达梦数据库中两个常用的系统视图&#xff0c;用于查看数据库的配置参数。这两个视图的主要区别在于它们展示参数的来源和用途。 V$DM_INI V$DM_INI视图主要用于展示数据库启动时加载的初始化参数信息。这些信息通常来自于数据库的初始化参数文件&…

自动驾驶中的传感器融合算法:卡尔曼滤波器和扩展卡尔曼滤波器

自动驾驶中的传感器融合算法&#xff1a;卡尔曼滤波器和扩展卡尔曼滤波器 附赠自动驾驶学习资料和量产经验&#xff1a;链接 介绍&#xff1a; 追踪静止和移动的目标是自动驾驶技术领域最为需要的核心技术之一。来源于多种传感器的信号&#xff0c;包括摄像头&#xff0c;雷达…

VSCode输入花括号{}}会多一个解决方案

打开设置 搜索Closing Brackets 选择BeforeWhitespace 选完后重启下VSCode即可

详解Vue3中如何使用动态组件

在 Vue 3 中,动态组件是一种允许在运行时动态切换组件的机制,本文主要为大家详细介绍了动态组件在Vue3中的具体使用。 Vue 3 提供了 元素以及 is 特性来实现动态组件的切换。 一、使用元素 在模板中使用 元素&#xff0c;通过 is 特性来动态切换组件&#xff1a; <templat…

ddres( ) 组站星双差方程和设计矩阵

1 ddres( )参数介绍 rtklib中进行的单频解算 双差观测值&#xff0c;单差的模糊度 单频点双差 DD (double-differenced) phase/code residuals ------------------------------ x 模糊度 P 方差-协方差阵 sat 共识卫星列表 ns 共识卫星数量 y…

深入了解WebKit:结构简介

随着互联网的发展&#xff0c;网页浏览器已经成为我们日常生活中不可或缺的工具之一。而在众多浏览器中&#xff0c;WebKit引擎作为其中之一的重要角色&#xff0c;驱动着一系列流行的浏览器&#xff0c;例如Safari和一些移动端浏览器。那么&#xff0c;WebKit究竟是如何构建的…

Linux中MySQL测试环境搭建主主集群

MySQL测试环境搭建主主集群 主机参数调调整 vi /etc/sysconfig/selinux #查看是否SELINUXdisabled #禁用firewalld service firewalld stop架构IPhostname主1数据库192.168.206.3zhou主2数据库192.168.206.4bin 主1数据库安装 # 进入目录 cd /opt# 下载安装包 wget https:/…

模型优化和调整(2)

接模型优化和调整&#xff08;1&#xff09; 调整反向传播 梯度消失和梯度爆炸 梯度消失和梯度爆炸都和计算出来的“delta”有关。理想的delta应该是逐渐减小的。如果delta一直太小&#xff0c;则会导致下降太慢&#xff0c;甚至对于权重没有改变&#xff0c;此时形成了梯度…

pe格式从入门到图形化显示(四)-节表

文章目录 前言一、什么是Windows PE格式节表&#xff1f;二、解析节表并显示1.节表数据结构以及字段描述2.节表的属性3.解析4.显示 前言 通过分析和解析Windows PE格式&#xff0c;并使用qt进行图形化显示 一、什么是Windows PE格式节表&#xff1f; PE格式的节表&#xff08…

深入C语言内存:数据在内存中的存储

一、数据类型 1. unsigned&#xff1a;无符号数类型 当一个数是无符号类型时&#xff0c;那么其最高位的1或0&#xff0c;和其它位一样&#xff0c;用来表示该数的大小。 2.signed&#xff1a;有符号数类型 当一个数是有符号类型时&#xff0c;最高数称为“符号位”。符号位为1…

绝地求生:第29赛季第1轮更新公告

正式服维护日期 ※ 下列时间可能会视维护情况而变化。 北京时间4月9日上午8:00 – 下午4:30 地图轮换 ※ 地图轮换将于北京时间每周三上午10点进行。 日期 正式服 – 普通比赛 可自主选择地图的地区 - 亚洲、东南亚 可自主选择地图的地区 – 韩国/日本、KAKAO 随机选择地…