VectorCAST单元测试手动配置测试用例

news2024/11/27 10:38:34

一、单元测试

等待环境创建完成后,就可以开始单元测试。

二、生成测试用例

在 VectorCAST 中,一共有两种方法来生成测试用例,一种是手动生成测试用例,另外一种是自动 生成测试用例。

三、手动生成测试用例

        在 VectorCAST 中,手动生成测试用例,需要根据函数的需求,对测试用例中的参数填写对应的输入 值(Input Values)和期望值(Expect Values)。输入值的意思是在执行测试用例时,将这些数据作为函数 的入参或赋值给全局变量,执行函数代码,对函数进行测试;期望值的意思是,当测试用例执行完成后, 将输入的期望值与执行完成函数代码时的实际值进行比较,如果期望值和实际值相同,测试用例执行通过, 否则执行失败。手动生成测试用例,主要的目的是对函数的功能进行测试。

        VectorCAST 提供了一个图形化的测试用例设计界面,在这个界面中,函数参数,返回值,工程的全局 变量,以及可能调用到的外部函数,都展示在这个界面里,在这个界面还可以解析出一些复杂的数据类型, 如指针、数组、数组嵌套、结构体、结构体嵌套等。

        如果要对某个被测函数手动生成一条测试用例,右键点击被测函数,点击 Insert Test Case 就可以手 动生成一条测试用例。 

         在测试用例设计界面,可以对测试用例进行设计,为相应参数赋值,可以对参数填写输入值(Input Values)或预期值(Expect Values),就可以完成测试用例的设计。

四、 设计测试用例

        可以在需要填写值的参数直接填写一个输入值(Input Values)或预期值(Expect Values),也可以 双击一个变量通过其他的方式来填写值。VectorCAST 支持四种变量输入方式,分别为变量固定值输入 (Scalar Values)、范围值输入(Range Values)、列表值输入(List Values)、用户代码输入(User Code)。 

1、固定值输入(Scalar Values)

可以输入一个固定的值,Input 为输入值,Expected 为期望值。在测试用例设计界面。默认输入的是 固定值。

2、范围值输入(Range Values) 

        可以对输入值(Input Values)指定一个范围,在执行测试用例时,会自动执行多次,将范围内的数 据按照步长输入给函数入参或赋值给全局变量;也可以对预期值(Expect Values)输入一个范围,函数代 码执行完成时的实际值如果在此范围内,测试用例执行通过,否则执行失败。

 3、列表值输入(List Values)

        可以设置多个输入值(Input Values)或者预期值(Expect Values),在执行测试用例时,会自动执 行多次,依次将输入的列表值输入给函数入参或赋值给全局变量,或者依次作为期望值和函数代码执行完 成时的实际值进行验证。

 4、用户代码输入(User Code)

        当输入值(Input Values)或预期值(Expect Values)需要一定的逻辑运算或者特殊方式才能得到时, 可以使用用户代码的方式来给输入值(Input Values)或预期值(Expect Values)填值。使用用户代码的 方式时,只需要将 expression 替换为相应的代码即可。比较常用的场景有需要初始化一个元素非常多的数 组、定义一个文件指针等。需要注意的是,“>”部分对应着参数的 tag,这部分内容不能被修改, 否则会导致输入值或期望值不能正确赋值给对应的参数变量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/742368.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《面试1v1》Redis分布式锁

🍅 作者简介:王哥,CSDN2022博客总榜Top100🏆、博客专家💪 🍅 技术交流:定期更新Java硬核干货,不定期送书活动 🍅 王哥多年工作总结:Java学习路线总结&#xf…

泛微E-Cology SQL注入漏洞复现(QVD-2023-15672)

0x01 产品简介 泛微协同管理应用平台e-cology是一套兼具企业信息门户、知识文档管理、工作流程管理、人力资源管理、客户关系管理、项目管理、财务管理、资产管理、供应链管理、数据中心功能的企业大型协同管理平台。 0x02 漏洞概述 由于泛微e-cology未对用户的输入进行有效的…

matlab学习指南(2):安装工具箱Toolbox的方法(详细图解)

🌅*🔹** φ(゜▽゜*)♪ **🔹*🌅 欢迎来到馒头侠的博客,该类目主要讲数学建模的知识,大家一起学习,联系最后的横幅! 喜欢的朋友可以关注下,私信下次更新不迷路&#xff0…

【项目 进程1】2.1 进程概述 2.2 进程状态转换

文章目录 2.1进程概述程序和进程**时间片****并行和并发****进程控制块(PCB)** 2.2进程状态转换**进程的状态** **进程相关命令****实时显示进程动态** 2.1进程概述 程序和进程 程序是包含一系列信息的文件,这些信息描述了如何在运行时创建一个进程: …

Linux的软链接与硬链接

Linux的软链接与硬链接 1,创建硬链接:2,创建软链接:3,软链接是什么4,软链接文件的权限5,硬链接是什么6,做个小实验 总结问题:为什么有软链接了(快捷方式&…

Centos7.9通过expect脚本批量修改H3C交换机配置

背景: 公司有几百台H3C二层交换机设备,当需要批量更改配置时非常的消耗工作量 解决: 通过一台Linux服务器,编写shell脚本,模拟Telnet至各台交换机,让一切变的很容易 1.首先在安装Telnet服务前需要检测centO…

Java基础(动力节点课程)

JavaSE基础——第一章初识Java JavaSE JavaEE JavaMEJavaSEJavaEEJavaME Java语言跨平台性垃圾回收机制Java的加载和执行JDK、JRE、JVM关系安装JDK以及配置PATHJDK目录说明 第一个Java程序javac命令和java命令的具体用法javac命令的用法:java命令的用法:…

Transformer网络学习记录——基于空间约束自注意力和Transformer的RGB-D显著性检测方法研究

基于图半监督学习和图卷积的目标分割与跟踪算法研究 (wanfangdata.com.cn) 只能说看不懂,记录是为了有耐心慢消化 原文: 网络整体为通用的编码器-解码器架构 ,总体上由骨干编码器、交互编码器、RGB 解码器、深度解码器组成。 具体来说&#…

ROCKSDB原理

按照读写的性质来分 分为读少写多和 写少读多 RocksDB适用于第一种。 磁盘中的数据结构 就地写和追加写 找到某一个页 然后将数据刷入到这一个页中. 这就导致了一个问题 就是追加写入的数据冗余 由于存在数据冗余 所以必须要对数据进行一定的处理才能保持查找性能 数据以块…

langchain系列:Model I/O模块之-Prompts

文章目录 Model I/O简介输入部分(Prompts)PromptTemplatefrom_template ChatPromptTemplate langchain是基于大语言模型而开发的一个框架,既然是基于大语言模型,自然最重要的就是先要介绍Model I/O模块。 Model I/O简介 Model I/O…

Helm3安装和使用

Helm3安装和使用 1、Helm简介 Helm 是 Kubernetes 上的包管理器,用来管理 Kubernetes 应用程序,Helm Charts 可帮助您定义,安装和升级 复杂的 Kubernetes 应用程序。Helm 把 Kubernetes 资源(比如deployments、services或ingress等) 打包到…

ProtoBuf的学习并且制作了一个网络通讯录项目

Linux环境下载安装ProtoBuf编译器 1. 安装依赖库 Ubuntu用户选择 sudo apt-get install autoconf automake libtool curl make g unzip -yCentos用户选择 sudo yum install -y autoconf automake libtool curl make gcc-c unzip2. 下载ProtoBuf编译器 Github地址&#xff…

kmalloc与vmalloc如何选择

kmalloc和vmalloc都是Linux内核中用于内存分配的函数,但它们适用于不同的内存分配场景。 kmalloc函数用于在内核空间中分配小块(通常小于一个页面大小)的连续内存区域,这些内存区域可以用于存储内核数据结构和缓冲区等。kmalloc内…

MySQL与Oracle的粗略对比

前言 首先先说自己的感受,我第一次使用Oracle是在我第一次的实习当中,包括我也在Leetcode中做了一些题目来练习,大家也可以做做,还是有收获的。 首先,我之前一直听说Oracle是要付费的,但其实它有免费版&am…

使用nvm use 切换node版本失败

使用nvm use 切换node版本失败 exit status 1: Access is denied.(或者显示乱码)解决方法一: 使用管理员的方式运行 解决方法二: 还有一种可能,在安装nvm之前电脑中已经安装过node,所以会导致切换失败,&#xff08…

【Java练习题汇总】《第一行代码JAVA》入门介绍篇程序基本概念篇,汇总Java练习题——基础语法:变量、数据类型、运算符、控制流... ~

Java练习题 入门介绍篇&程序基本概念篇 1️⃣ 入门介绍篇习题2️⃣ 程序基本概念篇习题 1️⃣ 入门介绍篇习题 一、填空题 Java 源程序文件的后缀是_______, Java 字节码文件的后缀名称是_______。Java 程序实现可移值性,依靠的是______________。Java 语言的…

C++中的类型转化

目录 1.C语言中的类型转化 2.C强制类型转换 2.1、static_cast 2.2、reinterpret_cast 2.3、const_cast 2.4、dynamic_cast 1.C语言中的类型转化 在C语言中,如果赋值运算符左右两侧类型不同,或者形参与实参类型不匹配,或者返回值类型与…

华为ERP思考:国产自研迈出第一步

华为的进入会刺激用友、金蝶、浪潮等国产厂商加快技术革新,以及伴随着华为自身技术自研全栈的布局和不断测试,国产ERP的兼容性和标准性都将上一个新的台阶。 作者|斗斗 编辑|皮爷 出品|产业家 15小时完成全球88家子公司Meta ERP系统的切换&#x…

c++游戏小技巧6:rand()+随机迷宫(3写法:BFS,DFS,并查集)

目录 1.前言 2.前文(rand,随机数引入) 1.rand() 2.srand,随机数种子 3.用法: 1. 生成0~RAND_MAX里面的数 2.生成大于RAND_MAX的数 3.生成负数 3.正文(确信) 1.bfs写法: 1.让迷宫全是墙确定起点 2.初始化 3.循环操作: 4.总…

路径规划算法:基于天鹰优化的路径规划算法- 附代码

路径规划算法:基于天鹰优化的路径规划算法- 附代码 文章目录 路径规划算法:基于天鹰优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化算法天鹰…