VectorCAST—嵌入式代码自动化测试工具

型号: VectorCAST

--- 产品参数 ---

公司logo

北汇信息POLELINK

407內容 |  39w+浏览量  |  38粉丝

+关注

--- 产品详情 ---

VectorCAST是Vector旗下的一款权威的用于C/C++代码的动态自动化测试工具,可实现单元/集成测试(VectorCAST/C++)和系统测试(VectorCAST/QA)。VectorCAST遵循ASPICE、ISO26262等行业标准,适用于对自身有高安全性和高可靠性要求的嵌入式系统,降低开发风险,提高代码质量。

 

VectorCAST基于RAD模型开发,实现了与RAD模型的丰富集成,在功能上覆盖了需求分析、单元测试、集成测试、覆盖率分析、回归测试、部分系统测试等软件测试所涉及的各个环节。VectorCAST可运行在Windows、Linux等操作系统下,它最大的特点同时也是相比于其它同类工具最大的优势,就在于最大程序的自动化和更适合用于嵌入式环境。

 

image.png

图1  RAD模型

 

针对客户不同的代码测试需求,VectorCAST为客户提供了对应的解决方案,其中包括VectorCAST/C++和VectorCAST/QA工具;VectorCAST/C++用于单元/集成测试,VectorCAST/QA用于系统测试。

 

VectorCAST/C++

VectorCAST/C++是一套集成的软件测试解决方案,主要用于代码的动态单元测试和集成测试,能显著降低测试过程中所必需的时间、工作量以及成本。

 

image.png

图2  VectorCAST/C++

 

VectorCAST/C++特性:

  • 基于需求分析的测试

VectorCAST/C++可以与多种在线需求管理服务器比如Polarion/DOORS/PTC/IBM或者本地需求文档实现联调,基于测试需求自定义测试用例,实现测试用例和测试需求的双向追溯。

 

  • 代码覆盖度分析

VectorCAST/C++提供集成的代码覆盖分析工具,在单个或者多个测试执行中,提供关于源代码语句的报告,在源代码中,通过颜色标注代码的覆盖状态,红色代表语句未被覆盖,黄色代表语句部分覆盖,绿色代表语句被覆盖,在报告中,根据覆盖度需求,可通过颜色和百分比的方式统计多种测试覆盖率,为用户指明代码覆盖信息。

 

image.png

图3  VectorCAST覆盖率统计

 

  • 自动创建测试用例

VectorCAST/C++支持用户以多种形式的输入输出参数自动生成测试用例,不需要用户编写测试代码,完全通过GUI窗口自动完成参数设定,也可以基于不同的覆盖度需求自动创建测试用例,尽可能地达到覆盖度要求,包括基本路径、等价类、边界值和MC/DC测试用例,满足ISO26262中ASIL D的等级要求。对于基本路径覆盖,VectorCAST自动生成的测试用例可以达到90%~100%的覆盖率;对于MC/DC覆盖度, VectorCAST会基于MC/DC覆盖度要求分析代码结构,自动生成测试用例,用户也可根据MC/DC真值表去分析代码结构并创建测试用例。

 

image.png

图4  自动创建测试用例

 

  • 回归测试

VectorCAST具有强大的回归测试的功能,可通过GUI—Incremental或命令行的方式定期的执行测试用例,以增量的方式重构测试环境,检查代码变更,只执行被影响到的测试用例,节约项目测试时间,降低项目版本维护的成本。

 

  • 嵌入式目标环境测试----VectorCAST/RSP

VectorCAST/RSP是VectorCAST的工具套件中的实时支持包,VectorCAST/C++结合VectorCAST/RSP使用,支持在嵌入式目标板或是仿真器上直接进行实时应用测试,测试用例在主机设计,在嵌入式目标环境运行,实现嵌入式目标环境的实时测试。

 

  • 编译器集成

鉴于丰富的嵌入式系统,VectorCAST/C++支持多种(300+)主流的编译器,所有VectorCAST/C++生成的测试工具组件都将使用编译器自动编译和链接,同时VectorCAST/C++还提供了到编译器调试器的接口,以便可以在调试器的控制下运行测试用例。VectorCAST/C++支持的编译器和嵌入式环境列表(部分):

 

image.png

 

  • 测试执行跟踪和回放

考虑到代码的复杂度以及测试人员对代码的熟悉度,VectorCAST/C++支持单步回放测试用例对应代码的执行轨迹,协助完成代码覆盖度分析和代码调试。

 

  • 批量插入测试用例

VectorCAST/C++支持导入CSV等格式的数据列表,批量生成测试用例。

 

  • 与Jenkins集成实现持续集成开发/测试

 

VectorCAST/QA

VectorCAST/QA主要用于嵌入式开发的自动化系统测试,为白盒系统测试提供了一个集成的工作流程。VectorCAST/QA 通过集成用户软件编译/构建环境和已有的测试基础架构,进而获取软件在系统测试中的关键指标,如代码复杂度、代码变更频率、测试用例状态和代码覆盖度等。

 

VectorCAST/QA的特性:

  • 在系统测试期间自动捕获和维护代码覆盖率数据,帮助用户快速识别未被测试的部分,并确定提高测试完整性所需的资源;
  • 基于变更的测试,自动计算提供完整测试更改所需的最小测试集,或者是甄别出因代码变更而受影响的测试用例并重新执行;
  • VectorCAST/QA本身不能生成测试用例,但是VectorCAST/QA可以沿用客户已有的系统测试的框架和测试用例;
  • 自动对客户的源码进行插桩,添加代码覆盖率接口;添加覆盖率接口,会使得源代码有所膨胀,插桩越细致,代码膨胀率越大,所以VectorCAST/QA对系统有一定的要求;
  • 与Jenkins集成,在Jenkins中持续不断执行测试,实现持续集成开发/测试。

 

image.png

图5   VectorCAST/QA

 

资质认证

VectorCAST通过了南德TÜV认证,遵循相关的行业认证标准,比如汽车行业内熟知的ASPIC, ISO26262(ASIL D),工业标准IEC 61508,轨道交通行业标准EN50126等,而且VectorCAST也是目前市面上“唯一”一款针对大/小版本进行认证,并免费提供给用户《Safety Manual》协助其认证的代码测试工具集。

 

image.png

图6   认证证书

 

汽车行业用户/项目摘要

image.png