数据库文件差异:各控制器的数据库文件各不相同,导致某一车型平台的测试脚本在测试执行时需要手工变更具体的测试参数。
网关路由表差异:不同的车型平台和控制器可能采用不同的网关路由表,导致测试参数需要根据不同路由表进行调整。
测试参数的差异性:每个车型或控制器在进行网络和诊断测试时,其输入输出参数(如信号速率、消息ID等)也有所不同,这些参数在开发过程中必须被细化和定制化,进一步增加了开发复杂度。
通信协议的差异:各车型平台使用的通信协议可能存在差异,常见的有CAN、CANFD、LIN、FlexRay、Ethernet等。这些协议在数据传输方式、速率、数据帧结构等方面有所不同,导致为某种协议设计的测试脚本在面对另一种协议时,无法直接使用。例如,CAN和FlexRay在数据传输方式、数据帧格式、通信速率上的不同会导致信号监控和数据捕获逻辑的脚本完全不同。
诊断服务差异:不同的车型和控制器,涉及的诊断请求、数据格式、DTC解析方式也不同,使得针对某种诊断服务编写的测试脚本难以复用于另一个车型或控制器。
⛰️信号矩阵生成数据库文件:将通信信号矩阵,自动转换为数据库文件DBC、LDF、FIBEX等,并用于后续的测试参数生成。
⛰️数据库解析及预处理:自动解析数据库文件,解决不同格式(如DBC和ARXML)带来的差异,减少人工干预的复杂性。
⛰️测试参数生成:根据数据库文件、路由表及通用参数表,生成所需的测试参数文件,统一输入格式,确保不同车型间的参数复用性。
⛰️测试工程重组及编译:系统根据生成的测试参数,自动重组CANoe的测试工程并完成工程编译,减少手动配置的时间。
⛰️自动驱动CANoe:通过自动化脚本调用CANoe进行测试执行,省去繁琐的手动操作,提升测试效率。
⛰️测试信息GUI输入:提供一个简单的GUI界面,供测试人员输入控制器信息、测试工程目录等,简化了测试流程。
⛰️测试报告生成与处理:在测试执行完成后,自动生成详细的测试报告,并对报告进行标准化处理,便于项目后续分析和管理。
⛰️脚本开发时采用参数化,将诊断相关的参数统一存放在Parameters.cin中,便于后续跨平台或输入物变更复用工程
图3: Parameters.cin示例图
⛰️测试用例开发时使用Parameters.cin中的变量
⛰️使用PAVELINK.SOA-Converter工具导入诊断调查表,工具自动转换为ODX,配置相关信息后自动解析并生成测试使用的Parameters.cin
图4: 自动生成参数的配置界面
图5: 解析ODX/PDX自动生成参数的操作界面
⛰️使用生成的Parameters.cin替换工程中的文件
⛰️启动测试,自动驱动CANoe执行后续测试过程
⛰️监控测试过程,测试完成后自动读取CANoe生成的XML报告,并根据配置的Excel模板进行解析和处理,生成最终测试报告