技术领域
[0001] 本实用新型涉及嵌入式软件的测试技术领域,更具体地涉及一种嵌入式软件的自动化测试系统。
相关背景技术
[0002] 现有嵌入式软件测试需要通过多个外部成型产品提供信号源给测试设备进行测试,例如ADC的测试,则需要人工通过一个可调的电源设备提供信号源给到测试系统,需要人工的调节不同电源。当测试TIM的时候,主要给测试设备提供不同频率的PWM波形,提供波形的可以为示波器,逻辑分析仪,或者是先利用一个辅助板下载一个程序测试后,修改代码后再下载进行另一个频率的测试,这样不仅耗时而且易出错。现有技术有以下缺点:
[0003] 1)成本高;例如ADC测试需要提供电压源;DAC的测试需要判断输出的模拟信号;TIM的测试需要提供一定频率的PWM等等。这些信号都通过指定的设备,电压源,示波器或者逻辑分析仪提供,那么将需要大量的设备才能满足同时对多个测试系统的测试。
[0004] 2)人为因素影响,测试条件遗漏,测试周期长;需要人工通过指定设备(例如电压源等设备)输入信号给测试系统,同时当调整电压大小时,可能会遗漏部分电压测试点从而导致结果不可信。人的精力有限无法24小时进行测试,测试周期长。
具体实施方式
[0025] 在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
[0026] 为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。
[0027] 本申请的一个实施例中涉及一种嵌入式软件的自动化测试系统,其结构如图1所示,该系统包括:上位机101、辅助测试系统103以及待测系统102,上位机101的串行通信接口COM与待测系统102的串行调试接口SWD连接,上位机101的串行通信接口COM与辅助测试系统的第一UART接口UART1连接,待测系统102的UART接口与辅助测试系统103的第二UART接口UART2连接。上位机例如是PC端。
[0028] 其中,上位机101的串行通信接口COM与待测系统102的串行调试接口SWD之间通过下载调试器连接。待测系统102的UART接口与辅助测试系统103的第二UART接口UART2之间通过杜邦线连接。
[0029] 参考图2所示,辅助测试系统103包括:微控制器201、复位电路202、串行通信接口(CH340)203、以及TYPEC转换模块(TYPEC_16PINS_SMD)204。其中,复位电路202连接到微控制器201的复位端口(图中未示出),微控制器201的至少三个GPIO接口GPIO1、GPIO2、GPIO3电路分别用于输出与微控制器201相连接的数模转换器DAC(图中未示出)提供的模拟信号到待测系统、输出与微控制器201相连接的定时器TIM(图中未示出)提供的PWM信号到待测系统、以及用于从待测系统接收待测系统中的数模转换器DAC提供的模拟信号,辅助测试系统103的第二UART接口UART2依次通过串行通信接口203和TYPEC转换模块204连接上位机的串行通信接口COM。在一个实施例中,辅助测试系统103串行通信接口为CH340。
[0030] 参考图3所示,复位电路包括电阻R1、电容C1、二极管和D1开关K1,电阻R1的一端和二极管D1的阴极连接到电源端Vdd,电阻R1的另一端、二极管D1的阳极和电容C1的一端连接到微控制器的复位端口,电容C1的另一端连接到地端,开关K1连接到复位端口。在一个实施例中,开关K1闭合时,复位电路输出低电平的复位到微控制器的复位端口。
[0031] 本实施例中的使用交互的嵌入式软件的自动化测试系统包括PC与待测待系统的交互、PC与辅助测试系统的交互、辅助测试系统与待测系统的交互。如图1所示,上位机通过一个USB转串口工具与辅助测试系统相连,辅助测试系统通过UART外设与待测系统的UART外设进行连接通信,待测系统通过嵌入式下载调试工具(利用SWD协议进行通信)与上位机进行连接,这样整个测试系统形成了一个闭环。
[0032] 交互的嵌入式软件自动化测试系统运行过程:启动自动化测试后,上位机通过下载调试器将待测试用例下载到待测开发板,待测开发板开始运行测试程序,此时辅助测试系统等待测试系统的请求,同时辅助系统对请求进行超时判断,若超时还没接收到测试系统发出的请求,则当前用例测试失败并将结果反馈到上位机,上位机保存当前测试结果,然后开始下一个测试用例的测试。若辅助测试板接收到请求,并判断当前请求是否为测试结果反馈请求,如果是测试结果反馈请求,那么则辅助测试系统将结果反馈到上位机,上位机保存当前结果。反之则接收的请求为请求辅助系统给测试系统提供输入信号,辅助测试系统将请求信号发送给上位机,上位机对请求进行解析并发送对应的AT命令给辅助测试系统,辅助测试系统解析AT命令并执行操作,从而给测试系统提供输入信号,测试系统接收输入信号后继续执行程序,最后发送结果请求给到辅助测试系统,辅助测试系统保存测试结果。对所有待测试样例进行一一测试,并保存所有测试结果便于后续测试结果可视化分析。
[0033] 本实施例的具体交互实现如下:
[0034] 1)上位机与待测系统的交互结构
[0035] 上位机与待测系统实现交互的目的就是实现自动下载测试软件到待测系统,并启动待测系统运行。
[0036] 如图4所示,使用下载调试器(如JLink、DAPlink等设备)一端与待测嵌入式处理器提供的SWD接口连接,另一端与上位机的COM连接。通过上位机自动执行脚本,从而实现自动下载测试用例。硬件上待测系统提供SWD硬件接口引脚,通过下载调试器连接SWD接口和上位机COM口。SWD接口如图5所示。SWD接口用于连接PC,下载嵌入式软件到MCU。PA13和PA14默认复用为SWDIO和SWCLK功能,nRST与MCU的nRST引脚连接
[0037] 2)辅助测试系统与待测系统交互结构
[0038] 如图6和图7所示,辅助测试系统和待测系统通过UART进行通信。将辅助测试系统的UART的TX(PA2)引脚与待测嵌入式系统的UART的RX(PA10)引脚使用杜邦线连接,同时辅助测试系统的UART的RX(PA3)引脚与待测嵌入式系统的UART的TX(PA9)引脚也使用杜邦线连接。从而实现待测系统与辅助测试系统进行通信,为实现嵌入式软件自动化测试提供依据。
[0039] 辅助测试系统与待测系统交互所需实现的功能如下:测试系统通过UART硬件接口发送测试结果或者是信号源请求给辅助测试系统。由于辅助测试系统需要监听测试系统发出的请求,因此默认情况下,这个CH340串口需要处于一直工作的状态,且这个串口接收测试系统发出的请求,并将请求发送给辅助测试系统的另一个串口。
[0040] 3)辅助测试系统与上位机交互结构
[0041] 辅助测试系统与上位机也通过UART进行交互。这里使用UART进行交互。和辅助测试系统与待测系统的交互硬件接线有区别。辅助测试系统搭建的CH340串行通信接口电路,通过数据线连接CH340串行通信接口和上位机的COM,从而可实现上位机与下位机的交互,参考图8所示。
[0042] 但是要完成自动化测试,让辅助测试系统发挥功能提供信号输入给测试系统,那么就需要指定交互规则。本方案提供的交互规则是AT指令,AT指令的执行原理可以理解为,当上位机向串口发送指定的AT指令给辅助测试系统,辅助测试系统解析指令并执行指定程序给测试系统提供信号源。每一个AT功能指令的实现都是需要辅助测试系统来完成的。
[0043] AT指令,用于控制两个设备之间交互的规则。因此,不同的厂商所定义的AT指令集是有差异的。但是在GSM 07.07基于V.250标准,定义了AT标准。基本都遵循其标准进行AT指令集的定义,约定AT指令的四种指令格式:测试指令(AT+=?此指令类似于help,用于提供命令的使用信息以及参数的取值范围)、查询指令(AT+?此指令用于查询对应功能的当前值、设置指令(AT+=…此指令用于用户指定参数到对应的功能、执行指令(AT+此指令用于执行相关操作)。目前SDK中也提供了AT指令解析的组件,用于自定义交互规则。使用AT指令来实现PC与辅助测试板的交互。
[0044] 本方案主要是需要辅助测试系统不仅能够实现对嵌入式软件测试结果的信号传递,而且还需要提供一些通用的模拟信号、数字信号。辅助测试系统开放给用户的接口为两个UART、多个GPIO引脚接口。其他引脚可用于辅助系统其它功能的扩展。两个UART、多个GPIO引脚接口具体功能如下:
[0045] 1)两个UART接口例如通过CH340串行通信接口与上位机和待测系统的交互;
[0046] 2)GPIO引脚接口,主要辅助系统功能信号输出引脚
[0047] 一个GPIO接口引脚,用于接收由DAC提供的模拟信号。
[0048] 一个GPIO接口引脚,用于输出由DAC提供的模拟信号。
[0049] 一个GPIO接口引脚,用于输出由TIM提供的PWM信号。
[0050] 本实施例中,将部分信号通过MCU的GPIO引脚引出,能够直接输出,或输入信号。其中包括:
[0051] (1)模拟信号输入引脚,通过ADC的GPIO映射引脚输入,例如PA0附加功能作为ADC的输入,因此用插针将PA0信号引出。
[0052] (2)模拟信号输出引脚,通过DAC的GPIO映射引脚输出,例如PA4附加功能作为DAC的输出。因此用插针将PA4信号引出。
[0053] (3)PWM输出引脚,通过TIM的GPIO复用引脚输出PWM,例如PA1复用为TIM功能。因此用插针将PA1信号引出。
[0054] (4)引出MCU UART2的RX2和TX2信号,作为和待测系统的UART进行通信接口。RX2(PA3)和TX2(PA2)的信号引出。
[0055] 将MCU UART1的RX1(PA10)和TX1(PA9)信号通过CH340模块(USB转串口模块)转换,并利用TYPEC_16PIN_SMD转换为Type‑C的接口输出,便于使用Type‑C的数据线与上位机进行通信。实现上位机通过操作串口来控制辅助测试系统信号的输出。同时也通过TYPEC_16PIN_SMD给系统提供电源。
[0056] 本方案将不同功能的程序通过AT指令进行管理,只需测试板发出需求之后,上位机就自动发送相关AT指令并提供相关功能,此测试过程完全无人工的参与,且一个辅助测试系统能代替很多信号源设备。既节约设备成本又排除人为因素影响,缩短测试周期。
[0057] 需要说明的是,在本专利的权利要求和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0058] 在本实用新型提及的所有文献都在本申请中引用作为参考,就如同每一篇文献被单独引用作为参考那样。此外应理解,在阅读了本实用新型的上述讲授内容之后,本领域技术人员可以对本实用新型作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。