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