VectorCAST使用技巧心得(下)

VectorCAST产品和市场说明 1.技术参数: l  对任意复杂度的C/C++代码自动生成完整的测试驱动和桩函数(无需编写测试代码); l  测试驱动支持复杂测试场景,包括同一测试用例中连续调用不同函数自动打桩能够获取输入,控制任何预定义或者用户定义类型的输出; l  支持TDD(Test-Driven Development)开发模式,即在未开发.c和.cpp源码文件的情况,能仅根据.h头文件就能自动生成测试用例; l 阅读详情

前两篇博客已经比较详细地介绍了VectorCAST从安装,到搭建环境、进行测试的全过程。本篇文章主要介绍一些操作心得,以及补齐最后测试结果分析和导出的内容。

由于文中的操作涉及到具体代码,所以一些截图中的代码部分只好用马赛克遮掩,希望不会对大家的阅读造成问题~

参数/函数实例化

具体测试过程中,经常会遇到函数调用外部接口的情况。

如图内容:

这里被测函数逻辑中,调用另一个函数(VerifyReceivedValidityMarkerForHash())的返回值进行判断,若返回值为是,则执行一个逻辑,若返回值为否,则执行另一逻辑。这种情况下VectorCAST自动生成的testcase很可能会无法区分两种情况,导致自动生成的测试case无法覆盖全部情况,我们需要手动进行赋值。

打开testcases窗口,在Parameter Tree中找到需要赋值的函数,这里由于需要赋值的函数是外部接口,我们需要先把左边的勾勾上:

然后在Input Values中将其赋我们需要的值即可。

赋完值记得左上角保存,然后重新跑对应的test case即可。

有时我们需要改变的值不是函数而是某一参数(全局变量或者局部变量),我们同样只要找到对应的参数进行修改即可。记得不要找错了哈。

有时某些参数/函数会多次调用,且每次调用时需要的值不同,如图:

这也很简单,可以通过Range/List使该参数在每次调用的时候发出不同的桩值。

右键该值,选择property即可找到:

效果和直接在Input Values里面输入多值,用逗号隔开是一样的:

对于有些函数(如switch),可能每次都会通过上次break出的值来判断这次的执行,这样则需要用compound复合测试用例实现多次调用函数。在上一篇中其实有讲过,这里不多说明,欢迎大家自行摸索。

User Code

User Code是更加灵活的手动赋值选择。对于一些值,譬如需要对指针参数所指对象进行赋值,就可以使用User Code进行赋值。

如下面例子中,获得的是指针函数,但是后面使用指针所指地址的值进行计算。

User Code同样通过对应函数右键property打开进行更改。

更改完了记得Test Compile一下,保证代码编译没有问题后再保存进行测试。

Probe Points

Probe Points(探针) 是一种可以不改变原代码逻辑而直接对代码进行赋值的功能。非常方便。

不过要注意,Probe Points是需要额外license的,如果你在某一个环境中使用了Probe Points, 那么后续想要打开都得有这个license才可以,还是挺蛋疼的。(有时候真的抢不到license啊啊啊)。

这里直接在判断条件之前插入需要的值,即可完美覆盖到对应的case, 真是十分方便:

这里vcast_test_name_equals是VectorCAST自带的判断函数,后面加上对应case名,即可仅适用于对应名字的test case.

除此之外还有很多其他的预定义函数,不过我没用过,大家可以参考官方文档自行学习。

probe points写好之后需要1. 点击上面的编译按钮,2.点击save到applied才能适用。之后跑对应case即可。

CBA(Covered By Analysis)

对于实在无法覆盖的代码,可以考虑covered by analysis。

右键对应函数即可找到。

当然,这样操作需要先确定公司能够接受。

报告查看和导出

在project这右键点击Reporting可以看到整个project的总览报告。

在具体environment这点击Full Report可以看到对应环境的测试报告:

Ctrl + S即可保存,当然也可以在工具栏选择保存。

总结

这里一共用三篇文章综合介绍了本人对VectorCAST使用的心得,个人认为虽然不算很深入,但应该能支持初学者日常测试使用了。另外还有一些lesson learn由于针对具体情况,就不进行分享了。大家有使用问题也可以讨论交流,或者直接找vector help寻求解决。谢谢!

关于Linux系统VectorCast单元测试和集成测试详解/linux系统更换镜像源/ 比较全面的linux系统VectorCast测试环境搭建方案,以及部分问题解决 阅读详情

相关推荐

【项目实战】自动化测试软件VectorCAST介绍

VectorCAST是一款先进的自动化测试软件。VectorCAST是一款功能强大、易于使用的自动化测试软件。VectorCAST适用于各种嵌入式系统的测试。VectorCAST为嵌入式系统的测试提供了一种高效、可靠的解决方案。VectorCAST提供了一整套完整的测试工具,包括测试管理、代码覆盖、缺陷定位、报告生成等,以帮助开发人员提高测试效率,确保软件质量。VectorCAST支持。

奶爸的编程之路,也就一周冷个三天 2011

VectorCAST 用法

项目有功能安全要求,用到 VectorCast 自动测试软件。 (环境的建立有空再介绍) 当测试环境的工程文件有更新时,需要重新 build 测试工程,点击 build -> full。 会弹出是否接受源文件改动的窗口,选择接受改变。 测试项开始重新build,第一次build 时,工程自动打开Keil跑一遍,但不运行任何测试用例,可能是只打通一下。 双击测试项,弹出如下窗口,并给 fun 函数新建一个测试用例 abs.001 上面两个函数原型是: (1) 不对 GetV..

u012451908的博客 8590

VectorCAST/C++做单元测试

特色: 1.兼容LINUX, UNIX, Windows编译器 2.自动构建测试驱动和桩函数 3.集成包含MC/DC在内的代码覆盖功能 VectorCAST/C++首先分析您的代码,然后调用代码生成器根据测试要求去自动构建一套完整并可执行的测试组件。一旦测试组件被成功构建,用户可以使用VectorCAST/C++构建和执行测试用例,显示代码覆盖信息并生成测试报告。 通过/失败----测试用例被执行后的结果以不同颜色(绿色、黄色、红色)显示在GUI中; 代码覆盖率----对代码标注颜色进行显示,覆盖级别包括语

qq_43552564的博客 3351

VectorCAST软件下载安装使用试用培训购买技术支持

#从V模型说起 ##什么是V模型 V模型示意图1 V模型示意图2 ##特点 清楚的标识了开发和测试的各个阶段;开发和测试同等重要(左边部分是开发,右边部分是测试),但有明显的先后执行步骤。 ##缺点 把测试仅放在了形成产品编码之后,如果在验收测试这一过程中,程序错误或者需求偏离造成客户给了否定票,那么此次任务产品设计开发可能会实现零收入,或者如果进行修改无疑增加了投入成本,延长了开发周期。(缺乏及时性) ##解决方案 要在产品设计过程中就应该考虑到测试,即软件开发的时候,开发人员和

wanglequshuijiao的博客 3819

VectorCAST入门指导

VectorCAST嵌入式软件测试平台是一系列产品,在整个软件开发生命周期内提供自动化测试。本篇作为入门引导,实例说明如何使用VectorCAST,抛砖引玉!

汽车电子软件领域知识分享 1924

VectorCast_(user_code)使用教程

VectorCast_(user_code)使用教程

VectorCAST单元测试参数配置

使用脚本文件启动 VectorCAST,可以在启动时设置好编译器相关的环境变量,方便 VectorCAST 在构建环境时自动调用编译器,找到相关路径。VectorCAST 会调用项目本身的编译器,对测试套件进行编译和链接, 生成一个可执行文件,这个可执行文件运行在目标板或模拟器上。在上方文本框中粘贴完整的编译命令,点击 Parse 按钮,会自动将-I (Includes) 和-D (Defines) 选项 解析出来,解析后的内容可以在下方的文本框查看,点击 OK 按钮后,这些解析的结果可以同步在设置中。

嵌入式之斋 4845

Vector Cast使用手册

单元测试,集成测试工具Vector Cast使用手册,如何做单元,集成测试;如何手动,自动生成测试用例等

VectorCAST使用技巧心得(上)

本文介绍了VectorCAST嵌入式软件测试平台的使用经验。作者分享了该工具在汽车行业单元测试中的应用,提供了学习资源推荐(官方文档、B站教程),详细说明了软件安装和许可证配置步骤(环境变量设置、批处理文件创建),并对软件界面进行了简要说明。文章旨在帮助初学者快速掌握VectorCAST的基本使用方法,特别适合从事嵌入式软件测试的工程师参考。

ThomasLinEdison的博客 1216

从拆箱到跑通:Intel RealSense D435i开箱实测+ROS驱动配置全流程

本文详细记录了Intel RealSense D435i深度相机的开箱体验,并提供了在Ubuntu 22.04与ROS2 Humble环境下,从安装librealsense2 SDK到配置ROS2驱动的完整流程。重点解决了驱动安装、数据流发布、点云对齐以及IMU数据融合等关键步骤,帮助研究者和开发者快速实现D435i与机器人系统的集成。

weixin_29168393的博客 304

自抗扰控制ADRC原理解析及案例应用

ESO的设计通常基于系统动态方程的线性化或近似模型,其输出包括系统状态的估计值和总扰动的估计值。非线性状态误差反馈控制律(Nonlinear State Error Feedback,NLSEF)是ADRC的最后一个环节,负责根据ESO和TD提供的信息生成控制信号。ADRC的另一个重要发展方向是与其他控制策略的融合,如模糊控制、神经网络和自适应控制等,以进一步提高系统的鲁棒性和适应性。ADRC的参数主要包括扩张状态观测器(ESO)的参数和非线性状态误差反馈控制律(NLSEF)的参数。

LIUMAO99的博客 9285

VectorCAST使用技巧心得(中)

本文介绍了VectorCAST测试环境的创建与测试用例的执行流程。首先详细说明了项目和环境的区别与创建方法,项目用于整合测试信息,环境针对单个文件测试。创建环境包含8个步骤:选择编译器、命名环境、选择测试方法、设置编译选项、配置源文件、选择被测代码、添加用户代码和确认配置。测试用例分为单元测试和复合测试,可通过右键函数创建,支持基本路径、输入划分和MC/DC等多种覆盖标准。执行测试后可查看覆盖率和调试,并支持手动编辑测试用例中的变量值和预期结果。文章为后续进阶使用奠定了基础。

ThomasLinEdison的博客 1220

MATLAB基础应用精讲-【数模应用】信用评分模型(附R语言和python代码实现)

信用评分模型是近年来兴起的一种为了保障银行和其他金融部门的金融安全而设立的一种关于人身金融权限的划定模型。该模型指根据客户的信用历史资料,利用一定的信用评分模型,得到不同等级的信用分数,根据客户的信用分数,来决定客户所可以持有的金额权限,从而保证还款等业务的安全性。而随着在现代社会和公司中,贷款,信用卡的作用日渐突出,信用评分模型的发展前景不可估量。信贷风险是指借款人因偿还贷款或履行合同承诺而破产而产生损失的可能性。传统上,它与贷款人无法偿还所欠利息和本金、影响现金流和增加装配成本所产生的风险有关。

qq_36130719的博客 364

VectorCAST快速使用指南

VectorCAST / C++™ 是单元测试工具,能够对基于 C 或 C++代码的项目进行单元测试或集成测试, 能够轻松地独立测试整个项目中任何子文件或子文件集。VectorCAST / QA™是系统测试工具,能够对基于 C 和 C++代码的应用程序进行代码覆盖率分析。VectorCAST/Lint 是静态测试工具,基于 MISRA C(2012)/C++(2008)规范进行工程级别的代码静态检测,可自主删减规则。

弈星的博客 7744

iStoreOS等软路由插件卸载的残留?分享一款软路由高级卸载工具,自定义卸载,轻松解决卸载残留问题

iStoreOS用户看过来!👀 还在被插件包残留困扰吗?本文分享一款“高级卸载”的插件,助你深度清理iStoreOS系统,彻底解决软件卸载不净的痛点,告别频繁恢复出厂设置的烦恼!🚀

XiaoqiangClub的博客 1542

Autosar 下电过程-基于ETAS工具

本文介绍基于ETAS工具对应的BIP包的下电过程,仅供参考。在最后调用SBC下电时,需要理清楚SBC的休眠流程,否则可能会出现休眠又唤醒情况。后面有空会介绍9471的休眠流程。

赞的博客 811

VectorCAST安装指南

在这个例子中,许可证服务器的主机名是cn01439nb,MAC地址是98FA9BD88094,lmgrd端口为27000,如不配置,默认为27000。如下图,27000为默认端口号。如果已知license服务器的信息,比如xxx@ooo,则可以直接选择第二步,然后输入xxx@ooo,这样工具会自动创建VECTOR_LICENSE_FILE的环境变量。参照检查许可证文件章节描述,固定lmgrd和vector申请的端口,并将lmgrd.exe和vector.exe及对应的端口号添加到服务器防火墙的入站规则中。

弈星的博客 6239

2026年高教社杯数学建模国赛A题解题思路:从物理方程推导到MATLAB高效求解的全流程实战指南

□所有代码能够从头运行到尾,不报错(清除workspace重新跑一遍)□论文中的每个图号、表号、公式编号与正文引用一致□附录中附上核心代码(注意:不是全部代码,而是关键求解器和后处理部分)□支撑材料压缩包包含完整代码、数据文件、README说明□摘要字数严格控制在1000字以内,突出创新点和核心结果□。

YOLO 110

基于S32DS的 VectorCAST 测试环境构建

这里我的理解是,VectorCAST里面有一个模拟器,在对单个**.c**文件进行单元测试时,模拟器会生成一个最小系统,这个最小系统包括芯片的启动文件和被测试的.c文件,通过生成Driver和Stub,最终编译链接成一个可执行程序。Driver在这里就像是一个main函数,main函数里面调用的函数,是被测试.c文件里面的函数。因为代理商给你的这个Demo,编译器和模拟器的路径是基于他们电脑上的安装位置,这里要改成自己电脑上的。:这个文件夹里面是一些芯片相关的支持文件,如芯片的启动文件,链接文件等。

BigGrayBear0202的博客 1707

华为OD机试真题 新系统2026-04-01 Python&JS 实现【勇攀数字高峰】

请你在给定的数字地形图中寻找登山路径,数字代表当前位置的海拔高度,要求从最低海拔出发,不断攀登,最终到达最高山峰。你需要寻找所有满足条件的登山路径。地图已经保证最低海拔和最高山峰都只有一个。

MISAYAONE的博客 849

数字孪生通信层开发:C#实现OPC UA到Unity3D的实时数据映射(2026年工业级实战指南)

(西门子数字孪生总监):“在产线上,50ms的延迟意味着1%的设备误操作率。2026年,通信层不是‘工具’,是数字孪生的‘生命线’。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 182

【亲测免费】 VectorCAST使用手册下载

VectorCAST使用手册下载 【下载地址】VectorCAST使用手册下载 本仓库提供了一个资源文件的下载,该资源文件为《VectorCAST使用手册.rar》。该文件包含了VectorCAST软件的详细使用手册,适用于需要深入了解和掌握VectorCAST工具的用户 ...

gitblog_09716的博客 590

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

在VectorCAST for Linux中使用分类树功能生成测试用例

在软件测试中,测试用例的设计是对测试质量而言非常关键的软件测试活动,因为测试用例集合的选择对测试的深度和测试范围的影响非常大。分类树方法是由Grochtmann和Grimm在1993年提出的,是在软件功能测试方面一种有效的测试方法,通过分类树把测试对象的整个输入域分割成独立的类。按照分类树方法,测试对象的输入域被认为是由各种不同的方面组成并且都与测试相关。对于每个方面,分离和组成各种类别,而分类结果的各类又可能再进一步地被分类。这种通过对输入域进行层梯式的分类表现为树状结构。

Trinity_Techologies的博客 1260

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

使用 VectorCAST 进行覆盖率分析

总之,使用 VectorCAST 进行覆盖率分析是一个系统的工程活动,核心价值在于暴露测试盲区,指导测试补充。有效的实践不在于单纯追求数字,而在于将覆盖率数据与代码逻辑分析、需求追溯紧密结合,形成“测试-度量-分析-改进”的闭环。对于资源受限或高安全要求的项目,灵活运用分析性覆盖与执行性覆盖相结合的策略,是保证效率与合规性的关键。

leohu0723的博客 997

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

VectorCAST指导手册

VectorCAST指导手册 【下载地址】VectorCAST指导手册 《VectorCAST指导手册》是专为开发者打造的自动化测试指南,深入解析VectorCAST这一强大工具的核心功能与应用。手册全面涵盖从基础概念到高级实践的各个层面,包括安装配置、测试项目管理、用例编写与执行、结果分析等关键内容。无论您是进行嵌入式...

gitblog_06780的博客 457

【亲测免费】 VectorCast_(user_code)使用教程

VectorCast_(user_code)使用教程 【下载地址】VectorCast_user_code使用教程分享 本仓库提供了一个名为“VectorCast_(user_code)使用教程”的资源文件。该教程详细介绍了如何使用VectorCast工具进行用户代码的测试和分析。无论你是初学者还是有经验的开发者,这份教...

gitblog_06682的博客 1019
上一篇: VectorCAST使用技巧心得(中)
ThomasLinEdison
博客等级 码龄3年 5粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值