当前位置: 首页 > news >正文

【时时三省】vectorcast使用教程

山不在高,有仙则名。水不在深,有龙则灵。

                                                                        ----CSDN 时时三省

1,建立工程工作空间

        在创建新工程之前或打开一个工程之前,选择File => Set Working Directory command 。建立工程的工作空间。那么此工程的相关文件都会在此目录下。

        注意:选择的目录不能包含空格并且要有读/写权限。

2,建立一个空工程

        菜单栏中选择File => New => VectorCAST Project=>Empty Project。建立新工程。在项目名称字段中输入  项目名字(英文),从编译器下拉菜单中选择所需要的编译器,如果没有特殊需求,可选VectorCAST 自带的C/C++ > VectorCAST MinGW > C,基本路径填入工程的最顶层的路径,并选择Create 按钮,创建新工程。

3,设置工程相关配置项

        右键编译器节点(VectorCAST_MinGW_C) 选择open Configuration,打开配置选项编辑器。这里我一般配置下  源文件目录  和  勾选 白盒测试。

4,建立环境

        右键单击项目树中的Group 节点,选择Create Unit Test Environment > Interactive。以交互式方式创建环境。

        选择编译器。在第三步中已经选择。此步骤可以不用设置。

        设置环境名字,英文名即可:

        选择测试方法,一般选择第一种:

  1. 传统的单元测试——VectorCAST 解析被测C/ C++源文件来创建测试套件。此外,任何没有实际定义只有声明的外部函数都将做下桩处理。
  2. 对象文件测试——与传统的单元测试方法相同,只是编译现有的对象文件而不是源文件来创建测试套件。当您选择对象文件测试时,需要手动选择被测的目标文件用于Link Option。
  3. 库接口测试——VectorCAST 通过解析C/ C++头文件的函数声明来构建测试环境。当您选择库接口测试时,需要手动链接到提供方法和函数实现的库。
  4. 测试驱动的开发——VectorCAST 通过解析C/ C++头文件的函数声明来构建测试环境,并为正在测试的函数创建桩函数。随着代码的实现,可以将桩函数替换为实际函数。这样可以在顶层架构设计完成后,并行开始代码和测试用例的开发。

        选择覆盖类型:

        coverage type: 一般选择 语句覆盖+mc/dc 覆盖。

        Whitebox: 勾选则测试方法为白盒。不勾选则为黑盒。

        选择源文件路径:

        建议使用 两个 + 号按钮,选择源文件路径。vcast则自动搜索该路径下所有源文件。

        使用 一个 + 号的按钮,则只会所搜该路径下源文件。

        选择被测试源文件。

        

        用户自定义代码:

        最后可以在 summary 界面总览下配置,点击 build 按钮生成测试环境。

5,生成单元测试用例

        选中函数后,右键,即可通过选项生成用例:

        Insert Test Case:需要手动填写输入值(也可以不填)

        Insert Basis Path Test Cases: 添加基本路径测试用例(自动生成用例,可以直接执行。也可以添加输入和预期值后再执行)

6,执行用例

        选中函数后,右键,excute 即可执行。

7,查看用例执行报告

        Test =>View =>Test Case Management Report 从菜单栏中查看测试案例管理报告

        通过从工具栏中选择View Coverage按钮打开代码覆盖率查看器。在MDI 窗口的覆盖率查看器中显示了源代码的代码覆盖结果,绿色表示语句已被覆盖,红色表示语句未被覆盖,黄色代表语句部分覆盖,一般为(if/while/for 句柄语句)。

        注意:要勾选单个用例前面的复选框,在 view coverage 才能看到单个函数的覆盖语句。

8,编写用例常用的三种方法

1,为函数进行打桩

        点击 Environment->Update Environment,即可在  勾选下图中右边两个方框后,在左边的方框中 添加函数名即可。也可通过 +Stubs 方式添加函数的桩。或者通过 -Stubs ,去掉已经打桩的函数的桩。

2,user code

        这个用处是最大的。在对用例中的某个参数进行赋值时,双击改参数,勾选对应的 enable, 为变量进行赋值(赋值的变量名根据自动弹出的变量名进行赋值。其他想添加的语句,按照 c 语言一样正常使用)。然后 选择 编译,再选择 apply,  再选择 ok 。

        也可以对该变量进行判断,使用 == 号。

        需要注意的时,添加的 user code 不是为某个测试用例存在。只要测试用例执行到该位置,都会进行该参数的赋值或者判断。所以如果想要在 该参数为某个值时再进行赋值或者判断,则需要先判断该参数的值。

3,probe point

        选则某个文件后,右键 选择 edit probe point, 要等一会 vcast ,这个反应有点慢。找到想要添加打 probe point  的语句,单击 改行语句前面的黑点,即可在右下角弹出的框里面,添加语句。

        vcast 提供的语句有:

                vcast_probe_print()

                vcast_test_name_equals()

        在添加完语句后,点击该方框里面的编译按钮,再点击该文件的保存按钮,才会生效。

9,集成测试

        集成测试就是使用单元测试里面的用例,拉入到 compond test 下新增的用例里面。

10,环境更新

Environment->Update Environment

http://www.lqws.cn/news/576343.html

相关文章:

  • ChatGPT、DeepSeek等大语言模型技术教程
  • 【零基础学AI】第14讲:支持向量机实战 - 文本分类系统
  • EA自动交易完全指南:从策略设计到实盘部署
  • C# 委托(Lambda表达式)
  • 【冷知识】Spring Boot 配置文件外置
  • windows下使用cmake编译mingw版本的bcg729
  • 跨时间潜运动迁移以实现操作中的多帧预测
  • 出现滑块验证码的主要原因是什么?
  • 前端开发面试题总结-原生小程序部分
  • [特殊字符] Python 实战 | 从 Excel 提取数据 → 生成美观 Word 收货记录表格(含合并单元格 + 总计功能)
  • 力扣面试150(7/150)
  • 【MySQL】JDBC编程
  • 什么是集装箱残损识别系统?它如何提升港口效率?
  • 【AI时代速通QT】第四节:Windows下Qt Creator调试指南
  • nifi1.28.1集群部署详细记录
  • 【51单片机用数码管显示流水灯的种类是按钮控制数码管加一和流水灯】2022-6-14
  • JavaEE初阶第五期:解锁多线程,从 “单车道” 到 “高速公路” 的编程升级(三)
  • vue-32(部署一个 Nuxt.js 应用程序)
  • 多线程环境下的线程安全资源与缓存池设计:ThreadSafeObject 与 CachePool 实例解析
  • 类图+案例+代码详解:软件设计模式----简单工厂方法、工厂方法、抽象工厂方法
  • 腾讯云实名资质 “待补充后提交” 解决方法
  • 蓝桥杯51单片机设计
  • 青少年编程与数学 02-022 专业应用软件简介 04 矢量图形设计软件:CorelDRAW
  • 华为云Flexus+DeepSeek征文 | Word办公软件接入华为云ModelArts Studio大模型,实现AI智能办公
  • 【Unity】MiniGame编辑器小游戏(七)贪吃蛇【Snake】
  • Rust C++ OpenCV kafka-rs实践
  • 【Wireshark】高级过滤技巧精讲
  • 【c/c++3】类和对象,vector容器,类继承和多态,systemd,stdboost
  • 【c/c++1】数据类型/指针/结构体,static/extern/makefile/文件
  • 利用deepseek学术搜索