CN115712556A - 一种基于仪表mcu软件平台的自动化测试方法及系统 - Google Patents
一种基于仪表mcu软件平台的自动化测试方法及系统 Download PDFInfo
- Publication number
- CN115712556A CN115712556A CN202211214487.4A CN202211214487A CN115712556A CN 115712556 A CN115712556 A CN 115712556A CN 202211214487 A CN202211214487 A CN 202211214487A CN 115712556 A CN115712556 A CN 115712556A
- Authority
- CN
- China
- Prior art keywords
- test
- instrument
- message
- variable
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明涉及汽车仪表UI及功能测试技术领域,提供一种基于仪表MCU软件平台的自动化测试方法及系统,预先根据内存映射文件和软件声明变量文件计算内存地址的地址映射表,在进行测试时,控制被测仪表将测试结果存储在软件存储变量(RTE变量的子变量)中。在进行测试验证时,仅交互对应的目标内存映射地址、目标内存地址数据,使得PC端可直接根据目标内存地址数据访问软件存储变量获取对应的测试结果,随后与输入的预期输出结果数据进行比较,根据比较结果输出测试报告,自动化的测试流程,有效地提高了测试效率、准确率。
Description
技术领域
本发明涉及汽车仪表UI及功能测试技术领域,尤其涉及一种基于仪表MCU软件平台的自动化测试方法及系统。
背景技术
目前,针对汽车仪表UI及功能测试主要靠人工功能测试和白盒工具自动化测试,仅能够实现部分功能的自动化测试。
在人工测试方面,以项目的功能规范文档为依据制定相应的测试用例,在制定过程中需要分析dbc(Database Can,CAN数据库)文件,编写LabVIEW程序用于发送功能报文,设计完测试用例后,需人工对表格中测试用例依次执行,在执行过程中,需要不断点击程序界面的按钮发送功能报文,对于一些重复度高且数量较多的测试用例也只能逐个执行,还有一些功能现象变化较快人眼很难进行捕捉,一旦错过了就要重新进行测试,这样一系列的操作容易造成测试人员疲劳并且测试效率也比较低。另外,部分功能测试所用到机械手、相机及自动发送CAN报文的相关设备,由于成本较高无法满足人手一套的需求,所以当测试项目较多的时候,需要等待前面项目测试完毕后才可进行本项目的测试。
白盒工具自动化测试是基于代码逻辑层面的测试,主要通过在白盒测试工具编写测试用例,使用软件内部自动化运行程序运行测试用例,最后验证测试结果。虽然白盒测试基于代码逻辑层面可以很精确的了解及控制功能内部逻辑的运作,但是,无论自动化与否白盒测试用例的设计都是耗时且复杂,需要测试人员对被测软件有着透彻的代码级理解。另外,白盒测试用例重用度会跟着软件变更幅度增大而降低,若软件变更较大则容易导致测试用例无法重用需要重新设计。基于代码层面的测试,也无法模拟真实环境中异常条件下的状况,不能确保在真实环境中功能的可信度。
发明内容
本发明提供一种基于仪表MCU软件平台的自动化测试方法及系统,解决了现有的汽车仪表测试方案测试用例设计难度高、复用率低,无法有效模拟真实环境,导致测试效率低、成本较高的技术问题。
为解决以上技术问题,本发明提供一种基于仪表MCU软件平台的自动化测试方法,包括步骤:
S1、获取dbc文件并解析,得到dbc功能报文数据并存储;
S2、根据内存映射文件和软件声明变量文件计算内存地址的地址映射表;
S3、获取当前输入的测试变量,生成对应的测试用例并执行;
S4、根据所述地址映射表获取被测仪表的测试结果,生成并输出测试报告。
在进一步的实施方案中,所述步骤S1包括步骤:
S11、根据获取到的dbc文件路径,获取对应的dbc文件;
S12、对所述dbc文件进行解析获取车身功能性报文信号;
S13、对所述车身功能性报文信号进行解析,获取其信号信息并存储到软件内存中。
在进一步的实施方案中,所述信号信息至少包括报文ID、长度以及报文中的信号名、起始位和长度。
在进一步的实施方案中,所述步骤S2包括步骤:
S21、获取解析软件声明变量文件得到RTE变量信息,计算出RTE变量中各个子变量对应的内存地址偏移量;
S22、读取基于MCU软件编译生成的内存映射文件,获取RTE变量的内存映射地址;
S23、根据所述内存地址偏移量和所述内存映射地址,计算所述RTE变量中每一所述子变量的内存地址数据,整合得到地址映射表并存储。
在进一步的实施方案中,所述步骤S3包括步骤:
S31、获取当前输入的测试变量生成对应的测试用例;
S32、从软件内存中提取与所述测试用例对应的dbc数据,并配置模拟场景;
S32、根据所述dbc数据生成功能报文,并发送到被测仪表;
S33、所述被测仪表根据所述功能报文执行测试,输出测试结果并存储到所述RTE变量的所述子变量中。
在进一步的实施方案中,所述测试用例至少包括功能报文输入数据、预期输出结果数据以及环境条件。
在进一步的实施方案中,所述步骤S4包括步骤:
S41、获取与预期输出结果数据对应的目标内存映射地址;
S42、根据所述目标内存映射地址生成验证报文,并发送到所述被测仪表;
S43、所述被测仪表从所述验证报文中获取所述目标内存映射地址,进而根据所述目标内存映射地址获取相应所述测试结果的目标内存地址数据;
S44、根据所述目标内存地址数据生成反馈报文并发送到PC端;
S45、根据所述目标内存地址数据和所述地址映射表获取对应的所述测试结果,并与所述预期输出结果数据进对比,根据对比结果生成并输出测试报告。
在进一步的实施方案中,所述测试用例的获取具体为:获取用户编辑界面上工具表格栏中测试变量的输入数据,进而从dbc数据库中提取对应的dbc数据;或者在用户编辑界面上导入Excel格式的测试用例文件。
本发明:
通过预先对dbc文件进行解析,获取到车身功能性报文信号的信号信息并存储到软件内存中,用户只需要在用户编辑界面上工具表格栏的测试变量中输入相应的数据,即可从软件内存获取对应功能报文,而无需额外编写;同时由于功能报文输入来源为稳定的dbc文件,文件变更较少,测试用例复用率高。
预先根据内存映射文件和软件声明变量文件计算内存地址的地址映射表,在进行测试时,控制被测仪表将测试结果存储在软件存储变量(RTE变量的子变量)中。在进行测试验证时,仅交互对应的目标内存映射地址、目标内存地址数据,使得PC端可直接根据目标内存地址数据访问软件存储变量获取对应的测试结果,随后与输入的预期输出结果数据进行比较,根据比较结果输出测试报告,自动化的测试流程,有效地提高了测试效率、准确率。
本发明提供一种基于仪表MCU软件平台的自动化测试系统,用于实现上述的一种基于仪表MCU软件平台的自动化测试方法,包括主控计算机、被测仪表、程控电源、继电器和Can收发盒子;所述主控计算机与所述程控电源、继电器和所述Can收发盒子电性连接,所述被测仪表与所述程控电源、继电器和所述Can收发盒子电性连接;
所述主控计算机上安装有测试工具,用于控制所述程控电源、继电器和所述Can收发盒子;
所述程控电源、继电器,用于在所述主控计算机的控制下模拟所述被测仪表的模拟场景;
所述Can收发盒子用于负责功能报文、验证报文的发送及反馈报文的接收,执行所述主控计算机与所述被测仪表的信息交互。
本发明在设备方面采用简单的CAN收发盒子、继电器以及程控电源,配置被测设备的模拟环境,测试设备较少但满足模拟真实环境中异常条件的需求,减少了大量的设备成本。
附图说明
图1是本发明实施例提供的一种基于仪表MCU软件平台的自动化测试方法的工作流程图;
图2是本发明实施例提供的一种基于仪表MCU软件平台的自动化测试系统的系统框架图。
具体实施方式
下面结合附图具体阐明本发明的实施方式,实施例的给出仅仅是为了说明目的,并不能理解为对本发明的限定,包括附图仅供参考和说明使用,不构成对本发明专利保护范围的限制,因为在不脱离本发明精神和范围基础上,可以对本发明进行许多改变。
本发明实施例提供的一种基于仪表MCU软件平台的自动化测试方法,如图1所示,在本实施例中,包括步骤:
S1、获取dbc文件并解析,得到dbc功能报文数据并存储,包括步骤S11~S13:
S11、根据获取到的dbc文件路径,获取对应的dbc文件;
S12、对dbc文件进行解析获取车身功能性报文信号;
S13、对车身功能性报文信号进行解析,获取其信号信息并存储到软件内存中。
在本实施例中,信号信息至少包括报文ID、长度以及报文中的信号名、起始位和长度。
其中,dbc文件中记录着Can报文所需的相关数据,里面包含着信号所属ID、信号名、信号数据长度、信号数据起始位及信号数据排列方式。
S2、根据内存映射文件和软件声明变量文件计算内存地址的地址映射表,包括步骤S21~S23:
S21、获取解析软件声明变量文件得到RTE变量信息,计算出RTE变量中各个子变量对应的内存地址偏移量;
S22、读取基于MCU软件编译生成的内存映射文件,获取RTE变量的内存映射地址;
S23、根据内存地址偏移量和内存映射地址,计算RTE变量中每一子变量的内存地址数据,整合得到地址映射表并存储。
S3、获取当前输入的测试变量,生成对应的测试用例并执行,包括步骤S31~S33:
S31、获取当前输入的测试变量生成对应的测试用例;
在本实施例中,测试用例的获取具体为:获取用户编辑界面上工具表格栏中测试变量的输入数据,进而从dbc数据库中提取对应的dbc数据;或者在用户编辑界面上导入Excel格式的测试用例文件。
具体的,在PC端的测试工具中,配置有用户编辑界面,用户可在界面的工具表格栏中选择报文信号名设置相应的数值及模拟状态编号完成对输入数据的录入(即功能报文输入数据的录入),随后选择验证变量名称设置验证值或验证范围(即预期输出结果数据)完成输出验证数据录入,当数据确认无误后点击数据保存完成对测试用例数据的编辑。在测试用例的数据存储方面主要采用数据库方式进行存储,分为项目表、CAN信息表、关键变量信息表以及模块测试用例表,当需要使用信息时,通过查询数据库获取相应信息。
测试用例数据导入导出:制定Excel模块表格,当用户在工具界面中点击导出选项,工具会按照之前约定的Excel表格模板依次进行导出;需要导入Excel表格数据则按照Excel表格模板进行填写,随机点击导入选项完成对数据的导入。
S32、从软件内存中提取与测试用例对应的dbc数据,并配置模拟场景;
其中,当获取到的测试用例验证无误后,先检索当前测试用例是否需要测试,若是则进入步骤S32,若否则跳至下一条测试用例。
S32、根据dbc数据生成功能报文,并发送到被测仪表;
S33、被测仪表根据功能报文执行测试,输出测试结果并存储到RTE变量的子变量中。
,在本实施例中,测试用例至少包括功能报文输入数据、预期输出结果数据以及环境条件。
S4、根据地址映射表获取被测仪表的测试结果,生成并输出测试报告,包括步骤S41~S45:
S41、获取与预期输出结果数据对应的目标内存映射地址;
S42、根据目标内存映射地址生成验证报文,并发送到被测仪表;
S43、被测仪表从验证报文中获取目标内存映射地址,进而根据目标内存映射地址获取相应测试结果的目标内存地址数据;
S44、根据目标内存地址数据生成反馈报文并发送到PC端;
S45、根据目标内存地址数据和地址映射表获取对应的测试结果,并与预期输出结果数据进对比,根据对比结果生成并输出测试报告。
其中,测试报告包括测试用例和对比结果。
本发明实施例:
通过预先对dbc文件进行解析,获取到车身功能性报文信号的信号信息并存储到软件内存中,用户只需要在用户编辑界面上工具表格栏的测试变量中输入相应的数据,即可从软件内存获取对应功能报文,而无需额外编写;同时由于功能报文输入来源为稳定的dbc文件,文件变更较少,测试用例复用率高。
预先根据内存映射文件和软件声明变量文件计算内存地址的地址映射表,在进行测试时,控制被测仪表将测试结果存储在软件存储变量(RTE变量的子变量)中。在进行测试验证时,仅交互对应的目标内存映射地址、目标内存地址数据,使得PC端可直接根据目标内存地址数据访问软件存储变量获取对应的测试结果,随后与输入的预期输出结果数据进行比较,根据比较结果输出测试报告,自动化的测试流程,有效地提高了测试效率、准确率。
实施例2
本发明实施例附图中的附图标记包括:主控计算机1、被测仪表2、程控电源3、继电器4、Can收发盒子5。
本发明提供一种基于仪表MCU软件平台的自动化测试系统,用于上述实施例1提供的一种基于仪表MCU软件平台的自动化测试方法,参见图2,包括主控计算机1、被测仪表2、程控电源3、继电器4和Can收发盒子5;主控计算机1与程控电源3、继电器4和Can收发盒子5电性连接,被测仪表2与程控电源3、继电器4和Can收发盒子5电性连接;
主控计算机1上安装有测试工具,用于控制程控电源3、继电器4和Can收发盒子5;
程控电源3、继电器4,用于在主控计算机1的控制下模拟被测仪表2的模拟场景:
程控电源3负责模拟电源异常情况下被测仪表2出现的状况,另外,对于需要硬线触发信号的模块可通过程控电源3配置相应电压值进行模拟输入,电压的控制交予主控计算机1进行处理,主控计算机1通过发送串口指令完成对程控电源3的控制。
继电器4用于模拟用户的一些插拔、状态切换等操作,主控计算机1通过modbus协议控制IO口,使继电器4可以根据需求进行开关操作,以此达到模拟场景的目的。
Can收发盒子5用于负责功能报文、验证报文的发送及反馈报文的接收,执行主控计算机1与被测仪表2的信息交互。
Can收发盒子5为仪表设备与计算机信息交互的桥梁,一端通过USB线连接主控计算机1安装相应的驱动,另一端连接着被测仪表2的CAN_High信号线及CAN_Low信号线,主要功能负责Can报文的发送及接收。
本发明实施例在设备方面采用简单的CAN收发盒子5、继电器4以及程控电源3,配置被测设备的模拟环境,测试设备较少但满足模拟真实环境中异常条件的需求,减少了大量的设备成本。
本发明实施例提供的测试系统,采用各个模块实现测试方法中的各个步骤,为测试方法提供硬件基础,便于方法实施。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (9)
1.一种基于仪表MCU软件平台的自动化测试方法,其特征在于,包括步骤:
S1、获取dbc文件并解析,得到dbc功能报文数据并存储;
S2、根据内存映射文件和软件声明变量文件计算内存地址的地址映射表;
S3、获取当前输入的测试变量,生成对应的测试用例并执行;
S4、根据所述地址映射表获取被测仪表的测试结果,生成并输出测试报告。
2.如权利要求1所述的一种基于仪表MCU软件平台的自动化测试方法,其特征在于,所述步骤S1包括步骤:
S11、根据获取到的dbc文件路径,获取对应的dbc文件;
S12、对所述dbc文件进行解析获取车身功能性报文信号;
S13、对所述车身功能性报文信号进行解析,获取其信号信息并存储到软件内存中。
3.如权利要求2所述的一种基于仪表MCU软件平台的自动化测试方法,其特征在于:所述信号信息至少包括报文ID、长度以及报文中的信号名、起始位和长度。
4.如权利要求3所述的一种基于仪表MCU软件平台的自动化测试方法,其特征在于,所述步骤S2包括步骤:
S21、获取解析软件声明变量文件得到RTE变量信息,计算出RTE变量中各个子变量对应的内存地址偏移量;
S22、读取基于MCU软件编译生成的内存映射文件,获取RTE变量的内存映射地址;
S23、根据所述内存地址偏移量和所述内存映射地址,计算所述RTE变量中每一所述子变量的内存地址数据,整合得到地址映射表并存储。
5.如权利要求1所述的一种基于仪表MCU软件平台的自动化测试方法,其特征在于,所述步骤S3包括步骤:
S31、获取当前输入的测试变量生成对应的测试用例;
S32、从软件内存中提取与所述测试用例对应的dbc数据,并配置模拟场景;
S32、根据所述dbc数据生成功能报文,并发送到被测仪表;
S33、所述被测仪表根据所述功能报文执行测试,输出测试结果并存储到所述RTE变量的所述子变量中。
6.如权利要求5所述的一种基于仪表MCU软件平台的自动化测试方法,其特征在于:所述测试用例至少包括功能报文输入数据、预期输出结果数据以及环境条件。
7.如权利要求5所述的一种基于仪表MCU软件平台的自动化测试方法,其特征在于,所述步骤S4包括步骤:
S41、获取与预期输出结果数据对应的目标内存映射地址;
S42、根据所述目标内存映射地址生成验证报文,并发送到所述被测仪表;
S43、所述被测仪表从所述验证报文中获取所述目标内存映射地址,进而根据所述目标内存映射地址获取相应所述测试结果的目标内存地址数据;
S44、根据所述目标内存地址数据生成反馈报文并发送到PC端;
S45、根据所述目标内存地址数据和所述地址映射表获取对应的所述测试结果,并与所述预期输出结果数据进对比,根据对比结果生成并输出测试报告。
8.如权利要求5所述的一种基于仪表MCU软件平台的自动化测试方法,其特征在于,在本实施例中,测试用例的获取具体为:获取用户编辑界面上工具表格栏中测试变量的输入数据,进而从dbc数据库中提取对应的dbc数据;或者在用户编辑界面上导入Excel格式的测试用例文件。
9.一种基于仪表MCU软件平台的自动化测试系统,用于实现如权利要求1~8任一项权利要求所述的一种基于仪表MCU软件平台的自动化测试方法,其特征在于:包括主控计算机、被测仪表、程控电源、继电器和Can收发盒子;所述主控计算机与所述程控电源、继电器和所述Can收发盒子电性连接,所述被测仪表与所述程控电源、继电器和所述Can收发盒子电性连接;
所述主控计算机上安装有测试工具,用于控制所述程控电源、继电器和所述Can收发盒子;
所述程控电源、继电器,用于在所述主控计算机的控制下模拟所述被测仪表的模拟场景;
所述Can收发盒子用于负责功能报文、验证报文的发送及反馈报文的接收,执行所述主控计算机与所述被测仪表的信息交互。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211214487.4A CN115712556A (zh) | 2022-09-30 | 2022-09-30 | 一种基于仪表mcu软件平台的自动化测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211214487.4A CN115712556A (zh) | 2022-09-30 | 2022-09-30 | 一种基于仪表mcu软件平台的自动化测试方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115712556A true CN115712556A (zh) | 2023-02-24 |
Family
ID=85231034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211214487.4A Pending CN115712556A (zh) | 2022-09-30 | 2022-09-30 | 一种基于仪表mcu软件平台的自动化测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115712556A (zh) |
-
2022
- 2022-09-30 CN CN202211214487.4A patent/CN115712556A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102169846B (zh) | 一种在集成电路晶圆测试过程中实现多维变量密码并行写入的方法 | |
CN103365770A (zh) | 移动终端软件测试系统及软件测试方法 | |
CN107943008B (zh) | 基于vt系统的自动化诊断测试方法 | |
CN111176984A (zh) | 一种面向信号的自动测试实现方法 | |
CN116580757B (zh) | 一种虚拟ate测试方法及系统 | |
CN105699788A (zh) | 一种供电时序的测量方法、示波器和系统 | |
CN114238071A (zh) | 基于数字化仿真技术的dcs软件自动验证系统和方法 | |
CN113068452B (zh) | 一种自动测试系统软件开发平台的构建方法 | |
CN114138667A (zh) | 一种soc芯片驱动程序自动化测试系统及测试方法 | |
CN102707712B (zh) | 电子装备故障诊断方法和系统 | |
CN110749814A (zh) | 一种芯片ic样本自动化测试系统及方法 | |
CN115712556A (zh) | 一种基于仪表mcu软件平台的自动化测试方法及系统 | |
KR100329253B1 (ko) | 스캔테스트장치 | |
CN103165405A (zh) | 一种通过gpib接口实时生成多维变量密码方法 | |
CN114442570B (zh) | 一种核电站非安全级dcs逻辑回路的验证系统和方法 | |
CN113608089B (zh) | 开关电源mos管的soa测试方法、系统、装置及可读存储介质 | |
CN111596203B (zh) | 一种芯片测试装置、平台及方法 | |
CN110704252A (zh) | 一种基于云端动态管理的自动测试装置和测试方法 | |
CN112929101B (zh) | 一种应用于发射机的自动测试系统及方法 | |
US11803456B2 (en) | Distributed event-based test execution | |
CN115421020A (zh) | 一种集成电路测试信号的生成方法与测试方法 | |
CN114879647A (zh) | Ecu故障码测试系统、电子控制器及汽车 | |
CN111061244A (zh) | 一种配电主站监控系统的自动化测试方法 | |
CN107748302B (zh) | 一种座椅电气附件自动综合检测设备自动测试控制方法 | |
CN115167337A (zh) | 自动化测试方法、测试平台、测试系统及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |