你的位置: 首页 > 仪器仪表 > 电工仪器仪表

联合使用vTESTstudio,进行自动化测试

2023-08-22 11:26:20 | 人围观 | 评论:

    之前我们有文章介绍过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中使用。  

7fdbb03e-3302-11ed-ba43-dac502259ad0.png

图 1 集成了多种用例编辑方法            

  除了新增加的Python File的功能,还有许多的新特性,在这里也为各位工程师一一列举:   1.vCDL文件的使用: (1)vCDL文件可以直接在vTESTstudio工程中引用,无需从CANoe(4SW)配置导入系统环境; (2)vCDL支持对分布式对象的访问。  

80001834-3302-11ed-ba43-dac502259ad0.png

图 2 vCDL文件的使用

2. 可以为Sequence Diagram和State Diagram激活ID,便于更好的管理测试用例。

803be922-3302-11ed-ba43-dac502259ad0.png

图 3 Assign Diagram IDs

3.可以配合最新版的CANoe/CANoe4SW 16使用。 (1)离线模式:测试单元和测试模块可以进行离线分析;  

8083bec8-3302-11ed-ba43-dac502259ad0.png

图 4 Offline Mode

  (2)vTESTstudio中对测试用例描述可以在CANoe的测试界面中查看到。  

80ab9416-3302-11ed-ba43-dac502259ad0.png

图 5 查看测试用例描述   4.对生成的测试报告做出了更新。 (1)增加用于检查开始/结束事件和检查统计信息的过滤器。  

819632d2-3302-11ed-ba43-dac502259ad0.png

图 6 新过滤器

(2)增加了测试用例的查询方式。  

81eda1ca-3302-11ed-ba43-dac502259ad0.png

图 7 查询测试用例

vTESTstudio的优点

简化设计用例

集成了多种用例编辑方法(列表式、图表式、编程语言,适合不同水平和偏好…)

复用性

将测试逻辑、用例、参数分离,所有的文件都可以在版本变化后复用

图形化的编辑方法使得测试的逻辑以及SUT的期望行为更加清晰

参数化

集成测试参数、结构体以及仿真曲线

高测试覆盖度(分类树)

支持全产品周期测试

全局需求追踪(从需求到报告)

自动生成可配置化的测试报告

 

827e6304-3302-11ed-ba43-dac502259ad0.png

图 8 vTESTstudio视图      

自动化测试流程

    vTESTstudio作为编辑测试用例的软件,在vTESTstudio中编辑好我们需要的Test Case后需要编译生成.vtuexe文件,然后加载到CANoe中的Test Units去执行,进行完自动化测试后,还可以在CANoe中生成测试报告。  

82af58ec-3302-11ed-ba43-dac502259ad0.png

图 9 自动化测试流程                

下面就让我带领大家把每一种编辑方式都学习一下!    

Method 1  Python File

    Python File就是用Python语言进行测试用例的编辑,这也是vTESTstudio 7.0独有的一种编写方式,本次vTESTstudio的更新,主要也是增加了Python File这个功能。增加了一种编辑方式,让工程师们多一种选择。

82e6f266-3302-11ed-ba43-dac502259ad0.png

图 10 Python编辑区域

大家肯定注意到了使用Pyton File也是需要引用组件接口的:  

vector.canoe:包含一般部分Python API

vector.canoe.tfs: 包含测试功能集Python API。

vector.canoe.measuremen:获取测量的信息。

使用Python File创建Function

8373634a-3302-11ed-ba43-dac502259ad0.png

图 11 使用Python File制作Function

83e6b2be-3302-11ed-ba43-dac502259ad0.png

图12 使用Test Table调用Python Function

84110668-3302-11ed-ba43-dac502259ad0.png

图 13 Python编辑测试用例

  把测试用例导入到Test Table才可以执行哦!

846d3e06-3302-11ed-ba43-dac502259ad0.png

图 14 Python测试用例导入Test Table      

Method 2  Test Table

    Test Table 是我们常见的也是大多数工程师正在使用的一种编辑方式,他的好处在于对于初学者很友好,上手比较简单。  

84954acc-3302-11ed-ba43-dac502259ad0.png

图 15 Test Table 编辑界面

在Test Table中拥有许多指令,都是可以直接用。只需要按照要求在输入区进行输入,编译成功后,在我们的CANoe中就可以进行自动化测试了。  

84de5c30-3302-11ed-ba43-dac502259ad0.png

图 16 Test Commands 1

84f1a6b4-3302-11ed-ba43-dac502259ad0.png

图 17 Test Commands 2      

Method 3  Test Sequence Diagram

    Test Sequence Diagram 顾名思义它是一种序列图形式的编辑方式,他的好处在于对整个测试用例而言让人看上去很直观,但是操作上面就要稍微比Test Table要难了。  

85110bf8-3302-11ed-ba43-dac502259ad0.png

图 18 Test Sequence Diagram编辑区
  在Test Sequence Diagram的编辑取中集成了许多的控件,这些控件就是我们搭建序列图的关键,可以让我们灵活使用。输入区的操作和Test Table类似,也需要去使用Test Commands中的函数去进行输入。   Test Sequence Diagram还拥有Path View,把我们序列图方式写出来的测试用例表格化,方便编写人员的检查工作。  

853e23c2-3302-11ed-ba43-dac502259ad0.png

图 19 Test Sequence Diagram中Path View      

Method 4  State Diagram

    State Diagram状态机的编辑方式,他对整个State Diagram中编写的路径,全部至少遍历一次和转移路径的总数最少,尽可能避免已经走过的路径。  

8570f004-3302-11ed-ba43-dac502259ad0.png

图 20 State Diagram编辑区

State Diagram也是有Path View界面。  

85ab641e-3302-11ed-ba43-dac502259ad0.png

图 21 State Diagram中Path View        

State Diagram的路径介绍

  从Initial元素开始,先进入一个分支,进而进入更深层的分支;

  走遍周围所有的还没有走过的迁移,直到a、b、c任意一个条件满足:

    到达Final元素;

    到达了一个已经进入过的State(即形成了循环);

    周围已经没有未经历过的迁移(即形成了循环);

  在b和c条件下,路径选择将会以尽快到达Final元素为目标执行。

   

86b3a79a-3302-11ed-ba43-dac502259ad0.png

图 22 测试用例路径   输入区的操作和Test Table类似,也需要去使用Test Commands中的函数去进行输入。      

Method 5  CAPL File

    CAPL File就是用CANoe独有的编程语言进行测试用例的编辑,使用这种方式就要求编辑人员对CAPL编程要精通,用纯CAPL的形式编辑出来导入到Test Table中。  

86e086de-3302-11ed-ba43-dac502259ad0.png

图 23 CAPL编辑区域

8715883e-3302-11ed-ba43-dac502259ad0.png

图 24 CAPL编辑测试用例

把测试用例导入到Test Table才可以执行哦!  

87547b16-3302-11ed-ba43-dac502259ad0.png

图 25 CAPL测试用例导入Test Table      

Method 6  C# File

    C# File就是用C#进行测试用例的编辑,这就对C#精通的工程师比较友好,用C#的形式编辑出来导入到Test Table中。  

8775c2ee-3302-11ed-ba43-dac502259ad0.png

图 26 C#编辑区域

87b42566-3302-11ed-ba43-dac502259ad0.png

图 27 C#编辑测试用例

把测试用例导入到Test Table才可以执行哦!  

87e9126c-3302-11ed-ba43-dac502259ad0.png

图 28 C#测试用例导入Test Table      

总  结

    vTESTstudio作为一款编辑测试用例的软件,具有高覆盖度及复用性、变体及追踪特性、编辑形式多样、易于后期的维护等优点。并且vTESTstudio与CANoe联合使用,使得自动化测试更加的方便快捷。北汇信息作为Vector的合作伙伴,已为多家OEM/Tier1定制部件级功能测试系统(包括车身域控制器,及传统分布式控制器功能测试开发),提供系统级及实车级测试验证服务,期待交流分享和合作的机会。

编辑:黄飞

 





标签:[db:tags]

相关内容推荐: