之前我们有文章介绍过CANoe中自带的自动化测试功能-Test Module使用的方法,相信各位工程师们已经熟练应用了。但是对Test Units,可能有些工程师只是在CANoe的界面中见过,没有实际使用过。Test Units是需要与Vector旗下的另一款软件vTESTstudio联合使用,进行自动化测试。
vTESTstudio介绍
vTESTstudio是Vector公司专为ECU自动化测试而研发的测试用例编写软件,可用于从模型测试到系统确认的所有开发阶段。它集成了多种用例编辑方法,能有效提高测试人员对测试设计的效率、具有可复用性等优点。 vTESTstudio软件在今年4月份,更新到vTESTstudio 7.0的版本,相比于之前版本,最大的新特性便是——Python File。它支持Python作为测试编程语言,Python File中包含集成编辑器,提供代码的完整功能、语法的检查等功能,具有调用 CAPL的功能,并且Python 接口函数(测试序列、测试用例、测试函数和函数)可以在Test Table、Sequence Diagram和State Diagram中使用。
图 1 集成了多种用例编辑方法
除了新增加的Python File的功能,还有许多的新特性,在这里也为各位工程师一一列举: 1.vCDL文件的使用: (1)vCDL文件可以直接在vTESTstudio工程中引用,无需从CANoe(4SW)配置导入系统环境; (2)vCDL支持对分布式对象的访问。
图 2 vCDL文件的使用
2. 可以为Sequence Diagram和State Diagram激活ID,便于更好的管理测试用例。
图 3 Assign Diagram IDs
3.可以配合最新版的CANoe/CANoe4SW 16使用。 (1)离线模式:测试单元和测试模块可以进行离线分析;
图 4 Offline Mode
(2)vTESTstudio中对测试用例描述可以在CANoe的测试界面中查看到。
图 5 查看测试用例描述 4.对生成的测试报告做出了更新。 (1)增加用于检查开始/结束事件和检查统计信息的过滤器。
图 6 新过滤器
(2)增加了测试用例的查询方式。
图 7 查询测试用例
vTESTstudio的优点
简化设计用例
集成了多种用例编辑方法(列表式、图表式、编程语言,适合不同水平和偏好…)
复用性
将测试逻辑、用例、参数分离,所有的文件都可以在版本变化后复用
图形化的编辑方法使得测试的逻辑以及SUT的期望行为更加清晰
参数化
集成测试参数、结构体以及仿真曲线
高测试覆盖度(分类树)
支持全产品周期测试
全局需求追踪(从需求到报告)
自动生成可配置化的测试报告
图 8 vTESTstudio视图
自动化测试流程
vTESTstudio作为编辑测试用例的软件,在vTESTstudio中编辑好我们需要的Test Case后需要编译生成.vtuexe文件,然后加载到CANoe中的Test Units去执行,进行完自动化测试后,还可以在CANoe中生成测试报告。
图 9 自动化测试流程
下面就让我带领大家把每一种编辑方式都学习一下!
Method 1 Python File
Python File就是用Python语言进行测试用例的编辑,这也是vTESTstudio 7.0独有的一种编写方式,本次vTESTstudio的更新,主要也是增加了Python File这个功能。增加了一种编辑方式,让工程师们多一种选择。
图 10 Python编辑区域
大家肯定注意到了使用Pyton File也是需要引用组件接口的:
vector.canoe:包含一般部分Python API。
vector.canoe.tfs: 包含测试功能集Python API。
vector.canoe.measuremen:获取测量的信息。
使用Python File创建Function
图 11 使用Python File制作Function
图12 使用Test Table调用Python Function
图 13 Python编辑测试用例
把测试用例导入到Test Table才可以执行哦!
图 14 Python测试用例导入Test Table
Method 2 Test Table
Test Table 是我们常见的也是大多数工程师正在使用的一种编辑方式,他的好处在于对于初学者很友好,上手比较简单。
图 15 Test Table 编辑界面
在Test Table中拥有许多指令,都是可以直接用。只需要按照要求在输入区进行输入,编译成功后,在我们的CANoe中就可以进行自动化测试了。
图 16 Test Commands 1
图 17 Test Commands 2
Method 3 Test Sequence Diagram
Test Sequence Diagram 顾名思义它是一种序列图形式的编辑方式,他的好处在于对整个测试用例而言让人看上去很直观,但是操作上面就要稍微比Test Table要难了。
图 18 Test Sequence Diagram编辑区
在Test Sequence Diagram的编辑取中集成了许多的控件,这些控件就是我们搭建序列图的关键,可以让我们灵活使用。输入区的操作和Test Table类似,也需要去使用Test Commands中的函数去进行输入。 Test Sequence Diagram还拥有Path View,把我们序列图方式写出来的测试用例表格化,方便编写人员的检查工作。
图 19 Test Sequence Diagram中Path View
Method 4 State Diagram
State Diagram状态机的编辑方式,他对整个State Diagram中编写的路径,全部至少遍历一次和转移路径的总数最少,尽可能避免已经走过的路径。
图 20 State Diagram编辑区
State Diagram也是有Path View界面。
图 21 State Diagram中Path View
State Diagram的路径介绍
从Initial元素开始,先进入一个分支,进而进入更深层的分支;
走遍周围所有的还没有走过的迁移,直到a、b、c任意一个条件满足:
到达Final元素;
到达了一个已经进入过的State(即形成了循环);
周围已经没有未经历过的迁移(即形成了循环);
在b和c条件下,路径选择将会以尽快到达Final元素为目标执行。
图 22 测试用例路径 输入区的操作和Test Table类似,也需要去使用Test Commands中的函数去进行输入。
Method 5 CAPL File
CAPL File就是用CANoe独有的编程语言进行测试用例的编辑,使用这种方式就要求编辑人员对CAPL编程要精通,用纯CAPL的形式编辑出来导入到Test Table中。
图 23 CAPL编辑区域
图 24 CAPL编辑测试用例
把测试用例导入到Test Table才可以执行哦!
图 25 CAPL测试用例导入Test Table
Method 6 C# File
C# File就是用C#进行测试用例的编辑,这就对C#精通的工程师比较友好,用C#的形式编辑出来导入到Test Table中。
图 26 C#编辑区域
图 27 C#编辑测试用例
把测试用例导入到Test Table才可以执行哦!
图 28 C#测试用例导入Test Table
总 结
vTESTstudio作为一款编辑测试用例的软件,具有高覆盖度及复用性、变体及追踪特性、编辑形式多样、易于后期的维护等优点。并且vTESTstudio与CANoe联合使用,使得自动化测试更加的方便快捷。北汇信息作为Vector的合作伙伴,已为多家OEM/Tier1定制部件级功能测试系统(包括车身域控制器,及传统分布式控制器功能测试开发),提供系统级及实车级测试验证服务,期待交流分享和合作的机会。
编辑:黄飞
评论
查看更多