VectorCAST使用技巧心得(中)

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

接上一篇,本篇介绍VectorCAST环境的创建,测试用例的创建和测试的执行。

VectorCAST测试项目和环境的创建

在Home中选择Build a Unit Testing Environment for C/C++即可创建新的项目和环境:

也可以在菜单栏File这里选择创建新的项目和环境

VectorCAST中的项目(Project), 是指用于统合一个项目测试、执行、分析信息的工程集合,对项目的一些设置,可以应用于项目之下的所有环境。适用于项目级别的单元测试执行。

环境(Environment),则是针对单次测试的测试环境,一般每个.cpp文件,会搭建一个环境用于测试,当然也可以在一个环境中测试多个.cpp文件。如果测试工程较小,可以不创建项目,但是环境是必须要有的。

创建新项目

选择创建新项目时,会弹出如图窗口:

Project Name: 项目名称

Compiler: 选择编译器,在右边的下拉选项中可以进行拉选(见下图)

Base Directory: 项目根目录,选择项目在本地存放的地址

新项目视图如图:

创建新环境

新环境也可以在项目这里创建:

点击弹出环境创建页面

新环境创建需要选择的地方比较多,共有8步,见窗口右侧内容,这里我参考官方C++教程环境一个个介绍。

1. Choose Compiler

在这里选择对应的编译器,同时配置编译命令

下方可以看到Defined variables, 这里可以添加预定义的参数信息

在Test Settings里面可以进行测试编译测试,如果环境编译有问题,可以在这里锁定问题点,是很有用的一个选项

进入Test settings, 里面将文件的编译分解为Preprocessor, Compiler, Parser三个部分,点击Test可以对三个阶段分开进行调试,在下方窗口确认报错信息,并定位修复

另外在这里可以添加preinclude的头文件。

其他的部分我一般不会改动,大家可以自己学习探索。

2. Name the Environment

环境命名,没什么好说的

3. Testing Method

选择测试方法,一般选择传统单元测试即可,如有特殊需要也可以选择其他的

4. Build Opetions

对编译的一些选项进行选择,如覆盖度判断标准,黑白盒之类的

5. Locate Source File

这里配置源文件的地址等信息。需要注意到,不仅是被测试文件,所有涉及到的头文件,其他代码文件都需要被加入这里,不然可能会导致编译失败

值得一提的是这里可以设置directory为search directory或者library include directory, 即搜索目录或者仅作为lib引用。一般仅作为头文件引用的directory都可以设成library include。

6. Choose UUT & Stubs

这里选择测试的code, 将对应.cpp文件选中到右边,即可编译并进行测试,这里也有加减桩的选项,有时候可能需要用户手动加减桩,来进行测试执行

7. User Code (Optional)

这里可以加入用户自定义的全局变量,环境变量,代码等,从选择tab也可以看出这里为可选

8. Summary

对用户所有配置的总结一览,这里不再过多说明。

全部选择完毕后,点击build即可编译环境,(由于我这里用官方教程环境进行说明,环境已经build过了,所以显示的是update)。

build完成后转到Test cases目录,即可在这里配置test case并执行

VectorCAST测试用例的创建

环境build完成后,进入Test cases目录:

1. Compound Tests,这里可以创建复合测试用例

2. Initialization Tests,这里可以创建初始化测试用例,这个我没有用过,但是使用场景还是比较好理解

3. 这里显示了你编译的文件下所有的函数,可以以函数为base创建测试用例

创建单元测试用例

右键点击对应的函数即可自动创建单元测试用例

Basis Path Test Cases: 即基本路径覆盖测试用例,确保每个分支都能够跑到一次的用例设计

Partitioned Test Cases: 输入划分测试用例,即筛选出具有代表性的测试用例,如最大值,最小值,中间值,有效值等

MC/DC Test Cases: 即修正条件覆盖测试用例,确保每个条件,每种组合可能都被跑到

本人在测试时主要选择基本路径和MC/DC,确保这两条均能覆盖,小伙伴们在测试时还请以公司要求为准。

创建复合测试用例

如果某个测试需要运行某一函数多次,或者依次分别执行某些函数,则可以选择创建复合测试用例

这里增加复合测试

直接将需要跑的单元测试用例拖拽到Compounds中

可以调整执行顺序

VectorCAST测试用例的执行

不管单元测试还是复合测试用例,鼠标右键Execute即可执行

Excute with Debug则可以进行debug,环境会停在对应函数,方便用户进行调试

可以很方便的在test cases界面中看到执行结果,以及覆盖率

点击工具栏这两个绿色的选项,即可以看到覆盖率窗口,右边窗格中绿色的即为已经完全覆盖的语句,红色为未覆盖的,如出现黄色,则表示语句被覆盖了,但是未测试所有条件组合

手动编辑测试用例

VectorCAST自动生成的测试用例,会根据代码逻辑生成可以覆盖所有分支、条件的用例进行测试。不过实际测试过程中嘛,emmm。。。懂得都懂,系统并没有那么智能,很可能由于各种各样的原因,导致某些语句无法跑到,或者直接运行失败。这个时候就需要手动编辑测试用例,来进行测试了。

右键点击用例,选择Open Test case:

这里弹出一个新窗口,即为测试用例手动编辑窗口,在这里便可以对变量进行手动赋值,手动更改函数的返回值或者初始值,还可以设置expected values与执行结果进行比较:

如图,这里将MemberVariable改为1,则test case就会以这个值进行执行了

本篇就写到这里,后面有一些进阶的经验,用法,会在下篇带给大家。希望对大家有所帮助!

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

ThomasLinEdison的博客 1216

Vector Cast使用手册

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

VectorCAST使用技巧心得(下)

本文分享了VectorCAST测试工具的使用心得,重点介绍了参数/函数实例化、UserCode、ProbePoints等高级功能的操作方法。针对测试中遇到的函数调用外部接口、参数多次调用等复杂情况,详细说明了手动赋值的具体步骤和注意事项。文章还补充了测试结果分析和报告导出的内容,为初学者提供了完整的测试流程指导。作者总结了VectorCAST的实用技巧,并提醒用户注意ProbePoints的license限制问题,最后建议读者通过官方文档进一步学习其他预定义函数的使用方法。

ThomasLinEdison的博客 1330

ESXI 7 :创建统信V20_1050d服务器系统虚拟机

记录一下在 X86 架构创建统信V20_1050d 虚拟机遇到的问题。已遇到的问题有①:常规服务器环境下网络连接失败重点:按照桌面版本,有问题处理简单。

guyuelin123的博客 1968

Wireshark实战解析IEC 61850 GOOSE报文:智能变电站通信调试指南

网络协议分析是理解现代工业通信系统的基础,其核心原理在于对数据包的捕获、解码与解析。在电力自动化领域,IEC 61850标准定义了智能变电站内设备间高效、可靠的通信框架,其中GOOSE(通用面向对象变电站事件)协议因其基于以太网多播和快速重传机制,成为保护跳闸、联锁等关键信号传输的基石,其技术价值在于实现了微秒级延迟的高可靠性通信。掌握GOOSE报文的分析能力,对于现场调试、故障定位及系统验证至关重要。本文聚焦于使用Wireshark这一网络分析工具,深入解析GOOSE报文结构,涵盖从以太网帧头、协议标识到

weixin_34401479的博客 376

VectorCAST快速使用指南

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

弈星的博客 7744

Word毕业论文排版:图片和表格题注的终极指南(含自动编号技巧)

本文是Word毕业论文排版中图片和表格题注的终极指南,详细讲解了如何利用题注功能实现自动编号,告别繁琐易错的手动操作。核心内容包括创建定制标签、配置带章节的编号格式、插入交叉引用以及一键更新全文编号的技巧,旨在帮助学生构建自动化文档体系,提升排版效率和论文严谨性。

weixin_29211309的博客 1095

VectorCAST安装指南

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

弈星的博客 6239

Spatio-Temporal Graph Convolutional Networks: A Deep Learning Framework for Traffic Forecasting 论文笔记

Spatio-Temporal Graph Convolutional Networks: A Deep Learning Framework for Traffic Forecasting 论文笔记-----GCN在交通领域的应用(二) 一、论文翻译: 1、摘要: 及时准确地交通预测对于城市交通控制和指导具有至关重要的意义。由于交通流量的非线性和复杂性,传统的方法不能满足中长期预测任务的需求,并且往往会忽略时空数据的时间和空间依赖特性。在这篇论文中,为了处理在交通领域的时间序列预测问题...

cy_believ的博客 1916

电脑主板开机12步流程全解析:从按下电源键到BIOS启动的完整过程

本文深入解析了电脑主板从按下电源键到BIOS启动的完整12步流程,详细阐述了待机电路、主供电上电、CPU供电建立、时钟信号分发及复位链等关键硬件协同工作原理。通过剖析电脑主板的电路结构与芯片协作时序,帮助读者构建系统性的硬件故障诊断思维,精准定位开机故障。

weixin_29290963的博客 265

基于S32DS的 VectorCAST 测试环境构建

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

BigGrayBear0202的博客 1707

OpenClaw与大语言模型(Claude/GPT/MiniMax)的集成架构与最优配置策略

摘要 本文探讨了OpenClaw框架与大语言模型(Claude/GPT/MiniMax)的集成架构与优化策略。大语言模型具有强大的自然语言处理能力,但集成面临API成本、响应延迟、上下文管理等挑战。OpenClaw采用分层架构设计,包括用户界面层、对话管理层、提示工程层、模型适配层和API调用层,支持多模型切换、智能对话管理和成本控制。系统通过模型适配层实现不同API的统一调用,并提供缓存、监控等优化机制。该集成方案能够充分发挥大语言模型的优势,为本地AI助理提供更智能的服务。

一键难忘的博客 1693

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

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

gitblog_09716的博客 590

[QMT和ptrade量化交易小白入门]-122、基于聚类分析的动态股票池构建与ETF轮动策略,回测年化 132.09%

本专栏主要是介绍QMT和ptrade的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写200篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步。

木头大左的博客 1029

Unity之如何实现TTS文本转语音(真人发音)

微软Azure TTS 文本转语音 服务 将文本转换为逼真的语音的语音服务功能 支持个各国语言,各种中文各种方言,支持不同音色男音女音 支持离线和在线版本

TxNet 5480

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

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

Trinity_Techologies的博客 1260

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

VectorCAST单元测试参数配置

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

嵌入式之斋 4845

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

使用 VectorCAST 进行覆盖率分析

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

leohu0723的博客 997

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

VectorCAST指导手册

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

gitblog_06780的博客 457

VectorCAST自动化测试软件方案

一、功能和性能指标        VectorCAST™ 是主要用于C/C++/Ada程序的自动化测试软件,能够运行在Windows和Linux等多种开发环境。其主要功能包含自动化的单元测试、集成测试、覆盖率分析、回归测试、代码静态分析和测试需求跟踪,其最大特点或相比于其它相关同类工具最大的优势,就在于最大程度的自动化和更适用于嵌入式环境。以下予以分别阐述: ·        单元测试   

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

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值