C/C++的单元/集成测试工具 - VectorCAST/C++

什么是VectorCAST/C++?

​VectorCAST/C++是一套集成的软件测试解决方案,能显著降低C/C++测试过程中为达到安全性检测和嵌入式系统关键任务检测所必需的时间、工作量及成本。


VectorCAST/C++可自动实现:

  • 为单元测试和集成测试构建完整的测试环境

  • 基于脚本命令或GUI图形界面执行测试

  • 集成最好的需求管理系统和静态分析工具

  • 根据基本路径来自动生成测试用例

  • 根据测试需求自定义测试用例

  • 回归测试

  • 在调试阶段进行测试的回放

  • 代码覆盖分析

  • 支持敏捷开发和测试驱动开发(TDD)

VectorCAST/C++的产品特点:

  • 对任意复杂度的C/C++代码自动生成完整的测试驱动和桩函数(无需编写测试代码)
  • 测试驱动支持复杂测试场景,包括同一测试用例中连续调用不同函数
  • 自动打桩能够获取输入,控制任何预定义或者用户定义类型的输出
  • 树状图形测试用例编辑器使用户方便创建和编辑测试用例
  • 1.    易于创建测试用例
    2.    测试静态,保护和私有函数
    3.    构建任意复杂的类的对象
    4.    测试多态性和动态分配
    5.    抛出和捕获不同类型和值的异常
    6.    测试复杂的类的继承
    7.    单独的测试模板例程
  • 捕捉和报告不期望的输出和信号
  • 命令行接口允许通过脚本执行所有功能

VectorCAST/C++的优势:

  • 兼容LINUX,UNIX,Windows编译器

  • 自动构建测试驱动和桩函数

  • 集成包含MC/DC在内的代码覆盖率分析功能

  • 支持主机,模拟器和嵌入式目标环境测试

  • 自动化的回归测试

  • ​用户可配置编译器接口

  • 支持DO-178B,ISO26262,IEC61508,FDA,IEC62304和CENELEC测试需求

VectorCAST/C++的功能

 

如何工作:

VectorCAST/C++首先分析您的代码,然后调用代码生成器根据测试要求去自动构建一套完整并可执行的测试组件。一旦测试组件被成功构建,用户可以使用VectorCAST/C++构建和执行测试用例,显示代码覆盖信息并生成测试报告。因为测试数据是独立于测试用例的,可以进行自动的回归测试。

 

完整的代码覆盖分析

在测试过程中,如果没有代码覆盖工具,源代码的哪些部分被执行到是很难确定的。VectorCAST/C++提供集成的代码覆盖分析工具,在单个或多个测试执行中,提供关于源代码语句的报告,为用户指明代码覆盖结果。代码覆盖度数据也可以被VectorCAST/Cover工具共享,生成集单元、集成和系统测试覆盖率结果于一体的报告。

 

测试驱动开发

VectorCAST/C++支持敏捷开发和测试驱动开发(TDD)方法。设计一旦完成,测试用例开发也就开始了。这使得用户可以在任何应用代码被开发前,就可以构建所有的单元测试。开始阶段,单元测试会由于缺少源代码而执行失败。但是,随着各单元开发的推进,源代码逐渐完善,单元测试会逐步通过。这些单元测试用例还可以用于自动化的回归测试。

 

嵌入式目标环境测试

VectorCAST/C++结合VectorCAST/RSP使用可以支持直接在嵌入式目标系统上测试。VectorCAST/RSP集成了交叉编译器和RTOS,成为测试实时应用测试的完美工具。测试用例可主机上设计,然后在嵌入式目标环境上执行,以验证目标机和交叉编译器的性能。

 

可重复测试

一旦测试用例被设计出来,就可以使用VectorCAST/C++自动运行测试用例对不同版本的软件进行测试。测试执行的管理和测试结果的记录都可由VectorCAST/C++工具自动化完成。通过比较同样的测试用例在不同版本的源代码上执行的结果,能在系统集成之前,发现因为对代码“不经意的修改”导致的严重错误。


支持集成测试

可在一个VectorCAST/C++测试环境中执行多个单元测试。这允许用户可以创建模拟跨单元和跨函数的复杂测试场景。


编译器集成

VectorCAST/C++支持主流的编译器,可以无缝的进行测试工作。所有的VectorCAST/C++测试组件都是使用指定的编译器自动生成和链接的。同时也提供了和编译器的调试器的接口,以便能够在调试状态下运行测试用例。

VectorCAST/C++支持主流嵌入式环境,包括:

  • Green Hills MULTI®

  • WindRiver Tornado®

  • LynuxWorks™

  • TI Code Composer Studio™

  • Diab SingleStep™

  • Cosmic

  • TASKING™

  • Synopsys® ARC™

  • CodeWarrior™

  • Analog Devices Visual DSP++®

  • ST Microelectronics®

  • HighTec TriCore®

  • Microchip®

  • Paradigm

  • Renesas™

  • ARM®RVDS™

  • IAR Systems®

  • KEIL™

  • NEC

  • QNX®

  • Borland®

  • Mercury Computer Systems™

你可能感兴趣的:(VectorCAST)