前言

测试过程中,常常出现为了遍历某个list、一个函数需要连续被调用多次的情况。例如测试各个IP是否能ping通DUT:Tester设置不同的IP和mac地址,发送ICMP Echo Request ping DUT。每次调用都需要配置参数,若list发生更改,也需要同步修改,比较麻烦,也不利于代码的维护。

vTESTstudio引入Struct List概念,可根据Struct List批量生成Test Case,将配置参数化,提高复用性。

本文将介绍如何使用Struct List和Test Case Definition进行批量生成Test Case。

功能函数定义

定义主体功能函数,如果vlan id为5则判定Failed,否则判定Success

export void sendEthMsgTest(
  char testerip[], 
  char testermac[], 
  int64 testervlanid
  )
{ 
  if(testervlanid == 5)
    testStepFail("Send Ethernet Message Failed","tester ip %s,tester mac %s,vlan id = %ld",testerip,testermac,testervlanid);
  else
    testStepPass("Send Ethernet Message Success","tester ip %s,tester mac %s,vlan id = %ld",testerip,testermac,testervlanid);
}

Struct List定义

在.vparam文件中添加Struct List并命名为dataStructList
在这里插入图片描述
在这里插入图片描述
添加结构体成员
在这里插入图片描述
注意结构体成员变量类型和函数sendEthMsgTest()保持一致
在这里插入图片描述
添加需要测试的数据
在这里插入图片描述

Test Case Definition定义

新建Test Case Definition,并定义需要的Parameters,该Parameters变量类型需要和上述dataStructList以及函数sendEthMsgTest()保持一致
在这里插入图片描述
在这里插入图片描述
调用定义的函数sendEthMsgTest()
在这里插入图片描述
函数传参即为刚刚建立Test Case Definition时定义的Parameters
在这里插入图片描述

Test Case List生成

选中Test Tree,右键Insert Command
在这里插入图片描述
输入Test Case 名字,并选择带list的选项
在这里插入图片描述
为Test Case关联定义的Struct List,vTESTstudio将识别各个Name和Values的对应关系,生成Test Case List
在这里插入图片描述

测试执行&报告生成

导入CANoe执行,生成测试报告
在这里插入图片描述
在这里插入图片描述

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐