目录
背景
[2022.4.20-2022.4.21]这两天听一个同事给客户培训vTestStudio的基本操作,由于我还没有vtestStudio的实操经验,发现仅靠文字,对“变体Variant”,这一概念一直很难理解,网上搜文章(还有个C++里的同名概念,其实两者毫无关系,看的一脸懵T-T),即便涉及到vtestStudio的文章,也对这个概念的介绍也非常概括化,同质化。
后来问了一位vtestStudio项目组的同事,以及微信汽车交流群的大家,还发现了群主大大的一篇专门讲解变体这一概念的公众号文章( CANoe-vTESTstudio之Variant 要收费,但是值得,哈哈哈哈)
参考文章
变体的使用场景
此块内容是自己的理解,欢迎参考交流~
比如 ,一段capl,功能是判定当前速度是否为超速,那么需要比较两个值,一个当前车速v,一个超速的阈值V。
在不同地区的V不同,假设比如 中国120为超速,美国80为超速。
如果没有变体variant, 那么这段程序在中国场景下运行时设置参数V的值为120,如果切换到美国场景主要手动修改为80。
如果有variant,那么V底下的属性里就可以设置两个变体,分别命名为China, US。
写判断超速这段的程序时,就可以直接对比v和V。
同时在最前面写一个判断函数,如果是中国场景就variant为China,美国场景就variant为US.
这样,超速判断函数执行的时候,会自动根据varaint的名字给V赋值,不需要另外再修改V的值。
也就是说:变体有利于提高代码及工程的复用性,也意味着可靠性提升;当切换国家或地区时,可以减少人工配置项。
变体Variant的使用建议
此块内容来自同事的讲解以及此文原创 | 自动化测试工具vTESTstudio 。
编辑位置:vtest提供了ECU变体和测试变体,变体由变体属性表示;可以在参数编辑器中定义各个值所依赖的变体属性
可被分配给:Parameter,Function,Test Case
使用建议:在测试项目中,可以根据需求定义尽可能多的变体属性
-
测试开始前(即使在不同的产品中,测试case、参数和库的重用也会增加)
-
首先,定义变体属性的值
-
然后,根据变体定义测试结构、测试序列和参数
-
-
测试执行Case
-
可以取决于1个或多个变体,可以使用逻辑运算符连接多个条件
-
测试用例的执行顺序,可以取决于1个或多个变体属性。可以使用相应的If Else语句或特殊的图形元素对其进行建模,可以在参数编辑器中定义各个值所依赖的变体属性。
-
END