Cantata C/C++自动化单元与集成测试

加速单元测试与集成测试

面向 C/C++ 的 自动化单元测试与集成测试工具

动态测试

Cantata 是一款面向 C 和 C++ 语言的软件自动化单元测试与集成测试工具,帮助开发人员在主机环境(Host Native)以及嵌入式目标平台(Embedded Target Platform)上,对符合标准要求的软件代码或业务关键代码进行验证。

Cantata 通过自动化以下测试流程,加速软件满足相关标准对动态测试的要求:

  • C/C++ 单元测试框架自动生成
  • 测试执行自动化
  • 测试结果诊断与报告生成

Cantata 可与丰富的嵌入式开发工具链深度集成,包括编译器、静态代码分析工具、构建工具以及需求管理工具等。基于 Eclipse® 的图形化界面、紧密的工具链集成,以及直接在 C/C++ 源代码中编写测试用例的方式,使 Cantata 更加易用,帮助开发团队快速开展自动化测试。

探索 Cantata

核心特性
🔧 适配您的开发环境

Cantata 支持广泛的嵌入式开发工具链,并提供不受限制的目标平台部署能力,可灵活应用于不同开发环境。

⚙️ 集成式测试框架

强大的集成测试框架可自动完成:C/C++ 测试脚本生成、测试程序构建、目标平台测试执行、主机端详细测试诊断,全面支持单元测试与集成测试流程,提高测试效率。

📊 源代码度量分析

Cantata 提供超过 300 项 C/C++ 源代码质量指标,帮助开发团队对源代码的非功能性质量特征进行客观评估和可视化分析。

📈 深度代码覆盖率分析

Cantata 易于使用,可满足最高等级的法规标准要求。其深度代码覆盖分析功能与测试流程全面集成,能够快速定位代码覆盖率不足的位置,帮助开发人员完善测试。

🤖 AutoTest 自动测试生成

AutoTest 可自动生成测试用例向量,对 C/C++ 代码进行全面执行:实现 100% 代码覆盖率验证、检查数据、参数及调用顺序、自动创建回归测试用例、快速补充代码覆盖缺口,帮助开发团队降低手工设计测试用例的工作量。

💡 为什么选择 Cantata?

行业领先企业使用 Cantata 以实现:降低软件标准符合成本、降低软件失效带来的商业风险、降低测试成本、缩短产品上市周期。

🔗 需求可追溯性

Cantata 支持从以下需求管理工具到测试用例的双向追溯:ReqIF、Excel®、Polarion®、DOORS®、PTC Integrity®、CodeBeamer®,同时关联:测试执行结果状态和代码覆盖率信息,帮助企业建立完整的软件需求、测试与验证闭环。

🔄 独特调用控制机制——Wrapping

Cantata 独有的 Wrapping 技术,可自动拦截被测软件内部以及外部调用,并通过补充 Stub(桩函数)模拟,实现更加灵活和全面的软件单元测试。

🧪 灵活的测试方法

Cantata 支持多种嵌入式单元测试与集成测试方法组合:基于需求的测试、健壮性测试和结构化测试;黑盒测试 / 白盒测试;过程式测试 / 面向对象测试;隔离测试 / 集成测试。满足不同软件开发阶段和安全等级要求。

自动生成测试用例,加速测试进程

效率提升
自动生成测试用例

Cantata 可自动生成通过验证的单元测试用例,全面执行 C 和 C++ 代码,实现完整的代码覆盖测试。通过自动化测试用例生成能力,开发团队可以减少人工编写测试代码的工作量,提高测试效率。

🔧 适配您的开发环境

Cantata 可与交叉编译环境深度集成,并通过 Eclipse 图形化界面或代码编辑器直接开展 C/C++ 代码测试。无论现有开发工具链如何配置,Cantata 都能够快速融入企业研发流程,帮助开发人员快速上手并高效开展测试工作。

💰 降低测试成本

通过高度自动化的软件安全标准符合性测试能力,Cantata 可显著减少测试所需时间和人工投入。帮助企业降低符合功能安全标准要求的软件测试成本,加快产品开发进度。

经过认证的单元测试与集成测试工具

Cantata 已通过 SGS-TÜV Saar GmbH 独立认证,可用于最高完整性等级的软件安全标准开发流程。Cantata 提供免费的认证支持套件(Certification Kit),帮助企业满足相关安全标准认证要求。

🛡️ 降低软件失效风险

单元测试是验证应用程序代码最深入、最有效的方法之一。通过对软件模块进行全面测试,Cantata 可以帮助开发团队提前发现并修复缺陷,降低软件运行风险。

📊 实现 100% 代码覆盖率

Cantata 通过可配置的覆盖率规则集(Coverage Rule Sets)简化代码覆盖率分析流程。系统可自动完成代码插桩(Code Instrumentation)、测试数据采集与报告生成、覆盖率检查与验证,并支持主流软件安全标准要求下的覆盖率分析,帮助开发团队实现更高质量的软件验证。

Cantata 如何融入您的软件验证流程

流程集成
软件验证流程图
📋 COMPLY(符合性检查)
QA-MISRA

使用 QA-MISRA,在开发人员桌面环境中快速完成编码标准符合性检查。帮助团队在编码阶段及时发现不符合规范的问题,降低后期整改成本。

🧪 TEST(测试验证)
CANTATA

使用 Cantata,对符合编码标准的软件执行自动化动态测试。通过单元测试和集成测试验证软件运行行为,确保代码满足功能和安全要求。

🔍 ANALYZE(分析验证)
ASTREE

使用 Astrée,对完整应用程序进行运行时错误不存在性证明。Astrée 与 QA-MISRA 使用相同配置,因此后续将 QA-MISRA 项目迁移至 Astrée 进行分析时,无需大量重复配置,可有效降低应用成本。

QA Systems 的静态分析工具和软件测试工具支持完整的软件开发验证流程。针对以上软件开发阶段,QA Systems 建议采用循序渐进的验证方式,并结合针对不同目标设计的专业工具,实现高效的软件质量保障。

QA-MISRACantata 共享许可证捆绑方案

许可证捆绑

客户可选择 QA-MISRACantata 的组合解决方案,通过共享许可证池实现更灵活的软件工具使用方式。该方案支持将工具集成至基于 Eclipse 的集成开发环境(IDE),帮助开发团队在统一环境中完成代码分析与自动化测试工作。

购买 QA-MISRA 与 Cantata 捆绑方案,或将现有 Cantata 许可证升级为组合方案,均可享受更具吸引力的价格优势。

软件安全 标准符合性

认证支持

国际软件安全标准通常要求企业在设备软件认证过程中,提供低层级测试(单元测试与集成测试)的充分验证证据。此外,大多数安全标准还要求所使用的软件验证工具具备认证资质、工具认可证明,或经过实际项目应用验证。

Cantata 已由独立第三方机构 SGS-TÜV Saar GmbH 针对主要软件安全标准完成认证。当前 Cantata 认证证书可通过 SGS-TÜV 认证数据库查询(输入对应证书编号即可查看)。Cantata 针对不同安全标准提供免费的工具认证套件(Tool Certification Kit),其中包含:

  • 开箱即用的认证支持材料
  • 完整的软件验证指导文档
  • 支持设备软件认证所需的相关证明资料
SGS-TÜV 认证证书示例

已认证 / 可资质认可的安全标准 国际权威

验证证据 · 设备软件认证必备
ISO 26262 道路车辆——功能安全

面向道路车辆电子电气系统的功能安全国际标准,覆盖汽车软件开发生命周期中的安全管理、风险分析、设计验证及确认等过程。

汽车 ASIL
IEC 60880 核电站 · 计算机系统(安全类别 A)

规定了核电站安全重要计算机系统的软件开发要求,重点关注高安全等级软件的设计、验证和质量保障。

核能 安全类别 A
IEC 62304 医疗器械软件 · 生命周期过程

定义了医疗器械软件开发和维护过程要求,包括软件安全等级划分、开发流程、验证及维护活动。

医疗 SaMD
IEC 61508 电气 / 电子 / 可编程电子 · 功能安全

功能安全领域的重要基础标准,适用于工业控制、电气电子系统以及可编程电子安全系统的软件开发与验证。

工业 基础标准
EN 50128 / EN 50657 铁路应用 · 通信、信号与车载软件

针对铁路行业的软件开发提出安全要求,涵盖铁路控制系统、信号系统以及轨道车辆软件的软件生命周期管理。

铁路 信号系统
DO-178C 机载系统与设备认证 · 软件考虑事项

航空电子领域广泛采用的软件开发标准,用于指导机载软件开发、验证和认证过程。

航空 机载软件

其他 支持标准 行业补充

资质参考 · 多领域软件标准
Automotive SPICE 汽车软件过程改进与能力评估

基于 ISO/IEC 15504(信息技术——过程评估)框架,用于评估汽车软件开发过程能力,帮助企业提升软件研发流程成熟度。

汽车 过程评估
DO-278A CNS/ATM 系统软件完整性保障指南

面向航空地面系统软件(通信、导航、监视及空中交通管理),提供软件完整性保障相关指导要求。

航空 地面系统
ECCS-E-40 航天工程-软件

规定航天领域软件开发过程中的工程要求和质量保障要求。

航天 工程
Def Stan 00-55 英国国防装备安全相关软件要求

英国国防领域针对安全关键软件开发提出的规范要求。

国防 安全关键
MIL STD 498 美国军用标准—软件开发与文档规范

定义了军用软件开发过程及文档管理要求。

军用 文档
NASA 8719.13C NASA 技术标准—软件安全标准

美国国家航空航天局制定的软件安全标准,用于指导航天任务中的软件安全开发与管理。

航天 NASA

C/C++自动化单元与集成测试,支持正版软件试用