首页 > 编程语言 >新版Testwell CTC++带来哪些新变化?

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

时间:2023-11-20 17:11:05浏览次数:42  
标签:报告 C++ HTML ctcreport 版本 Testwell CT

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/留下您的详细需求或按以下方式联系旋极信息

标签:报告,C++,HTML,ctcreport,版本,Testwell,CT
From: https://www.cnblogs.com/qianrushizhuangbeidianzixitong/p/17844383.html

相关文章

  • C++与Lua交互之配置&交互原理&示例
    Lua简介Lua是一种轻量小巧的脚本语言,也是号称性能最高的脚本语言,它用C语言编写并以源代码形式开放。某些程序常常需要修改内容,而修改的内容不仅仅是数据,更要修改很多函数的行为。而修改函数行为这种事,很难用简单的更改数据的方式来实现,若在源代码层面上改又得重新编译生成,导......
  • 第二章 ObjectScript 语法的基本规则
    大小写规则ObjectScript的某些部分区分大小写,而其他部分则不区分大小写。一般来说,ObjectScript的用户可定义部分区分大小写,而关键字则不区分大小写:区分大小写:变量名(局部、全局和进程私有全局)和变量下标、类名、方法名、属性名、属性的实例变量的i%前言、例程名称、宏名......
  • crictl升级
    低版本crictl没有删除无效镜像命令,需要升级版本wgethttps://github.com/kubernetes-sigs/cri-tools/releases/download/v1.25.0/crictl-v1.25.0-linux-amd64.tar.gztar-zxfcrictl-v1.25.0-linux-amd64.tar.gzmvcrictl/bin/crictlcrictlrmi--prune #删除无效镜像,释放节点......
  • C++U5-06-广度优先搜索3
    广搜逻辑  广搜代码核心思路 广搜伪代码前面讲解的广度优先搜索案例都类似迷宫类的问题,但有些非迷宫类问题也可以使用广搜的思路解决[【广搜】转弯]【算法分析】可以以转弯次数为依据进行广搜,这样就是每一个方向都走到尽头。特别要注意的是当这个位置访问过,还......
  • C++第三方库汇总
    图像处理:OpenCV矩阵运算:Eigen图像读写:stb_image,广泛应用于Graphics领域文件解析json文件解析:RapidJson,参考:https://www.geeksforgeeks.org/rapidjson-file-read-write-in-cpp/glTF文件解析:cgltf......
  • C++U4-第05课-二分查找
    上节课作业部分(点击跳转)  引入分治算法概念  二分法分治思想编程题  二分查找能解决的问题不仅仅是找到一个值 题1: 要在一个有序序列中查找一个数,可以使用二分算法。include<iostream>usingnamespacestd;intBinarySearch(inta[],intl,......
  • GlobalFilter与AbstractGatewayFilterFactory
    GlobalFilter:全局过滤器(接口)AbstractGatewayFilterFactory:局部过滤器(抽象类) java8中已经写了几个特定过滤器全局过滤器: 局部过滤器:序号过滤器作用参数名参数值示例(filters配置)备注1 AddRequestHeader 添加请求头 name,value 添加的请求头及其值 AddRequestHeader=......
  • js深拷贝function
    js拷贝函数怎么操作使用bind()方法JavaScript的函数提供了bind()方法,可以用来创建一个新函数,该函数与原函数具有相同的代码,但其上下文和部分参数可以绑定。通过使用空的上下文和参数,可以实现函数的拷贝。functionoriginalFunction(){console.log("Originalfunction")......
  • After Effects 2024:打造引人入胜的视觉效果 mac/win版
    AfterEffects2024是一款由Adobe公司开发的视频特效和动画制作软件,是专业影视制作领域的必备工具之一。它可以帮助用户在Windows或Mac操作系统上创建各种类型的视频动画和特效,包括2D和3D合成、动画、色彩校正、音频合成等等。点击获取AfterEffects2023AfterEffects2024具......
  • sysbench 安装 postgres 测试环境( Connection to database failed: SCRAM authenticat
    报错Connectiontodatabasefailed:SCRAMauthenticationrequireslibpqversion10orabove的解决方案1、下载安装包https://gitee.com/xiaohai008/postgresql10-devel2、安装yuminstall-ylibiculibicu-develrpm-ivhpostgresql10-10.23-1PGDG.rhel7.x86_64.rpmrp......