本发明涉及车载终端技术领域,尤其涉及车载终端自动测试技术领域,具体是指一种基于二维码识别实现车载终端自动测试的系统及方法。
背景技术:
车载终端产品在测试阶段,有如信号采集、模块功能稳定性、耐久性测试,通常需要投入人力进行人工测试与测验。这不仅耗费大量人力资源,同时也无法保证测试过程的一致性与可重复性。因此,自动测试技术的出现为解决该问题提供了一个好的方向。现有自动测试技术中,大都采用串口或其它数据通信连接的方式,实现自动测试,但需要硬件上提供可使用的硬件接口,并定义通信协议,才可能实现自动测试。基于二维码识别技术的自动测试装置,无须额外增加通信接口即可扩展自动测试功能。
技术实现要素:
本发明的目的是克服了上述现有技术的缺点,提供了一种能够基于二维码识别实现车载终端自动测试的系统及方法。
为了实现上述目的,本发明具有如下构成:
该基于二维码识别实现车载终端自动测试的系统,包括:
车载终端,所述的待测终端具备显示功能,并通过显示二维码反馈终端状态;
信号控制盒,用于控制待测终端的供电电源、点火信号输出、AD信号的模拟、车速信号的模拟和CAN数据的收发,所述的信号控制盒与所述的待测终端相连接;
GPS信号发生器,用于模拟产生GPS定位数据并输出至所述的待测终端,所述的GPS信号发生器分别与所述的待测终端和所述的信号控制盒相连接;
摄像头,用于采集待测终端屏幕上显示的二维码信息,所述的摄像头分别与所述的GPS信号发生器和所述的信号控制盒相连接;
计算机,用于控制测试过程,驱动信号控制盒和GPS信号发生器,控制摄像头并采集摄像头数据,所述的计算机分别与所述的摄像头、所述的GPS信号发生器和所述的信号控制盒相连接。
较佳地,所述的待测终端安装有测试用例程序,所述的测试用例程序用于根据当前待测终端的状态生成并输出二维码。
较佳地,所述的计算机安装有自动测试程序,所述的自动测试程序用于识别待测终端屏幕上显示的二维码信息,解析并处理所接收的信息,与预期用例测试结果进行比对,记录并生成测试结果。
较佳地,所述的二维码采用Data Matrix码,遵循ECC200规范,二维码信息由JSON数据格式转换,信息格式中包含命令类型、时间戳、用例码、执行间隔、执行次数、重复次数和数据区内容。
还包括一种通过上述系统基于二维码识别实现车载终端自动测试的控制方法,该方法包括以下步骤:
(1-1)检查硬件连接,确保系统连接正常;
(1-2)所述的计算机进行程序初始化;
(1-3)所述的计算机判断初始化是否成功,如果是,则继续步骤(1-4),否则,结束本次操作;
(1-4)所述的摄像头采集待测终端屏幕上显示的二维码图像;
(1-5)所述的计算机判断是否识别到二维码,如果是,则继续步骤(1-8),否则,继续步骤(1-6);
(1-6)所述的计算机判断图像采集的重试次数是否超过预设值,如果是,则继续步骤(1-7),否则,继续步骤(1-4);
(1-7)重启待测终端并记录重启异常,继续步骤(1-2);
(1-8)所述的计算机判断当前识别到的二维码是否上一次识别到的二维码相同,如果是,则继续步骤(1-4),否则,解析当前二维码数据;
(1-9)所述的计算机根据解析得到的命令类型执行相应操作。
较佳地,所述的步骤(1-9)具体包括以下步骤:
(1-9-1)判定命令类型,如果是终端异常命令,则输出并保存异常信息,如果是结束测试命令,则输出测试结果,如果是执行用例命令,则输出用例信号并继续步骤(1-9-2),如果是结果反馈命令,则将当前结果与与预期结果对比,保存测试结果并继续步骤(1-9-2);
(1-9-2)延迟一预设的时间间隔,继续步骤(1-4)。
还包括一种通过上述系统基于二维码识别实现车载终端状态反馈的方法,该方法包括以下步骤:
(2-1)所述的车载终端进行系统初始化并自我检测;
(2-2)判断所述的车载终端是否存在系统异常,如果是,则输出异常信息二维码并结束本次操作,否则,继续步骤(2-3);
(2-3)所述的车载终端输出测试用例二维码并执行延迟采样时间间隔;
(2-4)所述的车载终端输出反馈结果二维码并执行延迟采样时间间隔;
(2-5)所述的车载终端判断当前用例的执行次数是否完成,如果是,则继续步骤(2-6),否则,继续步骤(2-4);
(2-6)所述的车载终端判断是否存在需要执行的测试用例,如果是,则继续步骤(2-3),否则,结束本次操作。
采用了该发明中的基于二维码识别实现车载终端自动测试的系统及方法,弥补人工测试的不足,实现对车载终端产品稳定性、耐久性自动化测试;待测终端只须具备显示功能,无须扩展硬件接口即可用于自动检测;自动测试计算机中的自动测试程序可预设测试用例,测试用例程序可自定义测试用例、测试过程,可以做到测试过程可重复、测试结果可记录;测试过程无须人工干预,降低人工成本,提高测试效率及测试结果的可靠性,具有广泛的应用范围。
附图说明
图1为本发明的基于二维码识别实现车载终端自动测试的系统的示意图。
图2为本发明的基于二维码识别实现车载终端自动测试的方法的自动测试程序流程图。
图3为本发明的基于二维码识别实现车载终端自动测试的方法的测试用例程序流程图。
图4为本发明的基于二维码识别实现车载终端自动测试的系统及方法的二维码示意图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
该基于二维码识别实现车载终端自动测试的系统,包括:
车载终端,所述的待测终端具备显示功能,并通过显示二维码反馈终端状态;
信号控制盒,用于控制待测终端的供电电源、点火信号输出、AD信号的模拟、车速信号的模拟和CAN数据的收发,所述的信号控制盒与所述的待测终端相连接;
GPS信号发生器,用于模拟产生GPS定位数据并输出至所述的待测终端,所述的GPS信号发生器分别与所述的待测终端和所述的信号控制盒相连接;
摄像头,用于采集待测终端屏幕上显示的二维码信息,所述的摄像头分别与所述的GPS信号发生器和所述的信号控制盒相连接;
计算机,用于控制测试过程,驱动信号控制盒和GPS信号发生器,控制摄像头并采集摄像头数据,所述的计算机分别与所述的摄像头、所述的GPS信号发生器和所述的信号控制盒相连接。
在一种较佳的实施方式中,所述的待测终端安装有测试用例程序,所述的测试用例程序用于根据当前待测终端的状态生成并输出二维码。
在一种较佳的实施方式中,所述的计算机安装有自动测试程序,所述的自动测试程序用于识别待测终端屏幕上显示的二维码信息,解析并处理所接收的信息,与预期用例测试结果进行比对,记录并生成测试结果。
在一种较佳的实施方式中,所述的二维码采用Data Matrix码,遵循ECC200规范,二维码信息由JSON数据格式转换,信息格式中包含命令类型、时间戳、用例码、执行间隔、执行次数、重复次数和数据区内容。
还包括一种通过上述系统基于二维码识别实现车载终端自动测试的控制方法,该方法包括以下步骤:
(1-1)检查硬件连接,确保系统连接正常;
(1-2)所述的计算机进行程序初始化;
(1-3)所述的计算机判断初始化是否成功,如果是,则继续步骤(1-4),否则,结束本次操作;
(1-4)所述的摄像头采集待测终端屏幕上显示的二维码图像;
(1-5)所述的计算机判断是否识别到二维码,如果是,则继续步骤(1-8),否则,继续步骤(1-6);
(1-6)所述的计算机判断图像采集的重试次数是否超过预设值,如果是,则继续步骤(1-7),否则,继续步骤(1-4);
(1-7)重启待测终端并记录重启异常,继续步骤(1-2);
(1-8)所述的计算机判断当前识别到的二维码是否上一次识别到的二维码相同,如果是,则继续步骤(1-4),否则,解析当前二维码数据;
(1-9)所述的计算机根据解析得到的命令类型执行相应操作。
在一种较佳的实施方式中,所述的步骤(1-9)具体包括以下步骤:
(1-9-1)判定命令类型,如果是终端异常命令,则输出并保存异常信息,如果是结束测试命令,则输出测试结果,如果是执行用例命令,则输出用例信号并继续步骤(1-9-2),如果是结果反馈命令,则将当前结果与与预期结果对比,保存测试结果并继续步骤(1-9-2);
(1-9-2)延迟一预设的时间间隔,继续步骤(1-4)。
还包括一种通过上述系统基于二维码识别实现车载终端状态反馈的方法,该方法包括以下步骤:
(2-1)所述的车载终端进行系统初始化并自我检测;
(2-2)判断所述的车载终端是否存在系统异常,如果是,则输出异常信息二维码并结束本次操作,否则,继续步骤(2-3);
(2-3)所述的车载终端输出测试用例二维码并执行延迟采样时间间隔;
(2-4)所述的车载终端输出反馈结果二维码并执行延迟采样时间间隔;
(2-5)所述的车载终端判断当前用例的执行次数是否完成,如果是,则继续步骤(2-6),否则,继续步骤(2-4);
(2-6)所述的车载终端判断是否存在需要执行的测试用例,如果是,则继续步骤(2-3),否则,结束本次操作。
本发明专利提供一种基于二维码识别技术的车载终端自动测试装置及方法,所述装置包括自动测试计算机、信号控制盒、GPS信号发生器、摄像头、待测终端、自动测试程序、测试用例程序。自动测试程序通过摄像头扫描终端显示屏上的二维码信息,获取相应的测试请求,并启动预设测试用例;二维码采用Data Matrix码,ECC200规范;待测终端执行的测试用例程序通过显示屏反馈当前结果。自动测试系统通过对结果的比对,完成测试结果的判定及测试记录。
系统结构及连接方法如图1所示,自动测试计算机分别与信号控制盒、GPS信号发生器、摄像头连接;待测终端的接口线束与信号控制盒连接,其中包括终端供电电源、点火信号、AD采集信号、车速信号、CAN信号。GPS信号发生器与待测终端的GPS天线连接。
自动测试计算机中包含一个自动测试程序,通过驱动信号控制盒,控制待测终端的供电电源、点火信号输出、AD信号的模拟、车速信号的模拟以及CAN数据的收发;通过驱动GPS信号发生器,模拟产生GPS定位数据输入到待测终端;通过控制并采集摄像头数据,识别待测终端屏幕上显示的二维码信息。
待测终端中包含一个可生成并输出显示二维码的测试用例程序,通过自动执行测试用例程序,实现终端状态的反馈。自动测试程序识别到二维码后,解析并处理相应的信息,与预期用例测试结果进行比对,记录并生成测试结果。
自动测试程序执行流程图如图2所示,检测硬件连接,确认连接就绪后,启动初始化程序,初始化过程包括信号控制盒初始化、GPS信号发生器初始化、摄像头初始化并对焦、待测终端初始化;初始化成功后,执行采集图像进程;判断是否识别到二维码信息,是的话与上一次数据进行对比,判断信息是否一致;如果不一致,则解析数据,否则重新采集图像;解析到的数据,通过命令类型的判定,执行相应的动作;收到终端异常命令,输出并保存异常信息,结束测试;收到结束测试命令,输出测试结果,并结束测试;收到执行用例命令,输出用例信号,并执行延迟间隔时间,该时间可通过读取二维码执行用例命令获得;收到结果反馈命令将结果与预期结果比对并保存测试结果,执行延迟间隔时间后,再次回到采集图像,继续识别二维码。
执行流程如图3所示,测试用例程序运行在待测终端中,系统上电后,执行初始化系统,再执行系统自检,如果存在异常,则输出异常信息二维码,结束自动测试;自检正常后,输出测试用例二维码,执行延迟采样时间间隔;读取当前用例的结果,并输出反馈结果二维码,再次执行延迟采样时间间隔;判断是否完成当前用例的执行次数,如果否,继续读取结果并输出反馈结果二维码;如果是,再判断是否执行下一个测试用例;如果是,则再次输出测试用例二维码,否则输出测试结束二维码,结束自动测试。
如图4所示,二维码信息采用Data Matrix码,ECC200规范,尺寸在32×32至48×48,最大字节数为172;信息内容为JSON(JavaScript Object Notation)格式数据,分为结束检测命令(1)、执行用例命令(2)、反馈结果命令(3)、终端异常命令(4);JSON格式中的名称有命令类型(cmd)、时间戳(date)、用例码(case)、执行间隔(val)、执行次数(time)、重复次数(repeat)、数据区(data);其中timestamp指Unix时间戳,case_id指用例编号,value指数字类型数值,content可以是JSON支持的数据格式,如数字、数组、字符串、逻辑值或其它子对象数据;示例一至示例四分别列举了四种不同命令的二维码信息,相关命令如下:
(1)结束测试命令
{cmd:1,date:[timestamp]}
示例一:{cmd:1,date:1469494800}
(2)执行用例命令
{cmd:2,date:[timestamp],case:[case_id],val:[value],time:[value],repeat:[value]}
示例二:{cmd:2,date:1469494800,case:1,val:500,time:50,repeat:3}
(3)反馈结果命令
{cmd:3,date:[timestamp],case:[case_id],data:[content]}
示例三:{cmd:3,date:1469494801,case:1,data:120}
(4)终端错误命令
{cmd:4,date:[timestamp],data:[content]}
示例四:{cmd:4,date:1469494800,data:0x1F}。
实施例一:车载终端72小时连续工作稳定性性能测试
1、将预装测试用例程序的待测终端装置放置在水平测试台上,连接好终端线束,调整好摄像头与终端显示屏的位置;
2、自动测试计算机中,启动自动测试程序,配置或选择稳定性性能测试用例,点击运行后,信号控制盒打开供电电源;
3、待测终端上电后,终端显示测试用例二维码信息,等待摄像头识别;
4、自动测试程序通过摄像头识别到测试用例信息后,执行测试用例输出,如控制车速信号、输出CAN数据、控制小灯信号等;
5、待测终端根据预设测试用例程序,定时更新显示的二维码信息;
6、自动测试程序定时扫描二维码信息,判定待测终端工作状态,记录并保存测试过程。
实施例二:车载终端里程计算性能测试
1、同实施例一的步骤1、2、3;
4、自动测试程序通过摄像头识别到测试用例信息后,执行测试用例输出,根据预设车速变化曲线输出相应的车速信号;
5、待测终端根据预设测试用例程序,定时更新显示的二维码信息,信息包括当前车速及当时计算的里程数;
6、自动测试程序定时扫描二维码信息,判定待测终端反馈数据的正确性,记录并保存测试过程。
采用了该发明中的基于二维码识别实现车载终端自动测试的系统及方法,弥补人工测试的不足,实现对车载终端产品稳定性、耐久性自动化测试;待测终端只须具备显示功能,无须扩展硬件接口即可用于自动检测;自动测试计算机中的自动测试程序可预设测试用例,测试用例程序可自定义测试用例、测试过程,可以做到测试过程可重复、测试结果可记录;测试过程无须人工干预,降低人工成本,提高测试效率及测试结果的可靠性,具有广泛的应用范围。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。