产品中心
CANTATA
Cantata Hybrid
谷歌测试认证引擎。Cantata的这个专门子集是一个经济有效的替代方案,它允许开发人员运行现有的GoogleTest套件,从经过认证的单元测试工具生成测试结果证据和代码覆盖率。

Cantata Hybrid的主要特点:


✔通过ISO 26262, DO-178C/DO-330, IEC 61508等安全标准认证

不需要重写测试或学习新的工具

✔测试在主机/目标上运行,覆盖范围高达MC/DC级别

经济高效的替代昂贵工具认证方案

与其他 QA-Systems 认证的静态和动态测试工具集成


Cantata Hybrid弥合了开源测试和安全关键软件开发之间的鸿沟,使您能够实现与现有Google测试的功能安全遵从性。


Cantata Hybrid谷歌测试的认证引擎:独特的安全标准符合Google Test套件

从现有的google test生成经过认证的Cantata测试结果Cantata Hybrid通过使用非Cantata测试套件(如GoogleTest®和GoogleMock®)作为输入源来执行测试。该功能允许生成Cantata测试结果证据,与从认证单元测试工具获得的代码覆盖率数据无缝结合,以符合所有主要的安全关键标准。


安全标准符合性用于谷歌测试套件

Cantata Hybrid是Cantata®的一个专门子集,使测试能够使用非Cantata测试套件(即GoogleTest® GoogleMock®)作为输入运行,以生成Cantata测试结果证据,并结合来自经过认证的 单元测试工具的代码覆盖。


认证的Cantata测试结果

对于每个GTest®,每个GTest®-包括在ASCII和HTML格式实现的总代码覆盖率

Cantata核心产品,包括Cantata hybrid产品,已被SGS-TÜV GmbH独立认证,适用于所有主要软件功能安全标准的最高安全完整性水平。


这种Cantata和谷歌测试的混合体为谷歌测试提供了一个全自动的认证引擎。

Cantata hybrid工具不需要用户学习Cantata hybrid工具,或修改他们现有的GTest套件或模拟对象, 以及它们是如何构建和运行的。

Cantata hybrid是如何工作的

在命令行上调用Cantata Hybrid以执行scriptedbatch。它利用经过认证的Core ComponentCantata编译驱动程序和工具(CPPCCD)来设置cantata指令和选项,包括代码覆盖率,以便从aGoogleTest套件中定义的输入构建测试可执行文件。

针对目标环境的Cantata库的部署与源代码和GooqleTest套件相链接。当这个混合测试exe运行时,它执行GooqleTest套件中的所有GooqleTest和gooqlemock宏,并与它们等效的Cantata测试框架指令并行,收集每个测试实现的Cantata代码覆盖率。


Cantata Hybrid同时运行标准的Google测试和等价的Cantata测试,生成每个测试的结果,以及所有测试套件的详细和汇总代码覆盖率结果。覆盖率报告是使用Cantata实用程序(CPPGETCOV)以验证的格式生成的。

在主机或目标平台上运行测试

在Cantata Hybrid下的Google测试可以在任何目标平台上运行,其中已经为Cantata提供了针对特定目标的部署(模拟器、模拟器或物理目标板)。当测试exe在目标上运行时,功能和代码覆盖率测试结果被定向回主机以生成报告。

在测试中,源代码的副本将使用cantata测试指令和代码覆盖率,以确保产品代码永远不会为测试而修改。



为什么要为Google test使用认证引擎?

安全标准要求使用经过认证的工具

所有主要的安全相关标准都要求所有的测试工具都被证明适合于验证安全关键的应用软件。这可以通过工具鉴定或使用预先认证的工具来实现,具体取决于标准。


GoogleTest和GoogleMock是未经认证的开源xUnit风格工具。 Google®不在安全关键软件市场运营,因此不提供工具资格套件或工具认证套件。 大多数商业单元测试供应商,包括QA systems已经为他们的工具获得了独立的认证(例如Cantata),或者他们在必要的时候支持用户对他们的工具进行认证(例如。为 DO-178C)


GTest工具鉴定是昂贵的

像GoogleTest和GoogleMock这样的开源工具可以通过最终用户的认证。然而,与这种做法相关的成本可能非常昂贵和耗时,因为它涉及:

定义所使用的所有工具特性的需求

进行测试,以证明所有功能符合工具操作环境的要求

维护每个工具版本和工具使用环境的资质数据

支付独立的第三方机构为您执行上述任务

由于这些原因,大多数安全关键软件的开发人员没有资格GoogleTest和GoogleMock,而是选择像Cantata这样的认证测试工具。

GTest 工具资质替代方案

一种选择是使用预认证或可认证的单元测试工具(例如 Cantata)重写现有的 GTests。然而,根据现有的 GTests 数量,这可能是一种昂贵的测试迁移选项。


Cantata Hybrid 充当了 Google tests的自动认证引擎,为昂贵的 GTest 和 GMock 工具的昂贵工具资格提供了一种更具成本效益的替代方案。


Cantata Hybrid是认证Cantata工具的一个专门子集,它提供了一种独特的方法来执行现有的Google tests,而无需在认证Cantata工具中进行任何修改。它产生所有必要的认证测试和代码覆盖结果,以符合安全标准。


主要优势

  • 比GoogleTest工具认证便宜:cantata Hybrid的价格明显低于符合安全标准的GoogleTest和GoogleMock认证的成本。请参阅最后一页以了解许可证的详细信息。
  • 无需迁移或修改Google Tests:Cantata Hybrid使用不变的Google测试套件,因此团队可以维护现有的Google测试并开发新的Google测试。
  • 无需学习新的测试工具:使用Cantata Hybrid从CLI运行Google测试非常简单。经过认证的测试和代码覆盖率结果会自动生成。
  • 不需要经过认证的代码覆盖工具:gcov (GNU覆盖工具)也不是经过认证的代码覆盖工具。Cantata Hybrid覆盖率经过认证,并根据所有标准指标检查100%的代码覆盖率,直至MC/DC。
  • 使用标准Cantata进行扩展:当现有的Google测试没有达到100%的代码发现覆盖率时,标准Cantata(包括AutoTest)可以用与Cantata Hybrid相同的格式报告来填补这些覆盖率缺口。
  • 可用于多个平台:Cantata Hybrid没有平台许可限制,并支持以下内容:
  1. Windows或Linux上的GoogleTest v1.13以上版本
  2. g++ v13.2和Visual Studio到2019
  3. 任何可用于aCantata目标部署的嵌入式目标环境(为模拟器、仿真器、物理硬件交叉编译)
  4. Visual Studio代码与Cantata CTR VSCode扩展

经过认证的测试和代码覆盖率结果

Cantata Hybrid作为Cantata的一部分,已获得 SGS TÜV的独立认证,适用于所有主要功能安全标准的最高安全完整性级别。

覆盖指标:

>入口点( Entry Points

>调用返回(Call Returns

>语句(Statements

>基本块(Basic Blocks

>决策(分支)(Decisions (Branches)

>条件(Conditions

>MC/DC

>循环(Loops)

>关系运算符(Relational Operators)


QA Systems验证中心工具

QA Systems静态分析和动态软件测试工具支持以下软件开发线性流程中的验证。我们建议对这些验证阶段应用顺序方法,并针对每个目的使用工具。