VectorCAST使用技巧心得(中)

接上一篇,本篇介绍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就会以这个值进行执行了

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值