动态测试工具Cantata 9.1新版将带来哪些新特性?

​2020年10月,Cantata 9.1版本正式发布。该版本进一步扩展了对C++代码执行AutoTest测试的功能,新增了HTML格式认证报告,并包含了其他提高生产力和灵活性的增强功能。以下是重要的更新功能:

增强了对C++的AutoTest支持

具体表现在:

● 支持C++11和C++14的所有语言特性

(针对基于g++的编译器)

● 运行时的类型信息

这些建立在Cantata 9.0对C++的支持上:

● C++的具象和抽象基类

● 重载与继承

● 名字空间与类

● 异常处理

● 代码中显式实例化的模板

● 混合的C和C++代码

Cantata AutoTest分析C++代码,根据定义的结构化代码覆盖度量(例如,100%入口点、100%语句、100%分支、或100%唯一原因法MC/DC)确定所有可能的执行路径,然后它的算法使用Cantata强大的白盒测试能力设置数据、参数和控制函数调用,以建立执行这些必要路径的测试用例向量。

六倍速GUI

当Cantata用户处理更大或更复杂的测试工程时,Cantata Eclipse界面要加载的数据也更多。在Cantata 9.1中,Cantata Eclipse界面进行了优化,加速数据在多个同步的测试视图中的加载。

作为试验,我们使用了一个基准的Eclipse工作空间,含有135个源文件的C++工程,使用缺省配置生成Cantata测试脚本。

在Cantata 9.0中需要耗时30秒,而在Cantata 9.1中只用了5秒(快了6倍)。

HTML格式的认证报告

在共享测试结果时,HTML格式是用户友好的。在9.1版本之前,Cantata只有纯文本的Cantata Test Result(.CTR文件)可以用做认证证明材料,因为XML和HTML报告是由Eclipse插件生成的,而这样的辅助工具不是经过认证的Cantata核心产品的组成部分。

现在Cantata 9.1提供了命令行和图形界面两种方式,使用一个新的经过认证的产品组成部分(一个可执行文件),将Cantata Test Results(.CTR文件)从纯文本转换成HTML格式。它将测试结果输出为单个HTML文件,此文件可以作为测试结果的认证证据提交,用以符合Cantata支持的各个安全标准。

HTML格式的CTR文件里面的内容段落能够展开/合起,深入测试用例的详细结果,也为检查、诊断和错误提供了容易辨识的颜色。

动态测试工具Cantata 9.1新版将带来哪些新特性?
图 1 HTML格式的CTR文件

CTR格式的变化

Cantata 9.1在.CTR文件的代码覆盖率部分为文件名字提供了全路径,便于标识在一起测试的多个同名的源文件。在测试总结段落(.CTR文件或是控制台打印的)中,完整的测试用例名字也得以显示,而之前版本中这些测试用例名字是被截断的。

更方便的调用控制

Cantata 9.1在.CTR文件的代码覆盖率部分为文件名字提供了全路径,便于标识在一起测试的多个同名的源文件。在测试总结段落(.CTR文件或是控制台打印的)中,完整的测试用例名字也得以显示,而之前版本中这些测试用例名字是被截断的。

动态测试工具Cantata 9.1新版将带来哪些新特性?

图 2 Test Case Editor的新布局和External Calls管理视图

更加灵活地添加和排除代码覆盖率

在以前的版本中,被测软件(SUT)的代码覆盖率配置是限定在模式匹配上的,模式匹配选择添加或者排除Cantata工程中的源文件或头文件。现在大规模代码的集成和系统测试越来越多选用Cantata工具,为了适应增长的需求,Cantata 9.1更加灵活,允许对文件和文件夹使用模式匹配。基于文件的选择非常适用于从代码覆盖率快速排除头文件。基于文件夹和文件的添加/排除可以是绝对路径和相对路径。

为了使报告更加清晰,Cantata 9.1的代码覆盖率结果可以设置为在.CTR文件中报告文件组的覆盖率或者以文件为次序的代码行的覆盖,替代了默认的以SUT执行为次序的覆盖率报告。

更新了Eclipse支持版本

Cantata的每个版本都有支持平台的变化。

Cantata紧密地与Eclipse®的IDE环境以及Eclipse-Ready®插件集成。

Cantata 9.1建立在Eclipse 2019-12版本(Eclipse 4.14)上,也可以作为从Luna(4.4)版本直到Eclipse 2019-12(4.14)版本的Eclipse-Ready插件来安装。

获取Cantata9.1新版的免费试用,访问官网http://qa-systems.cn/提交详细需求。