在VectorCAST for Linux中使用分类树功能生成测试用例

创提信息
2021/12/20

分享到

在软件测试中,测试用例的设计是对测试质量而言非常关键的软件测试活动,因为测试用例集合的选择对测试的深度和测试范围的影响非常大。分类树方法是由Grochtmann和Grimm在1993年提出的,是在软件功能测试方面一种有效的测试方法,通过分类树把测试对象的整个输入域分割成独立的类。按照分类树方法,测试对象的输入域被认为是由各种不同的方面组成并且都与测试相关。对于每个方面,分离和组成各种类别,而分类结果的各类又可能再进一步地被分类。这种通过对输入域进行层梯式的分类表现为树状结构。随后,通过组合各种不同分类的结果来形成测试用例。

 
VectorCAST中,也支持分类树方法设计测试用例,整个过程都是图形化的界面,变量的输入输出范围全部都可以通过图形化的界面来设计,整个过程不需要编写代码,只需要根据测试需求确定输入输出的范围就可以批量设计测试用例。目前,分类树方式生成测试用例的功能是通过Test Data Editor来设计变量的输入输出范围的。受限于Test Data Editor仅支持Windows平台,根据分类树来生成测试用例只能在VectorCAST for Windows中使用。那么在VectorCAST for Linux如何使用分类树设计并生成测试用例呢?在新版的 VectorCAST for Linux中,已经支持通过间接的方式来使用,需要借助VectorCAST for Windows中的Test Data Editor。


测试环境
 
Ubuntu 21.04,VectorCAST 2021 SP5 for Linux,Windows 10,VectorCAST 2021 SP5 for Windows。


操作步骤
 
打开一个终端,设置环境变量VCAST_ENABLE_REMOTE_VCT:export VCAST_ENABLE_REMOTE_VCT=1
 
如果是通过启动脚本来启动的VectorCAST,需要在启动脚本内添加上述命令。
 
设置完成后,在相同的终端内启动VectorCAST,或通过启动脚本来启动VectorCAST
 
VectorCAST进入主界面后,创建或打开一个测试环境,找到被测函数,右键单击被测函数,点击Generate VCT Map,之后可以看到,被测函数下方出现了一个VCT Map。


在VectorCAST for Linux中使用分类树功能生成测试用例-1.jpg


在下图所示的界面中,需要先设置VCT Filename,默认为函数名+数字.vct,完成后点击Finish。


在VectorCAST for Linux中使用分类树功能生成测试用例-2.jpg

 
在这里需要选择要赋值的参数,可以根据实际测试需求,选择输入值和期望值。


在VectorCAST for Linux中使用分类树功能生成测试用例-3.jpg

 
选择好参数之后,回到被测函数的位置,找到下方的VCT Map,右键单击VCT Map,点击Edit VCT。
 
这一步会自动打开帮助窗口,可以根据提示,通过复制文件或通过网络传输的方式,把生成的VCT传输到一台安装了VectorCAST for Windows的Windows机器上。


在VectorCAST for Linux中使用分类树功能生成测试用例-4.jpg

 
这里采用复制文件的方式,把单元测试环境工作目录下的VCT_REMOTE目录复制到Windows机器上,执行VCT_REMOTE文件夹下的run.bat,就可以打开Test Data Editor,编辑分类树并生成测试用例数据。


 在VectorCAST for Linux中使用分类树功能生成测试用例-5.jpg


设计完成后,关闭Test Data Editor,可以看到在VCT_REMOTE文件夹下自动生成了一个csv文件,之后把VCT_REMOTE文件夹复制回Linux机器并工作目录下的VCT_REMOTE目录,回到VectorCAST for Linux,可以看到帮助窗口下方的Continue按钮已经激活,点击Continue按钮后,在提示窗口中点击Yes,就可以生成测试用例。


在VectorCAST for Linux中使用分类树功能生成测试用例-6.jpg


在界面中找到被测函数下方的VCT Map,展开,就可以看到生成的所有测试用例。


在VectorCAST for Linux中使用分类树功能生成测试用例-7.jpg

 
总结


通过VectorCAST,可以方便地设计函数输入输出条件的分类树,只需要设计参数的范围,VectorCAST可以自动计算这些范围并生成对应的测试用例来测试被测函数。VectorCAST for Linux也可以利用此方法来使用分类树方法来生成测试用例,从而使测试变得更加高效,更有效率。