VectorCAST/C++

C和C++的自动化单元测试与集成测试

VectorCAST/C++是面向C和C++软件的高度自动化单元测试和集成测试解决方案,专为从事安全关键型和业务关键型系统开发的嵌入式开发人员而设计。在这些领域中,全面且可重复的测试是必须的,而非可选的。

该工具可自动根据源代码构建测试框架和模拟框架。工程师只需定义测试内容及预期行为,其余工作将由系统自动完成。

VectorCAST/C++适用于哪些人群?

VectorCAST/C++广泛应用于航空航天、汽车、医疗设备、工业控制和铁路领域的嵌入式软件开发人员和测试工程师,符合DO-178B/C、ISO 26262、IEC 61508、IEC 62304以及EN 50716标准。

优点

VectorCAST/C++消除单元测试中的手动工作量,同时又不牺牲程序所需的测试覆盖深度。

  • 大幅缩短测试开发时间

    自动构建测试框架和生成模拟对象(Mock),省去编写测试驱动程序和桩函数(Stub)的手动工作。只需编写测试用例,无需构建测试基础设施。

  • 按标准要求验证覆盖率

    集成的语句、分支以及MC/DC覆盖率分析功能,可直接从工具中生成认证审查所需的证据。

  • 无需人工维护即可持续测试

    测试项目会自动根据最新源代码重新执行。结果按日期、时间、单元和测试名称进行分类,确保回归测试的可靠性并降低维护成本。

  • 在主机、仿真器或嵌入式目标设备上进行测试

    在主机上开发测试,并使用VectorCAST RSP在嵌入式目标硬件上重新执行。无需重写测试。

  • 无缝集成,不影响现有工具链

    VectorCAST/C++可与现有的编译器、构建系统和持续集成(CI)环境无缝协作。原生支持GoogleTest,无需重写即可导入现有测试套件。完整的命令行接口和Python脚本支持使自动化变得简单直观。

应用领域

VectorCAST/C++广泛应用于各行各业,这些行业中的C和C++软件必须符合严格的功能安全或认证要求。

航空航天

根据DO-178B和DO-178C标准对机载软件进行单元测试和集成测试,包括在较高设计保证级别下所需的MC/DC覆盖率证明。

汽车

针对符合ISO 26262标准的软件组件验证,涵盖ECU软件项目中的需求可追溯性和回归测试自动化。

医疗

支持IEC 62304软件安全分类的单元测试,并提供完整的文档支持。

工业

针对IEC 61508功能安全项目的系统化软件验证。

铁路

符合EN 50716:2023标准的程序的软件验证与确认。

主要特点

VectorCAST/C++涵盖完整的单元测试和集成测试工作流,从测试框架生成到覆盖率报告,并具备灵活的支持能力,既可支持基于GUI的测试方法,也可支持以代码为中心的测试方法。

编写和运行测试

测试框架与模拟

VectorCAST/C++会根据源代码自动构建完整的测试框架和模拟框架。无需手动编写存根或驱动程序。该工具会使用编译器处理测试框架的编译和链接,并提供与编译器调试器的接口,以便在测试执行过程中诊断问题。

编码测试

编码测试功能允许开发人员使用xUnit框架直接用C++编写测试用例,简化测试的初始化和清理工作,并使测试之间共享对象变得更加容易。该功能与数据驱动的测试编辑器相辅相成,后者可在无需为每个测试用例的更新重新编译的情况下,生成完整的测试框架。

集成测试

在单个VectorCAST/C++环境中,可以同时对多个单元进行测试。依赖关系可通过模拟实现,或作为真实代码纳入,从而能够对涉及多个函数和单元的实际场景进行全面模拟。

测试驱动开发

VectorCAST/C++支持测试驱动开发(TDD)工作流。在编写应用程序代码之前,即可根据头文件构建单元测试。随着代码的逐步开发,当真实代码逐步替换掉桩函数和模拟对象时,测试将开始通过。从那时起,生成的测试套件即可用于自动回归测试。

分析与报告

集成代码覆盖率

VectorCAST/C++内置语句、分支以及主控/从控(MC/DC)覆盖率分析功能。覆盖率数据可与VectorCAST/QA共享,从而生成涵盖单元测试、集成测试和系统测试各阶段的综合报告。此外,还可以整合来自CPPUnit、GoogleTest及其他框架的覆盖率数据,从而提供整个测试计划的全面视图。

回归测试

测试项目会根据更新的源文件自动重新执行。测试结果按日期、时间、单元和测试名称进行整理,便于及时发现因增量代码变更而引入的回归问题。

探测点与数据控制

探测点允许在运行时对数据或控制流进行修改,有助于引导代码沿难以触及的路径执行。断言可捕获代码在执行过程中的特定点所处的状态,相关结果将记录在执行结果报告中。

报告与数据API

报告以XML格式提供,其中包括探测点报告,可生成适用于第三方工具的可解析列表。系统还提供基于Python的完整数据API,用于构建自定义报告和实现高级集成。

环境与整合

嵌入式目标测试

借助VectorCAST RSP,在主机环境中开发的测试用例可以直接在嵌入式目标设备上重新执行。VectorCAST RSP与交叉编译器和实时操作系统(RTOS)无缝集成,因此非常适合在目标硬件上验证实时应用程序的行为。

C++标准与平台支持

支持C++11、C++14、C++17和C++20,兼容多种编译器、模拟器和处理器架构。可在Windows和Linux系统上运行,并提供完整的命令行界面。

常见问题

需要更多信息吗?请联系我们!
Andreas Horn
技术市场策略经理
需要更多信息吗?请联系我们!
请填写表格,我们将与您联系,为您解答疑问并满足您的需求!

相关页面