INTES
通用测试用例执行软件
传统测试实施所存在的问题
•工程师需掌握多个测试软件
•测试用例的来源缺乏控制
•测试实施重复次数无法自动化
•无法综合各类数据形成统一的报告
•测试自动化需要大量的编程工作
INTES特征描述
•支持采用拖拽方式图形化搭建测试用例
•规范测试变量命名,且保证测试用例在不同硬件环境下的重用
•基于ASAM HIL APIASAM MC3SAE J2534等标准,支持与多种仿真机(dSpace、NI)及测量标定(CANape、INCA)、诊断工具的集成
•支持用户自定义用例库;引入LTCCTC① 机制,重用同一逻辑测试用例,减少测试用例的实际开发量
•支持测试用例离线开发及调试;支持测试用例的静态编译及语法检查,减少调试工作量
•支持测试计划,统一管理多组测试用例的执行
•支持多种格式(包括PDF、HTML)测试报告的自动生成
(① LTC(Logic Test Case),逻辑测试用例;CTC(Concrete Test Case),具体的测试用例)
应用领域
INTES是一款通用的测试执行软件,可以兼容不同的仿真系统,同时具备了故障注入、标定、测量、诊断、模型在回路测试(MIL)等一系列与ECU测试相关的功能。
使用INTES测试用例执行软件,用户可以在任何时间执行测试用例,例如在晚上或者周末;并且在无人工干预的情况下,进行重复性测试。因此在有限时间内,增加了测试的深度和覆盖度,节省测试时间和成本。

功能概览
功能
描述
数据字典
• 统一、规范测试用例中的变量命名
•将测试用例变量与模型、信号列表、ECU信号隔离,有效保证测试用例在不同硬件环境、模型环境下的重用
测试组件库
•序列框架类组件,例如序列框架、函数体
•流程控制类组件,例如if, else, while
•常用函数类组件,例如Print, Assert, Wait
•HIL类组件,基于ASAM HIL API标准,支持多种仿真机
• 故障注入类组件,模拟各种硬件信号故障
•诊断类组件,基于SAE J2534标准,支持多种硬件接口卡
•标定测量类组件,基于ASAM MCD3标准, 支持多种标定测量工具
•MATLAB组件,支持模型在回路(MIL)的自动化测试
•Vector组件,支持CANoe、CANscope、CANstress等Vector工具
测试用例搭建
•图形化测试用例
•基于拖拽方式完成测试用例的搭建
•支持Python语言进行自定义组件的开发和测试用例的搭建
测试用例重用
•支持用户自定义用例库,支持库文件对引用文件的一键更新
•引入LTCCTC机制,实际用例重用同一逻辑测试用例,减少测试用例的开发数量
测试用例调试
•用例开发阶段支持静态编译及语法检查,减少调试工作量
•支持测试用例离线开发及调试
•支持测试用例执行过程和运行结果的监视
测试工程及计划管理
•统一管理测试工程,包含测试计划、测试用例、测试报告测试设备
•支持配置一组或多组测试用例的执行顺序、次数及范围
测试报告生成
•支持测试报告的自动生成
•支持生成HTML及PDF两种测试报告
INTES用户界面

INTES中的数据字典
统一变量命名
测试项目中,测试用例往往达到几万甚至几十万条,涉及到的物理变量、ECU变量等多达上千个,在测试用例中随意命名变量的做法,会对用例的开发、用例的后期维护、未来项目的复用、用例执行结果的分析带来非常大的困扰,从而带来各方面成本的增加。
因此,INTES引入数据字典机制,用来统一、规范测试用例中的变量命名。
测试用例与模型硬件隔离
在数据字典中为模型变量、ECU变量、诊断变量、故障变量等建立统一、规范的命名;再将这些命名与模型或设备中的物理变量进行关联;最后在测试用例中使用这些规范化命名的变量。

测试用例与模型或设备进行了有效隔离,从而可以很方便的将测试用例直接复用到另一套模型和测测试用例与模型或设备进行了有效隔离,从而可以很方便的将测试用例直接复用到另一套模型和测试设备中(另一测试项目),客户仅需修改数据字典中规范化命名与物理变量的映射。

测试组件库
通用组件
INTES作为自动化测试用例的集成开发环境,将常用编程语言的语句和系统函数进行了图形化建模。
包括三类组件:
•测试序列框架类,例如序列框架模板、函数体
•流程控制类,例如if,else,while等
•通用函数类,例如Wait,Print,Assert等
用户使用通用组件可以快速搭建测试用例框架、用例逻辑及为用例调试进行插桩。

标准接口的支持
ASAM HIL API标准的支持
ASAM(Association for Standardization of Automation and Measuring System) 于2009年制定HIL API v1.0.2,定义了硬件在回路系统(HIL)的对外接口,应用这一接口真正实现了测试用例针对不同HIL系统的跨平台开发。
INTES的HIL组件库支持HIL API v1.0.2标准,可以支持任何满足此标准的HIL系统。因此,用户仅需要使用INTES就可以访问不同的仿真平台,大大加强了测试用例针对不同平台的复用性。
ASAM MC3及SAE J2534的支持
•标定测量组件库支持ASAM MC3标准,可以访问任何支持此标准的标定测量工具,例如Vector CANape、ETAS INCA等
•诊断组件库支持SAE J2534标准,可以访问任何支持此标准的硬件,例如Vector CANcase
•INTES通过标准接口,访问专业工具,完成ECU标定、测量及诊断功能,从而加强了测试的自动化程度以及用例执行的一体化控制
三方工具的支持
•支持与MATLAB进行交互,包含命令及m文件的执行、command window的访问等
•支持与Vector工具进行交互,包括CANoe、CANscope、CANstress
•提供Microsoft Word、Excel交互接口

测试用例搭建
图形化搭建
INTES提供了图形化的序列编辑器用来搭建自动测试序列。
用户只需很低的学习成本,就可以以拖拽的方式高效地搭建自动测试序列。
序列编辑器及其大纲可以帮助用户了解调整已经编辑的自动测试序列。

基于Python的定制组件开发
INTES提供了图形化控件和基于Python的控件。一般情况下,用图形化控件来描述流程控制及设备通信,如与硬件设备或其他软件通信。
基于Python的控件用来实现复杂算法或者灵活扩展现有功能。

测试用例重用
可重用用户库
如果一个测试步骤会被其他测试序列重用,那么可以将其封装成用户库。随着测试项目的进行,用户库中的内容会越来越丰富,它们会极大地提高测试序列开发的效率。用户库可以单独编辑,并同步到所有使用该用户库的测试序列中。用户库可以通过文件系统或版本控制系统被不同的INTES使用。

LTCCTC机制对于测试用例的重用
如果INTES项目是从INTA中导入,那么在INTES序列搭建过程中,只需搭建测试模板LTC,在执行时,INTES会自动按照INTA中CTC的数据来给模板序列中数据字典赋值。

测试用例调试
静态语法检查
在编辑测试序列过程中,如果测试序列有语法问题,INTES会自动识别并提示给用户,提高编辑效率。

离线调试
INTES每个设备通信模块都有在线和离线模式。离线模式下,所有需要从下位机获取数据的控件都可单独配置离线值,提供一种在线运行的模拟环境,用户可进行语法和控制逻辑检查,极大减少对真实设备的占用时间。

执行过程监控
在序列执行过程中,会自动弹出序列执行过程监控界面,在此界面中会实时显示当前测试步骤的读、写值和运行状态,并以不同色系直观地区分运行结果,方便用户了解序列的执行情况。

精确错误定位
在序列执行过程中,当测试步骤运行出错时,控制台中会给出详细的错误提示,并提供定位机制,可以直接定位到错误位置。精确定位可以帮助用户减少调试时间。
测试计划管理
测试计划和执行
在执行测试用例时,可以建立包含测试用例(LTC/CTC)的测试计划,以便于在无人干预的情况下,自动执行一系列的测试用例。测试计划可配置一组或多组LTC/CTC的执行顺序和次数。
测试计划的执行同样支持在线执行和离线执行两种执行方式,同时还可选择生成或不生成测试报告。

测试报告生成
自动测试报告的生成
INTES能够自动生成基于测试结果的报告文档。测试报告开头部分为基于测试结果的统计信息。用户可选择生成详细的测试报告,也可生成一目了然的概要测试报告。
除此之外,还可根据需要定制测试报告的内容结构。生成的测试报告有HTML和PDF两种格式,在查看测试报告时,INTES还提供了预览功能。

典型工具链的集成
INTA简介
INTA是用于汽车电子系统测试项目管理的一整套软件解决方案,覆盖了项目管理的核心流程,包括需求管理、变量管理、用例管理、报告管理、缺陷管理、计划管理、样件管理及系统管理八个模块。
INTA中制定的测试项目数据,可以作为顶层输入,便捷地导入INTES中,从而规范和指导具体测试用例的搭建,例如数据字典、用例层级结构及用例信息等。
INTES中的自动测试报告也可以上传的INTA中,进行测试执行情况的分析。

与INTA的工作流
•系统管理员可在INTA中管理用户和权限,利于根据不同的任务安排,对不同权限的用户开放不同的项目内容
•测试总负责人在INTA中规划总体测试要求,分解测试项目,并指派项目负责人
•项目负责人将项目任务分解,导入或编写测试需求,并指派相应的用例设计工程师
•用例设计工程师导入或编写用例源描述,并将用例标准化
•用例执行工程师在INTES中根据用例描述搭建测试序列并执行,生成的测试报告可上传至INTA进行统一管理
•测试总负责人根据测试报告进行测试结果统计和用例执行覆盖率统计
总而言之,与INTA的工作流,可以有效地管理测试数据、测试过程,监控项目执行情况,如测试用例是否全部执行、测试计划是否延期等。