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

2023-10-26

什么是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™

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C/C++的单元/集成测试工具 - VectorCAST/C++ 的相关文章

随机推荐

  • 3张照片打造专属形象!酷蛙FaceChain解密个人写真开源项目,人人AIGC!

    一 背景说明 各类AI写真软件由于其精准的个人形象 精美的生成效果引爆了朋友圈传播 证件照满足了用户刚需 古装照等风格照满足了用户 美照 的需求 酷蛙FaceChain开源项目团队推出了开源版本 希望结合开源社区开发者的力量 可以让图片应用
  • 操作符详解

    在之前的篇章说过 我们不能自己创建操作符 只能使用c语言所给的操作符 那今天就来看看操作符具体有哪些呢 目录 1 操作符分类 2 算术操作符 3 移位操作符 左移操作符 右移操作符 4 位操作符 5 赋值操作符 6 单目操作符 7 关系操作
  • 强化学习笔记------第一章----强化学习概述(超详细)

    强化学习讨论的问题是一个智能体 agent 怎么在一个复杂不确定的环境 environment 里面去极大化他能获得的奖励 首先 我们可以把强化学习和监督学习做一个对比 例如图片分类 监督学习 supervised learning 指的是
  • 一篇史上最全面的 Vue 代码风格指南,建议收藏

    作者 卡喵妹 https juejin cn post 6987349513836953607 一 命名规范 市面上常用的命名规范 camelCase 小驼峰式命名法 首字母小写 PascalCase 大驼峰式命名法 首字母大写 kebab
  • 【云原生】SpringCloud-Spring Boot Starter使用测试

    目录 Spring Boot Starter是什么 以前传统的做法 使用 Spring Boot Starter 之后 starter 的理念 starter 的实现 创建Spring Boot Starter步骤 在idea新建一个sta
  • Computer【HDU-2196】【在线LCA+树的直径】

    题目链接 include
  • PHP 自学教程之自定义函数及数组

    一 自定义函数 自定义函数就是我们自己定义的函数 在PHP中自定义函数格式如下 function funname arg1 arg2 arg3 TODO return values 下面举一个按值传递函数
  • Python 制作马赛克拼合图像

    Python 制作马赛克拼合图像 文章目录 Python 制作马赛克拼合图像 知识点 效果 环境 原理 RGB 色彩空间 HSV 色彩空间 RGB 与 HSV 色彩空间的转换 马赛克图片拼合 数据准备 导入需要的库 计算图像平均 HSV 值
  • Linux下Mysql

    1 安装查看是否已经安装了MYSQLrpm qa mysqlmysql 4 1 7 4 RHEL4 1点开add remove programe里面的mysql的detail勾上mysql server2 启动来检测mysql是否已经启动s
  • Redis系列--redis持久化

    一 为什么需要持久化 redis本身运行时数据保存在内存中 如果不进行持久化 那么在redis出现非正常原因宕机或者关闭redis的进程或者关闭计算机后数据肯定被会操作系统从内存中清掉 当然 redis本身默认采用了一种持久化方式 即RDB
  • Matlab 2021b安装教程-Matlab分析软件下载方法

    MATLAB是美国MathWorks公司出品的商业数学软件 用于算法开发 数据可视化 数据分析以及数值计算的高级技术计算语言和交互式环境 主要包括MATLAB和Simulink两大部分 下载方法 https docs qq com shee
  • 【数据分析实战】基于python对酒店预订需求进行分析

    文章目录 引言 数据加载以及基本观察 缺失值观察及处理 缺失值观察以及可视化 缺失值处理 用户数据探索 什么时间预定酒店将会更经济实惠 哪个月份的酒店预订是最繁忙的 商家数据探索 按市场细分的不同预定情况是怎样的 什么样的人更容易取消预订
  • CCNA考试题库中英文翻译版及答案11

    26 Two routers named Atlanta and Brevard are connected by their serial interfaces as shown in the exhibit but there is n
  • SpringCloud-微服务架构编码构建

    SpringCloud Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具 例如配置管理 服务发现 断路器 智能路由 微代理 控制总线 分布式系统的协调导致了样板模式 使用Spring Cloud开发人员可以快速
  • 010.CMake函数和宏(下)

    文章目录 函数和宏的根本区别 同名覆盖 总结 函数和宏的根本区别 函数和宏之间的一个根本区别 是函数引入了一个新的变量作用域 而宏没有 在函数内定义或修改的变量对函数外同名的变量没有影响 而宏与其调用者共享相同的变量范围 但是请注意 函数不
  • 我的第一个hbuilder项目,基于h5的五子棋游戏

    这是在老师的引导下完成小游戏 以下是今天学习的内容和知识分享 第一个游戏的操作思想 使用hbuilder软件 打开软件可在其帮助中 hbuilder入门 可以了解相应的软件使用方法 使用 菜鸟教程 网站 可在其中学习h5的相关知识 制作五子
  • 数据结构---堆排序

    堆排序 JAVA实现 和快速排序区别 二叉堆的构建 删除 调整是实现堆排序的基础 之前博客写了二叉堆 二叉堆 最大堆的堆顶是整个堆中的最大元素 最小堆的堆顶是整个堆中的最小元素 堆排序步骤 把无序数组构建成二叉堆 需要从小到大排序 则构建成
  • QT之模态

    模态 当一个窗口以模态显示 那么所有其他窗口的事件都被阻塞 停止运行 直到模态窗口关闭后才继续 MainWindow pMainWindow new MainWindow pMainWindow gt setWindowTitle QStr
  • Hbuilder X用不习惯?快来看看这些快捷键

    用惯了vscode Hbuilder X的使用也得熟练 快捷键如下 Ctrl N 新建文件 Ctrl W 关闭文件 Ctrl Shift W 关闭全部文件 Ctrl S 保存文件 Ctrl Shift S 保存全部文件 Alt 激活代码助手
  • C/C++的单元/集成测试工具 - VectorCAST/C++

    什么是VectorCAST C VectorCAST C 是一套集成的软件测试解决方案 能显著降低C C 测试过程中为达到安全性检测和嵌入式系统关键任务检测所必需的时间 工作量及成本 VectorCAST C 可自动实现 为单元测试和集成测