【时时三省】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。以交互式方式创建环境。
选择编译器。在第三步中已经选择。此步骤可以不用设置。
设置环境名字,英文名即可:
选择测试方法,一般选择第一种:
- 传统的单元测试——VectorCAST 解析被测C/ C++源文件来创建测试套件。此外,任何没有实际定义只有声明的外部函数都将做下桩处理。
- 对象文件测试——与传统的单元测试方法相同,只是编译现有的对象文件而不是源文件来创建测试套件。当您选择对象文件测试时,需要手动选择被测的目标文件用于Link Option。
- 库接口测试——VectorCAST 通过解析C/ C++头文件的函数声明来构建测试环境。当您选择库接口测试时,需要手动链接到提供方法和函数实现的库。
- 测试驱动的开发——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