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

news2024/11/26 21:24:26

定义

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

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

  目的

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

  方法

  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.coloradmin.cn/o/1579950.html

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

相关文章

智能工业-方案优势

节省成本 ─键修改所有仓储物料信息,无需人工打印、更换仓位卡,降低人力成本;全程无纸化操作,节约材料成本;网络融合方案,降低硬件成本。 高效运营 优化信息变更、陈列、拣货等工作流程,全程APP管理,流程…

Windows Nginx 启动

先解压 nginx安装包,进入到安装目录下(配置环境变量没有用) 解压后的目录结构如上。 #启动服务 默认是80端口, #如果端口被占用,是启动不了的,会生成error log在log目录下 start nginx#停止nginx 服务 nginx -s stop#重新加载配置…

浅析安全传输协议HTTPS之“S”

当前互联网,在各大浏览器厂商和CA厂商的推动下,掀起了一股HTTPS应用浪潮。为了让大家更好的了解HTTPS,本文给大家介绍关于HTTPS 中的S一个整体的认识。从其产生的历史背景、设计目标说起,到分析其协议设计结构、交互流程是如何实现…

linux中查看占用端口的进程方法

1、netstat -tlnp | grep 端口号 netstat -tlnp|grep 3306 其中:95115是进程号,mysqld是进程名称 2、ss -ltnp | grep 端口号 注意:-tlnp和-ltnp ss -ltnp|grep 3306其中:mysqld是进程名称,95115是进程id 3、lsof…

Z变换与传递函数代码化

对于自动控制而言,其关键在于传递函数方程,根据其特性设计出控制器,控制器也是S域的传递函数,那么如何将传递函数用代码的形式表现出来呢?以下将介绍这种工程方法 1、Z变换 对于一个确定的传递函数,如下 …

vue3+高德地图,使用抛物线连接两点,实现线路脉冲和呼吸灯动画效果

最终实现效果 一&#xff1a;版本vue3jsAPI2.0loca2.0.0 二&#xff1a;下载地图加载器 npm i amap/amap-jsapi-loader --save 高德地图jsApi2.0&#xff0c;点击查看官网介绍 三&#xff1a;写成一个组件&#xff0c;哪里使用哪里引入即可&#xff0c;代码如下 <scrip…

深度揭秘:全氟己酮自动灭火毯的原理是什么?

全氟己酮自动灭火毯是近年来很受欢迎的新型消防灭火装置&#xff0c;它不仅高效环保、使用简单、无需安装任何附加设备&#xff0c;还可以主动感应到火灾并自动灭火。为什么它能够做到这一点呢&#xff1f;这要从全氟己酮自动灭火毯的原理说起。 全氟己酮自动灭火毯的原理是什…

JAVA 并发编程之死锁的产生及避免

死锁的产生 死锁可以理解为&#xff0c;在多线程并发竞争资源的环境下&#xff0c;在各自拥有锁的情况下&#xff0c;又去尝试获取对方的锁&#xff0c;从而造成的一种阻塞的现象&#xff0c;若无外力作用&#xff0c;它们都将一直阻塞下去。 代码示例&#xff1a; public cl…

分享|创业老阳推荐的Temu蓝海项目到底怎么样?

在当今竞争激烈的创业市场中&#xff0c;寻找一个具有潜力的蓝海项目成为了众多创业者的梦想。近日&#xff0c;创业老阳推荐的Temu蓝海项目引起了广泛关注。那么&#xff0c;这个项目到底怎么样呢?让我们一起来探讨一下。 首先&#xff0c;Temu蓝海项目在定位上具有显著优势 …

YOLOv8改进 添加大核卷积序列注意力机制LSK

一、Large Separable Kernel Attention论文 论文地址:2309.01439.pdf (arxiv.org) 二、Large Separable Kernel Attention注意力结构 LSK通过使用大型可分离卷积核来提升注意力机制的效果。在传统的注意力机制中,常用的是小型卷积核,如1x1卷积,来计算注意力权重和特征表示…

Junit单元测试框架 --java学习笔记

单元测试 就是针对最小的功能单元(方法)&#xff0c;编写测试代码对其进行正确性测试 之前是如何进行单元测试的?有什么问题? 只能在main方法编写测试代码&#xff0c;去调用其他方法进行测试无法实现自动化测试&#xff0c;一个方法测试失败&#xff0c;可能影响其他方法…

poi

文章目录 字号对照 字号对照

MQ中的交换机与队列

交换机与队列的介绍 1.流程 首先先介绍一个简单的一个消息推送到接收的流程&#xff0c;提供一个简单的图 黄色的圈圈就是我们的消息推送服务&#xff0c;将消息推送到 中间方框里面也就是 rabbitMq的服务器&#xff0c;然后经过服务器里面的交换机、队列等各种关系&#xff…

HarmonyOS实战开发-如何实现设备中应用时长的统计功能。

介绍 本示例使用bundleState相关接口完成设备中应用时长的统计功能。 效果预览 使用说明&#xff1a; 1.顶部的数据面板展示了最常用的五个应用的使用时间占比情况。 2.中部的竖向滑动栏展示了每个应用的使用总时长和最后一次使用的时间。 3.底部的横向滑动栏展示了不常用…

lua学习笔记15(元表的学习)

print("*****************************元表的学习*******************************") print("*****************************元表的概念*******************************") --任何变量都可以作为另一个表变量的元表 --任何表变量都可以有自己的元表 --当我…

以XX大学学生公寓为例的安科瑞远程抄表与配电能效系统解决方案【AcrelEMS-EDU校园综合能效管理】

建设背景 随着我国经济的高速发展&#xff0c;建筑能耗特别是国家机关办公建筑和大型公共建筑高耗能的问题日益突出。学校作为大型公共机构建筑的重要组成部分之一&#xff0c;其特点是占地面积大、建筑分布广、数量多、类型多样、用能情况复杂&#xff1b; 高校用能普遍问题…

私藏十几款营销软件工具:含视频、剧本素材、推流工具等精品免费软件工具!

很多小伙伴在操作自媒体的时候&#xff0c;都或多或少遇到过问题&#xff1a; 哪些剪辑工具好用&#xff1f;哪些素材网站可以用&#xff1f;哪里找选题&#xff1f;哪里找创意和热点&#xff1f;脚本怎么写&#xff1f;剧本怎么做&#xff1f; 工欲善其事&#xff0c;必先利…

【中文医疗词嵌入模型】SMedBERT:结构化知识图谱 + 混合注意力机制 + 提及-邻居上下文建模

【中文医疗词嵌入模型】SMedBERT&#xff1a;结构化知识图谱 混合注意力机制 提及-邻居上下文建模 提出背景SMedBERT 具体到点的设计逻辑SMedBERT的背景SMedBERT的工作原理 SMedBERT 具体实现细节3.1 符号和模型3.2 Top-K Entity Sorting3.3 提及-邻居混合注意力3.4 提及-邻居…

详解实现黑马旅游网的ES和Mysql数据同步

1、需求分析 我们知道es中的数据来自于mysql数据库&#xff0c;因此mysql数据发生改变时&#xff0c;es也必须跟着改变&#xff0c;否则会导致数据不一致问题&#xff0c;这个就是elasticsearch与mysql之间的数据同步。 如何实现数据同步&#xff1a; 方案一&#xff1a;同步…

html骨架以及常见标签

推荐一个网站mdn。 html语法 双标签&#xff1a;<标签 属性"属性值">内容</标签> 属性&#xff1a;给标签提供附加信息。大多数属性以键值对的形式存在。如果属性名和属性值一样&#xff0c;可以致谢属性值。 单标签&#xff1a;<标签 属性"属…