新版Testwell CTC++带来哪些新变化?

news2024/10/5 18:23:36

Testwell CTC++在版本10中引入了新的工具ctcreport来直接从符号和数据文件生成HTML报告。详细的特性描述可以在测试井CTC++帮助中找到。在本文档中,描述了与前一代报告相比的改进和变化。

Adaptable Layout可调整布局

您可以选择一个适合于项目结构的布局。布局决定了报告的详细信息级别(目录、文件、函数)和生成的HTML页面类型(概述页面、详细信息页面、源代码视图)。布局在ctcreport-layout.ini文件夹中配置。

Reducing Generation Steps减少生成步骤

生成HTML报告时不再需要中间文本报告(profile.txt)。与ctcpost + ctc2html调用相比,报告生成通常也更快。

组合显示覆盖率

您可以选择要在报告中显示的覆盖率的任意组合和顺序。

使用选项度量-measures mcdc,d,s 生成了上面屏幕截图中的报告。

工程名

您可以使用您可以使用“-D "ProjectName=My Super Tool""。项目名称显示在报告的标题中。

头文件函数体报告

当一个包含的文件在多个函数体中进行预处理时,ctcpost只“提取”找到的第一个函数体,并报告所有其他变体作为其包含文件的一部分。

相比之下,ctcreport将头文件的每个函数体报告为一个独立的实体。所包含的文件从未作为其所包含的文件的一部分进行报告。

有条件编译代码的标识

条件预处理器指令之间的代码现在在所有情况下都被标识为活动的或非活动的,而不仅仅是如果内部有一个来自ctc的检测探测器。因此,ctcreport可靠地导出线路覆盖和代码部分已失活的视觉指示:

显示所有 Probe 信息

在源代码行上有一个检测探测的常见情况下,源代码视图会显示行旁边的真和假计数器,并抑制探测类型和描述。例如,当使用宏时,这可能导致起源不明确的计数器。

在新的HTML报告中,您可以通过选择 Source & Details > Show Coverage Details > Single Probe Descriptions。

当一行上有多个探针时,现在将始终显示第一个探针描述(与同一行上的所有其他探针一样)。

协助报告内部函数

在所有表格视图中,您可以按覆盖率或每个覆盖率度量的缺失命中数对表格数据进行排序。

在源代码视图中,您可以选择要显示的详细信息,并可以突出显示特定度量的计数器,以理解计算。

模板化的HTML

生成的HTML代码完全是从位于ctcreport文件夹中的一个名为html_template.zip的HTML模板集中绘制出来的。这个包包含用于概述页面、详细信息页面、源代码视图以及CSS和JavaScript资源的模板化HTML文件。

可以调整模板。在这种情况下,复制原始的,更改后将其归档到像my_template.zip这样的ZIP包中,然后用选项调用ctcreport -template my_template.

处理不同的构建/报告目录

当源代码在检测期间位于不同的目录中时,SOURCE_IDENTIFICATION设置为不同于“绝对”的值,并且过去使用ctc2html的-s选项在不同文件夹中查找源文件。

此功能完全被一个新功能所取代:将记录在符号文件中的源标识映射到可用于报告的源路径。选项映射源标识用于此目的。为了方便地显示长路径,可以选择缩短路径。为此,不再需要使用SOURCE_IDENTIFICATION=_。

交付包中的更改

因此,ctc2html不再是Testwell CTC++的一部分。ctcpost仍然用于生成文本或XML报告,以及分析和组合符号和数据文件。

”合并”注意事项

以下工作流:
1.生成XML报告,
2.将它们合并到一个文本报告中,
3.使用ctc2html从该文本报告生成HTML报告,

已经不再被完全支持了。在大多数情况下,您可以将符号和数据文件合并到HTML报告中。

对于在不同函数体中预处理的源文件(例如,由于#if),ctcreport在一个报告中独立显示该源或头文件的每个函数体,但不合并来自不同函数体的覆盖数据。

Linux的构建启动器ctclaunch

ctclaunch 可以用于直接与像CMake这样的构建工具交互,将构建命令作为输入,并注意使用所有编译器和链接器调用来调用ctc。

ctclaunch 从9.1版本开始用于Windows,现在引入于Linux。

我们建议尽可能使用ctc启动代替ctcwrap(标准或“-hard”模式)。如果您遇到任何问题,请与您的支持团队联系。我们希望在未来的版本中撤回ctcwrap。

在Windows改变ctclaunch的配置

为了简化在Windows和Linux上启动的使用,使用了一个名为ctclaunch.ini的配置文件。构建过程中使用的所有编译器和链接器必须都列在此文件的新配置参数PREPEND_CTC中,位于CTCHOME。

计算机启动时不再使用文件wrapcmds.txt。在升级时,您必须检查ctclaunch.ini中的编译器设置一次。

停用缺省值的检测工具

自9.1版本以来,缺省值,必须进行测试。对于C++代码,在最后一种情况下可能会导致初始化的编译问题。此代码

可以在编译为C代码时插入,但不能在编译为C++代码时插入。在版本10中,引入了一个新的配置参数MISSING_DEFAULT_INSTR,并在ctc.ini文件中设置为ON。

设置

符号和数据文件

由于这是一个主要版本,所以必须从头开始生成符号和数据文件。它们不能从以前的版本中使用。

Windows:可执行文件签名

在Windows上,安装程序和所有可执行文件现在都使用代码签名证书进行签名。此外,一个MD5散列也可用于所有的ZIP软件包。

许可证

从版本10开始,许可证控制包括所使用的测试井CTC++版本的发布日期。如果您有一个较旧的许可证文件,请联系您的销售经理为一个新的。新的许可文件允许使用在维护期结束之前发布的版本。

问题修复

在if-语句等中对编译常数决策的扩展识别。在9.0.0版本中引入的版本可能会导致崩溃和错误的分类。这种认可现在被一种新的实现所取代。

现在,如果一个决策只包含字符串、数字、字符、方括号、运算符、大小运算符、标准C类型、常量修饰量常量,那么它就被识别为编译时常数。

想要了解更多有关Testwell CTC++技术信息商务服务,请访问http://www.softtest.cn/留下您的详细需求或按以下方式联系旋极信息

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

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

相关文章

tokenizers Tokenizer 类

Tokenizer 类 依赖安装 pip install tensorflow pip install tensorflow -i https://pypi.tuna.tsinghua.edu.cn/simple基类原型 tokenizers.Tokenizer(model)基类说明 Tokenizer 函数构造一个分词器对象。分词方式主要有word-level、subword-level、char-level三种&#x…

visionOS空间计算实战开发教程Day 1:环境安装和编写第一个程序

安装 截至目前visionOS还未在Xcode稳定版中开放,所以需要下载​​Xcode Beta版​​。比如我们可以下载Xcode 15.1 beta 2,注意Xcode 15要求系统的版本是macOS Ventura 13.5或更新,也就是说2017年的MacBook Pro基本可以勉强一战,基…

数据仓库

一. 各种名词解释 1.1 ODS是什么? ODS层最好理解,基本上就是数据从源表拉过来,进行etl,比如mysql 映射到hive,那么到了hive里面就是ods层。 ODS 全称是 Operational Data Store,操作数据存储.“面向主题的…

[C++随想录] 哈希之unordered_map和unordered-set的封装

unordered_map和unordered_set的封装 1. hash模版的改变1.1 hash类模板 头的改变1.2 封装迭代器类1.2.1 构造 && 拷贝构造1.2.2. 1.2.3. 其他运算符重载 1.3 hash类实现普通迭代器和const迭代器 2. unordered_set的底层逻辑3. unordered_map的底层逻辑4. 源码4.1 hash类…

buildadmin+tp8表格操作(4) Table组件,baTable类和 elementplus中的属性关系

在buildadmin 中,table组件是封装的 element-plus中的方法, 所以说, 在 buildadmin的table组件中,是可以通用 elementplus中的属性的 以上这些属性, 在buildadmin中都是可以使用的 使用方式和 elementplus el-table用…

终端仿真软件 SecureCRT v9.4.2

SecureCRT是一款终端仿真软件,它提供了类似于Telnet和SSH等协议的远程访问功能。SecureCRT专门为网络管理员、系统管理员和其他需要保密访问网络设备的用户设计。 SecureCRT具有以下特点: 安全性:SecureCRT支持SSH1、SSH2、SSL和TLS等加密和…

git可以pull到代码,push时提示没有权限。解决办法:git生成ssh密钥(详细步骤)

1、首先右键点击电脑桌面,点击“git bash here”,打开git命令窗口 2、如果git用户名和邮箱等已经完成配置,则跳过此步骤,直接操作第3条;假如没有配置,继续如下操作: (1)、在命令窗口配置用户&a…

怎么实现在微信公众号预约挂号功能呢

随着移动互联网的普及,微信公众号已经成为人们获取信息、了解资讯、预约服务的重要渠道。为了方便患者,许多医院也纷纷开通了微信公众号预约挂号功能。本文将介绍如何在微信公众号上实现预约挂号功能,帮助患者更加便捷地预约挂号。 一、关注医…

HarmonyOS ArkTS List组件和Grid组件的使用(五)

简介 ArkUI提供了List组件和Grid组件,开发者使用List和Grid组件能够很轻松的完成一些列表页面。常见的列表有线性列表(List列表)和网格布局(Grid列表): List组件的使用 List是很常用的滚动类容器组件&…

python接口自动化测试之接口数据依赖

一般在做自动化测试时,经常会对一整套业务流程进行一组接口上的测试,这时候接口之间经常会有数据依赖,那又该如何继续呢? 那么有如下思路: 抽取之前接口的返回值存储到全局变量字典中。初始化接口请求时,…

数据资产入表实务操作的难点及解决方案

在当前数字化的浪潮下,数据已经成为劳动、土地、知识、技术以后的第五大生产要素,“数据就是资源”已成为共识。8月21日,财政部正式印发《企业数据资源相关会计处理暂行规定》,对于符合规定定义和确认条件的数据资产,可…

vue3.0 + qiankun遇到的问题

进入子应用再回到主应用切换动态路由时 TypeError: Cannot read properties of undefined (reading ‘appWrapperGetter’) application ‘plat’ died in status UNMOUNTING: instance.$destroy is not a function 第一个报错是因为子应用切走时没有销毁 vue的实例&#xff0…

麒麟系统开机忘记密码,密码重置

开机后,麒麟系统忘密码了... ... 1.关机状态下,点击电源开机,进入GRUB界面(这个得看自己的系统进入GRUB的方式,有的直接进GRUB,有的直接进系统启动,我是按的F2进入GRUB界面)&#xf…

深度学习之自监督模型汇总

1.BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding paper:https://arxiv.org/pdf/1810.04805v2.pdf code:GitHub - google-research/bert: TensorFlow code and pre-trained models for BERT Abstract:我们引入了一种名为 BE…

ECharts零基础使用思路 图表案例网站推荐

1、用npm安装echarts npm i echarts -S 2、引入 (1)可以在mian.js里全局引入 import echarts from ‘echarts’ Vue.prototype.$echarts echarts 将echarts挂载在Vue原型上 用时直接this.$echarts即可 (2)也可以在组件中按需引入…

OpenAI宫斗,尘埃落定,微软成最大赢家

周末被OpenAI董事会闹剧刷屏,ChatGPT之父Sam Altman前一天被踢出董事会,免职CEO,后一天重返OpenAI,目前结局未知。 很多同学想要围观,缺少背景知识,这里老章为大家简单介绍前因后果及涉及的人物,时间线,让大家轻松围观。 备好瓜子,开始。 1、主角 先看一张图,看一…

SWAT-MODFLOW耦合

耦合模型被应用到很多科学和工程领域来改善模型的性能、效率和结果,SWAT作为一个地表水模型可以较好的模拟主要的水文过程,包括地表径流、降水、蒸发、风速、温度、渗流、侧向径流等,但是对于地下水部分的模拟相对粗糙,考虑到SWAT…

解决收集问卷难的方法与策略:提升数据收集效率

随着社会的发展和科技的进步,问卷调查成为了获取信息和研究数据的重要手段之一。然而,面临的一个普遍难题是如何解决收集问卷困难的问题。无论是在学术研究、市场调研还是社会调查中,都存在着一些挑战和阻碍因素。本文将从不同角度探讨如何突…

手机 IOS 软件 IPA 签名下载安装详情图文教程

由于某些应用由于某些原因无法上架到 appStore 或者经过修改过的软件游戏等无法通过 appStore 安装,我们就可以使用签名的方式对相应软件的IPA文件进行签名然后安装到你的手机上 这里我们使用爱思助手进行签名安装,爱思助手支持两种方式,一种…

seleninum 基础及简单实践

网页自动化 1 Selenium自动化基础 1.1 Selenium简介 Selenium自动化流程如下: 自动化程序调用Selenium客户端库函数客户端库会发送Selenium命令,给浏览器的驱动程序浏览器驱动程序接收到命令后,驱动浏览器去执行命令浏览器执行命令浏览器驱…