前两篇博客已经比较详细地介绍了VectorCAST从安装,到搭建环境、进行测试的全过程。本篇文章主要介绍一些操作心得,以及补齐最后测试结果分析和导出的内容。
由于文中的操作涉及到具体代码,所以一些截图中的代码部分只好用马赛克遮掩,希望不会对大家的阅读造成问题~
参数/函数实例化
具体测试过程中,经常会遇到函数调用外部接口的情况。
如图内容:

这里被测函数逻辑中,调用另一个函数(VerifyReceivedValidityMarkerForHash())的返回值进行判断,若返回值为是,则执行一个逻辑,若返回值为否,则执行另一逻辑。这种情况下VectorCAST自动生成的testcase很可能会无法区分两种情况,导致自动生成的测试case无法覆盖全部情况,我们需要手动进行赋值。
打开testcases窗口,在Parameter Tree中找到需要赋值的函数,这里由于需要赋值的函数是外部接口,我们需要先把左边的勾勾上:

然后在Input Values中将其赋我们需要的值即可。
赋完值记得左上角保存,然后重新跑对应的test case即可。
有时我们需要改变的值不是函数而是某一参数(全局变量或者局部变量),我们同样只要找到对应的参数进行修改即可。记得不要找错了哈。

有时某些参数/函数会多次调用,且每次调用时需要的值不同,如图:

这也很简单,可以通过Range/List使该参数在每次调用的时候发出不同的桩值。
右键该值,选择property即可找到:

效果和直接在Input Values里面输入多值,用逗号隔开是一样的:

对于有些函数(如switch),可能每次都会通过上次break出的值来判断这次的执行,这样则需要用compound复合测试用例实现多次调用函数。在上一篇中其实有讲过,这里不多说明,欢迎大家自行摸索。

User Code
User Code是更加灵活的手动赋值选择。对于一些值,譬如需要对指针参数所指对象进行赋值,就可以使用User Code进行赋值。
如下面例子中,获得的是指针函数,但是后面使用指针所指地址的值进行计算。

User Code同样通过对应函数右键property打开进行更改。

更改完了记得Test Compile一下,保证代码编译没有问题后再保存进行测试。
Probe Points
Probe Points(探针) 是一种可以不改变原代码逻辑而直接对代码进行赋值的功能。非常方便。
不过要注意,Probe Points是需要额外license的,如果你在某一个环境中使用了Probe Points, 那么后续想要打开都得有这个license才可以,还是挺蛋疼的。(有时候真的抢不到license啊啊啊)。
这里直接在判断条件之前插入需要的值,即可完美覆盖到对应的case, 真是十分方便:
这里vcast_test_name_equals是VectorCAST自带的判断函数,后面加上对应case名,即可仅适用于对应名字的test case.
除此之外还有很多其他的预定义函数,不过我没用过,大家可以参考官方文档自行学习。
probe points写好之后需要1. 点击上面的编译按钮,2.点击save到applied才能适用。之后跑对应case即可。
CBA(Covered By Analysis)
对于实在无法覆盖的代码,可以考虑covered by analysis。

右键对应函数即可找到。

当然,这样操作需要先确定公司能够接受。
报告查看和导出

在project这右键点击Reporting可以看到整个project的总览报告。

在具体environment这点击Full Report可以看到对应环境的测试报告:

Ctrl + S即可保存,当然也可以在工具栏选择保存。
总结
这里一共用三篇文章综合介绍了本人对VectorCAST使用的心得,个人认为虽然不算很深入,但应该能支持初学者日常测试使用了。另外还有一些lesson learn由于针对具体情况,就不进行分享了。大家有使用问题也可以讨论交流,或者直接找vector help寻求解决。谢谢!
1998

被折叠的 条评论
为什么被折叠?



