banner图
产品中心
PRODUCT
VectorCAST
PRQA
DT10
DT-Win
Squore
VectorCAST/C++
 


VectorCAST/C++™ - C and C++语言单元测试自动化


VectorCAST/C++是一套用来自动化C/C++单元测试、以及将单元结合后进行集成测试的动态测试方案,用于验证安全关键嵌入式系统必要的模块。 

 

 

-可用于新开发或旧版的程序

-易用性使一般企业也能从中体会C/C++单元测试的好处

-让开发者测试精简和可重复的技术

-将测试从手动的过程,提升为严谨的工程 

-建立自动化框架来分离新开发的代码,是已证明可降低成本的做法




Datasheet:

 

   VectorCAST/C++

 

C/C++单元和集成测试

一般而言, 单元和集成测试是开发人员于代码可构建后进行的。当软件组件创建好,测试代码随即生成取代被测单元的外部依赖。这部分的测试代码,称为测试套件,其中包含用来调用被测对象的测试驱动、取代外部依赖的桩函数等。Vectorcast自动化建立测试驱动,因此,开发人员可以更专注于代码质量和完整的测试用例建立。

 

使用Vectorcast/C++,您可以在主机上、模拟器上或目标机上进行单元测试。Vectorcast的运行支持包Vectorcast/RSP,是用来在目标硬件上自动和无缝执行测试用例的附加模块。此外,我们可以在主机平台/上位机建立测试代码,验证在嵌入式硬件上执行的结果与性能。

 

易用的回归测试

自动化软件单元测试的其中一个好处就是可以确保源码变更后不会引入新的错误。一旦生成了测试用例,即可以文本方式保存并轻易地保存在配置管理工具里。VectorCAST的命令行能在进行夜间构建的同时同步调用,进行单元和集成测试并生成报告,方便查看是不是引入新错误。在开发生命周期里,越早找到问题,将大幅减少后期调试的时间;从而提高代码质量和降低成本。回归测试的自动化,可以使用VectorCAST/Manage来实现。

 

VectorCAST支持源码测试及敏捷测试

源码测试支持已实现好的C/C++模块做单元和集成测试。敏捷测试支持进行敏捷开发流程中的项目。在敏捷测试中,不需要源码,只需要在构建测试环境时,将测试目录指到包含待测头文件的目录,并选择一或多个头文件成为被测单元即可。VectorCAST会自动创建测试环境,使用被测头文件中的函数原型定义。这样可以生成出来在上位机或嵌入式平台上运行的可执行文件。接着,可以使用和源码测试一样的功能。




Vectorcast C/C++单元和集成测试的功能包含有

-提供完整的C/C++单元和集成测试使用的测试套件构建 - 无需写测试代码

-自动构建桩函数及驱动代码

-支持图形界面或脚本方式运行测试

-提供针对嵌入式系统的优化代码覆盖率分析

-可整合The MathWorks® Simulink®, Green Hills® INTEGRITY®, IBM® Rational® DOORS® IBM® Rational® Rhapsody®, PC-Lint和其它工具

-支持目标环境和模拟器环境的测试执行

-提供代码复杂度分析高亮显示高风险的代码

-可依照代码中的判断路径来自动生成测试用例

-提供测试执行回放功能,助于调试

-整合业界优良静态分析工具

 

如何利用VectorCAST/C++来自动化嵌入式C/C++的单元和集成测试

VectorCAST/C++解析源代码,使用代码生成器自动建立测试代码(桩函数和驱动),用于生成完整和可执行的测试套件。

 

当测试套件构建好,VectorCAST/C++就可用于构建及执行测试用例,显示代码覆盖率和报告静态检查结果。测试数据和测试套件是分离的,易于进行自动化回归测试。
 


 

Vectorcast 执行套件的组成部分

-测试驱动

-被测源文件

-用以替代依赖对象的桩函数

-不打桩的源文件依赖

 

测试套件以数据驱动的方式执行,代表套件在执行的过程中才去读取测试数据。这个做法消除了执行新测试时需要重新编译连接测试套件的做法。

 

VectorCAST/C++同时生成代码覆盖率度量,用于了解测试中哪部分代码还未测试。易读的代码覆盖率视图,可以显示到代码行的位置,方便检视代码的测试程度;工具支持不同等级的覆盖率类型,也支持不同的产业标准如:IEC 62304, ISO 26262, DO-178B/C和IEC 61508。