Cantata 24.04 全新发布:以代码为中心的测试实现革命性升级!
简介
Cantata 24.04于2024年4月发布,以开创性的功能彻底革新了软件测试。此版本的主要功能是以代码为中心(Code-Centred)的方法,可以更快、更高效地在C/C++的代码编辑器中创建单元和集成测试。
Cantata 24.04采用C++中的最新标准并全面支持C++20,增强了以代码为中心的测试编辑,有助于直接在代码编辑器中无缝生成和管理测试用例。这包括自动补足(auto-completion)功能、简化的测试用例生成,以及直接从代码编辑器运行测试的能力,从而提高了生产力和效率。
此外,Cantata 24.04还改建了项目创建、文档可访问性和增强了性能。
总体而言,Cantata 24.04中的更改和改进侧重于提高用户生产力,为现代C++标准和第三方工具提供更好的支持,改进文档和可访问性,并解决各种性能和稳定性问题。以代码为中心的测试编辑功能是在简化测试工作流程和提高开发人员效率方面迈出的重要一步。
新的补充工具
随同Cantata 24.04一起并完全与之兼容的,是一个新的工具:Cantata Hybrid。此工具通过运行不变的GoogleTest套件生成Cantata测试结果与组合的代码覆盖率证据。
以代码为中心(code-centric)的测试编辑
Cantata 24.04带来了许多功能改进,目标放在改善用户生产力和直接在代码编辑器中编辑测试的效率,这些改善使得测试过程更加高效和简便,减少环境切换。
-
为测试用例、静态访问、EXPECTED_CALLS和EXPECT_CALL指令添加了自动补足(Auto-completion)的功能,减少用户输入,改善代码一致性。
-
测试用例生成、打桩/封装函数的生成的删除、添加异常处理等现在可以直接在代码编辑器(CDT)中完成,简化测试工作流。
-
用户也能够直接在代码编辑器中运行测试,不必切换不同的视图或窗口。
-
循环测试用例的CSV导入/导出、常用指令对的代码模板以及测试用例模板进一步增强了以代码为中心的测试体验。
项目创建的改进
改进了项目创建功能,更好地支持第三方IDE项目,使Cantata更方便集成现有的开发环境。
项目选择对话框得到改进,更加用户友好,更容易导航,特别是在处理大型项目时。实现了对makefile和命令行用法的更好处理,为项目创建提供了更多的灵活性和控制。
新的文档系统
Cantata的用户文档和所有有用的文档都已集成到一个新的(Mkdocs)文档系统中。Cantata的安装程序包含了这个文档系统的本地拷贝,可以在任何Web浏览器中查看。最新发布文档的在线拷贝也可以通过https://support.qa-systems.com/docs来访问(需要合法授权)。这个新的文档系统使用户更容易访问和导航所有相关文档,不管它们的位置或网络连接,也支持全局搜索。
嵌入式目标支持
Cantata持续支持广泛的嵌入式目标平台。在Cantata 24.04中,目标库构建器得到了增强,将自动检测预处理器和压库程序的设置,这些更为自动化的检测设置不需要更多的用户输入,部署目标平台变得更加容易。
性能改进
Cantata 24.04的性能得到了多项改进,包括Eclipse图形界面、解析工具的速度,以及对大型嵌套循环的处理速度。这些改进旨在提高工具的整体响应能力和效率,改善用户体验,尤其是在处理大型复杂项目时。
CPPGETCOV组件更新
更新了核心产品组件CPPGETCOV,支持多覆盖率文件(.cov),更容易报告多次测试运行的结果。
C++20支持
Cantata 24.04现在使用户能够利用C++20标准中引入的最新语言功能和改进。
这包括新的语言构造、库添加和性能优化。用户现在可以使用最新的C++20功能编写和测试代码,确保他们的项目符合最新标准。
Bug修复
除了新功能和性能改进,Cantata 24.04还修复了一些Bug,关于代码插装、测试脚本生成、编译器兼容性,等等。这些Bug的修复旨在改善工具的整体稳定性和可靠性,确保用户体验更顺畅更健壮的测试。
更新了平台支持版本
Cantata的每个版本都有支持平台的变化。
Cantata紧密地与Eclipse®的IDE环境集成,提供Eclipse-Ready®插件。Cantata 24.04建立在Eclipse 2023-12版本(Eclipse 4.30)上,也可以作为从Neon(4.6)版本直到Eclipse 2023-12(4.30)版本的Eclipse-Ready插件来安装。
GCC版本在Windows上支持到8.2.x,在Linux上支持到13.2.x版本。
Cantata 24.04更新了对Microsoft Visual Studio的支持,到2019版本。
了解更多有关Cantata的技术信息及商务服务,请访问http://www.softtest.cn/留言,或按以下方式联系旋极智能:
相关文章:

Cantata 24.04 全新发布:以代码为中心的测试实现革命性升级!
简介 Cantata 24.04于2024年4月发布,以开创性的功能彻底革新了软件测试。此版本的主要功能是以代码为中心(Code-Centred)的方法,可以更快、更高效地在C/C的代码编辑器中创建单元和集成测试。 Cantata 24.04采用C中的最新标准并全…...

【问题记录】VMware 17.5.1下载VMware tools失败报错的解决方法
一,问题现象 Ubuntu可以上网,但是下载VMware tools失败,报错提示:“连接到更新服务器时发生证书错误。请检查您的Internet设置或联系您的系统管理员。” 下载安装VMware tools: 报错提示: 二࿰…...
Android - RadioGroup中多个radiobutton同时被选中问题
问题描述: 动态创建radio button, 并将多个button添加到radio group中。但是实际运行时多个radiobutton会被同时选中: 代码如下: mRadioGroup findViewById(R.id.radioGroup);mDevButtons new RadioButton[device_count];for(int i0;i<device_count;i) {mDevButtons[i] …...

如何在ElementTree文本中嵌入标签
在 ElementTree 中,你可以使用 Element 对象的方法来创建新的标签,并将其嵌入到现有的 XML 结构中。下面是一个简单的示例,演示了如何在 ElementTree 文本中嵌入新的标签: 1、问题背景 我正在使用Python ElementTree模块来处理HT…...
C语言宏定义+条件编译
1、宏定义 1.概念 C语言中的宏定义是一种预处理指令,它允许开发者为一段代码或值定义一个名称,称为宏。在编译程序时,预处理器会在实际编译之前对源代码进行预处理,将宏名称替换为其定义的内容。宏定义通常使用 #define 指令来实…...

python实现自动化测试框架如何进行数据参数化?这个包可以了解下
1.数据参数化介绍 只要你是负责编写自动化测试脚本的,数据参数化这个思想你就肯定会用 ,数据参数化的工具你肯定的懂一些 ,因为它能大大的提高我们自动化脚本编写效率 。 1.1什么是数据参数化 所谓的数据参数化 ,是指所执行的测…...

面试题:Redis和MySql数据库如何保持数据一致性?
前提引入: 在高并发的场景下,大量的请求直接访问Mysql很容易造成性能问题。所以,我们都会用Redis来做数据的缓存,削减对数据库的请求。但是,Mysql和Redis是两种不同的数据库,如何保证不同数据库之间数据的一…...

直流遥控器 继电器8-10V应用 降压恒压SL3036电源芯片
在现代电子设备中,电源的稳定性和可靠性对于设备的正常运行至关重要。特别是在直流遥控器这类设备中,由于其需要长时间稳定运行且对电压稳定性要求较高,因此选择一款合适的电源芯片显得尤为重要。本文将重点介绍SL3036电源芯片在直流遥控器继…...

论文Abstract怎么写
摘要是你要写的最后一项内容 步骤 首先先通读自己的文章,清楚自己写的文章是研究型还是技术型,适合描述性的摘要还是知识性。 描述性摘要内含研究目的、目标及方向等,不讲研究结果。字数大约100-200字。知识性摘要则包含研究结果,…...

PS系统教程19
渐变与照片调色 增加色彩背景新建图层选好渐变拉选图片渐变 与图层模式结合 也可以变换颜色 看起来比较自然,因为是与人物结合起来 也可以选择系统里面的一些色调 可以进行多次调试...

Excel函数之MAP
MAP 语法 MAP(array, [arrar2], ……, lambda(value,[value2], ……, calculation)) array:需要进行映射的数组,可以有多个 注:多个数组的形状大小尽可能保持一致,否则将出现错误值 value:数组中的每个值,每次取一个值,每个 array 按顺序对应一个 value calculation:…...

在2024年WWDC大会上,苹果宣布了其全新的“Apple Intelligence”AI功能以及ISO18功能
以下是一些主要的新增功能: Apple WWDC 2024开发者大会6月11日凌晨在总部Apple Park举行 1.智能照片编辑: 照片:AI驱动的照片润饰功能,可以根据用户描述生成自定义表情符号 2.Safari浏览助手: Safari:AI助手能够总…...

解决linux jenkins要求JDK版本与项目版本JDK不一致问题
背景–问题描述: 新入职公司,交接人说jenkins运行有问题,现在都是手动发布,具体原因让我自己看(笑哭)。我人都蒙了,测试环境都手动发布,那不是麻烦的要死! 接手后&am…...

推荐一款WPF绘图插件OxyPlot
开始 使用 NuGet 包管理器添加对 OxyPlot 的引用(如果要使用预发布包,请参阅下面的详细信息)向用户界面添加PlotView在代码中创建一个PlotModel绑定到你的属性PlotModelModelPlotView 例子 您可以在代码存储库的文件夹中找到示例。/Source/Ex…...
普通表在线重定义为分区表
普通表在线转换成分区表示例 源表表结构如下: CREATE TABLE EDC_SEPERATOR ( SEPERATOR_ID NUMBER(15) NOT NULL, EQUIPMENTINFO NVARCHAR2(20), RECORD NVARCHAR2(50), TITLE NVARCHAR2(50), ID NVARCHAR2(50), TE…...

自动驾驶场景下TCP协议参数优化调整案例分享
RTT 往返时间,从tcp协议栈决定发包,到收到回包的时间。 包含本地驱动,网卡硬件,网线,交换机,收包方处理的耗时。需注意如果开了delayed ack,协议栈未做特殊处理(默认没做ÿ…...

奇思妙想:多头RAG
大模型技术论文不断,每个月总会新增上千篇。本专栏精选论文重点解读,主题还是围绕着行业实践和工程量产。若在某个环节出现卡点,可以回到大模型必备腔调或者LLM背后的基础模型新阅读。而最新科技(Mamba,xLSTM,KAN)则提…...

H323 截包分析辅流问题
辅流问题(h264\h264hp\h265) 终端1 : 192.168.1.1 入会发送辅流 终端2 : 192.168.1.2 入会接收辅流 问题 : 终端2不显示辅流 1、筛选 h245 h225 协议 分别筛选以下IP进行查看截包内容 (h225 || h245) && …...

低成本和颜值兼顾的 HomeLab 设备:HPE MicroServer Gen10(二)
本篇文章,继续分享另外一台端午假期折腾的设备,HP MicroServer Gen10 一代。同样分享下我的折腾思路,希望能够帮助到有类似需求的你。 写在前面 Gen10 “标准版”(第一代)和 Plus 版本设计风格一致,同样颜…...

面试题:ArrayList和LinkedList的区别
ArrayList和LinkedList都是Java中实现List接口的集合类,用于存储和操作对象列表,但它们在内部数据结构、性能特性和适用场景上有所不同: 1.内部数据结构: ArrayList:基于动态数组实现。这意味着它在内存中是连续存储…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...

【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...

深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...

vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...