回归测试:优先级(Coverage 的适应度函数)

news2024/11/24 23:07:16

回归测试:优先级

介绍
在确定优先级时,我们的目标是为测试用例找到一个好的顺序。理想情况下,我们希望尽早发生任何故障。这可以加快整体开发过程,例如:
有时,一旦发现失败,我们就会停止测试。
即使我们计划执行所有测试用例,我们越早发现失败,我们就可以越早开始尝试修复代码。
问题:我们事先不知道哪些测试用例会导致失败。
因此,我们无法在测试前知道“最佳”顺序。
相反,我们使用相关的指标和历史信息有缺陷:
我们优先考虑被认为更有可能导致失败的测试。
我们还致力于快速扩大覆盖范围。
希望:通过这样做,我们更有可能早点发现错误

使用覆盖
我们可能只看覆盖率。
我们的目标可能是:
尽快达到 100% 的覆盖率。
最大化给定预算的覆盖范围(例如测试用例的数量)。
无论何时停靠,“快速”实现覆盖以获得“良好”覆盖

贪心算法可能是次优的suboptimal
在这里插入图片描述
Coverage 的适应度函数Fitness function
考虑分支覆盖率(许多其他指标类似)。
我们如何为特定的测试顺序给出“分数”/适应度
案件?
我们想要奖励对所有前缀都有利的订单。
标准方法:使用加权平均百分比
覆盖测试用例序列。
如果我们有 n 个测试用例,m 个分支,TBi 是第一个执行分支 i 的测试用例的编号,那么适应度为:
在这里插入图片描述
优化
类似于最小化,我们可能有多个目标
例如:
(1)覆盖形式不同。
(2) 对历史故障部件进行优先测试。
(3)基于故障预测技术对元器件进行优先测试。
有可能再次使用多目标优化。

概括
在某些情况下,将使用给定的测试套件:
回归测试; 持续集成
最小化和优先化都有好处。
两者都可以表示为优化问题。有许多不同的优化方法,从
多目标进化的简单贪心算法算法。

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

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

相关文章

HashMap详细讲解-面试题大全

HashMap底层数据结构是什么?1.7和1.8有何不同 1.7是 数组 链表,1.8 是数组 (链表 或者 红黑树) 当链表的元素比较多的时候,链表就会转换成红黑树,红黑树的元素减少了,红黑树也会转换成链表 为…

前后分离的优势

1.可以实现真正的前后端解耦,前端服务器使用nginx。 前端/WEB服务器放的是css,js,图片等等一系列静态资源(甚至你还可以css,js,图片等资源放到特定的文件服务器,例如阿里云的oss,并使…

【计算机网络】前后端分离,HTTP协议,网络分层结构,TCP,强缓存/协商缓存

❤️ Author: 老九 ☕️ 个人博客:老九的CSDN博客 🙏 个人名言:不可控之事 乐观面对 😍 系列专栏: 文章目录 前后端分类HTTP协议HTTP组成HTTP的版本HTTP的请求方式HTTP请求头HTTP响应头强缓存和协商缓存 HT…

Linux ls -l输出文件信息详解

在linux中,我们知道一切皆为文件,经常我们会使用ls -l去查看文件的信息,今天会大家详细讲解一下ls -l输出的文件属性信息。 1.ls -l输出 命令: ls -l 通过ls -l命令输出,我们可以看到上图中的属性信息输出&#xff…

【珍藏版】生态系统NPP及碳源、碳汇模拟、土地利用变化、未来气候变化、空间动态模拟

由于全球变暖、大气中温室气体浓度逐年增加等问题的出现,“双碳”行动特别是碳中和已经在世界范围形成广泛影响。碳中和可以从碳排放(碳源)和碳固定(碳汇)这两个侧面来理解。陆地生态系统在全球碳循环过程中有着重要作…

五、JSP05 分页查询及文件上传

五、JSP 分页查询及文件上传 5.1 使用分页显示数据 通过网络搜索数据时最常用的操作,但当数据量很大时,页面就会变得冗长,用户必须拖动才能浏览更多的数据 分页是把数据库中需要展示的数据逐页分步展示给用户 以分页的形式显示数据&#xff…

Elasticsearch 8.X “图搜图”实战

1、什么是图搜图? "图搜图"指的是通过图像搜索的一种方法,用户可以通过上传一张图片,搜索引擎会返回类似或者相关的图片结果。这种搜索方式不需要用户输入文字,而是通过比较图片的视觉信息来找到相似或相关的图片。这项…

Tomcat服务器的安装即相关介绍

一、Tomcat的安装步骤 1、访问官网下载点击此处进入Tomcat官网; 2、在下图所示位置点击想要下载的版本下载,这边演示的是以Tomcat8为演示对象; 3、进入下载页面如下图所示,根据系统类型和版本选择合适的安装包; 4、下…

Wampsever升级增加php5.6的方法过程

1、下载wampserver2.5,文件包名:wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-64b.exe https://sourceforge.net/projects/wampserver/files/WampServer%202/Wampserver%202.5/ 这个版本只有40M,包含: Apache-2.4.9&#x…

SpringCloud OpenFeign 学习

SpringCloud OpenFeign 文章目录 SpringCloud OpenFeign1 OpenFeign介绍2 OpenFeign-应用实例3 OpenFeign 测试 1 OpenFeign介绍 OpenFeign 是个声明式 WebService 客户端,使用 OpenFeign 让编写 Web Service 客户端 更简单 它的使用方法是定义一个服务接口然后在上…

【Java 抽象类抽象方法】什么是抽象类方法,如何定义,起什么作用?

博主:_LJaXi Or 東方幻想郷 专栏: Java | 从入门到入坟 Java 抽象类 & 抽象方法 抽象类的概念 👅抽象方法的概念 🐬抽象类和抽象方法结合使用 🦄 Java中的抽象类和抽象方法是面向对象编程中的重要概念,…

【系统学习】Java基础4之lamda表达式和函数式接口

lamda表达式与函数式接口 lamda表达式 语法格式一:无参,无返回值 Lambda 需要一个参数,但是没有返回值 语法格式三:数据类型可以省略,因为可由编译器推断得出,称为“类型推断” 语法格式四:…

MySQL和Redis之间的存储区别

概述 MySQL是一种关系型数据库,而Redis是一种键值对存储数据库。虽然它们都是用来存储和管理数据的,但是它们在很多方面都有不同,但是它们在存储策略、日志存储方式、硬盘存储、数据恢复等方面都有一定的区别。 数据类型 MySQL支持多种数据…

电脑怎么通过网络传输文件?

可以通过网络在电脑之间传输文件吗? “由于天气的原因,我的老板决定让所有员工在家工作。但是我很多工作文件都在公司的电脑中,怎么才能将公司的文件远程传输到我家里的电脑上?电脑可以通过网络远程传输文件吗?” …

计算机网络 | I/O模型、网络模型(OSI七层及TCP/IP四层)

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和…

Python快速实现网页工具的利器

Python快速实现网页工具的利器 Streamlit是一个基于Python的Web应用程序开发框架,它具有快速开发、交互式、易于使用等特点。使用Streamlit,开发者可以很容易地将Python代码转换为漂亮的、交互式的Web应用程序,无需繁琐的前端开发经验。 如果…

什么是浪涌保护器SPD

浪涌保护器(SPD),也称为电涌保护器,是为各种电子设备,仪器和通信线路提供安全保护的电子设备。当由于外部干扰在电路或通信电路中突然产生尖峰电流或电压时,浪涌保护装置可以在很短的时间内传导和分流&…

设计模式之~策略模式

策略模式(Strategy): 它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。 结构图: 实例: 优点: 策略模式…

MySQL行锁浅析

概述 MySQL是非常流行的关系型数据库,许多系统都使用它来存储和管理数据。在高并发环境下,为了保证数据的一致性和可靠性,数据库需要实现并发控制,其中包括锁机制。MySQL提供了两种锁类型,一种是表级锁,另…

Java遍历Map集合,获取key、value等方式

首先构建一个Map集合&#xff1a; Map<String, Integer> buynew HashMap<>();buy.put("苹果手机", 2);//添加键值对buy.put("智能手表", 1);buy.put("java书", 1);buy.put("c语言书", 1);buy.put("西瓜", 2);打…