一种应用于机车的自动升级测试装置及系统的制作方法

文档序号:19678968发布日期:2020-01-14 17:03阅读:149来源:国知局
一种应用于机车的自动升级测试装置及系统的制作方法

本发明涉及机车领域,尤其涉及一种应用于飞机、船、车辆的自动升级测试装置及系统。



背景技术:

随着技术的发展,现代化的交通设备中,如飞机、轮船、汽车都飞速发展,再加上智能技术的发展,软件与多种传感器等硬件的结合,使得这些交通设备正变得越来越复杂,越来越趋于智能化。在庞大的系统开发下,项目的开发周期以及产品使用的不断升级与改进的周期都是非常短的,很多系统都是分布开发的,尽管分布开发,但是其系统之间的组成部件是相互关联的,通常的做法都是待系统各个部件开发完成后再来进行整体测试。而由于系统的庞大,如:智能驾驶汽车,其车载中控的各项功能,车载仪表的各项功能都非常复杂,需要一一进行测试,看各项功能是否显示正常、每个应用的画面是否显示正常,车身控制的各个系统的显示是否正常。现有技术中,采用人工来进行测试,但非常耗时耗力,还会出现遗漏,而且每个人习惯不一样,测试的结果存在较大的偏差。也有工厂生产的人对该测试进行改进,即不采用人工进行测试,依靠智能机械臂,模拟人工触摸中控显示屏、仪表显示屏上的应用程序,逐一点击屏幕图标进行测试画面是否正常。但由于中控显示屏或人工显示屏中,其面积有限,采用智能机械臂难以保证在众多的触摸过程中的精准找到需要触摸的位置,经常会有偏差的情况发生,导致测试结构不准确或者测试中断而经常报错,使得测试过程中,还需要人员的辅助,若出现措施,测试人员能够及时对机械臂进行纠正。这种测试虽然相比于单独的人工测试,能够减轻部分人工测试的负担,但仍然需要测试人员进行干涉,而且测试过程中容易出现错误。

因此,需要开发一种能够自动测试系统,以降低测试成本、提高测试精确,避免人或机械臂测试带来的测试准确度低等问题。



技术实现要素:

基于现有技术中存在的缺陷,本发明要解决的技术问题在于提供能够应用于机车的自动升级测试装置及系统。

为了达到上述目的,本发明提供一种应用于机车的自动升级测试装置,包括上位机,服务器,上位机与服务器通过有线或无线的方式进行连接;

上位机中包括有测试模块、升级模块;

测试模块,被配置为对升级成功后的待测设备进行自动测试并生成测试报告;

升级模块,被配置为用于从服务器下载升级文件或对接入上位机的待测设备进行升级;

所述测试模块至少包括测试用例模块,测试用例模块包括预设的多项测试用例,所述测试用例包括关键测试用例与非关键测试用例,所述关键测试用例包括行车安全功能的应用测试,所述非关键测试用例包括非行车安全功能的应用测试。

本发明提供一种应用于机车的自动升级测试装置,进一步地,所述服务器上存储有编译好的机车用升级文件,上位机与服务器建立连接后将编译好的升级文件下载到上位机中;

上位机与待测设备建立连接后采用sftp安全文件传输协议进行升级文件传输至待测设备。

本发明提供一种应用于机车的自动升级测试装置,进一步地,所述上位机中包括有本地存储模块、备份模块,认证模块、数据分析模块;

本地存储模块,被配置为用于存储测试过程中所用到的数据,数据包括升级文件、测试文件、测试过程中产生的数据、测试报告中的一种或多种;

备份模块,被配置为对接入待测设备的系统进行备份或还原;

认证模块,被配置为用于管理与上位机接入的设备建立连接的认证,认证模块存储有能够允许接入的外设的ip地址、端口号、接入授权码;

数据分析模块,被配置为用于分析自动测试后产生的测试数据进行分析处理并形成测试报告。

本发明提供一种应用于机车的自动升级测试装置,进一步地,所述测试模块还包括测试执行模块和比较判断模块;

测试执行模块包括预设调用函数,其能够指定待测设备的测试项目顺序、测试参数、测试方案、测试是否继续或中断中的一种或多种。

比较判断模块,被配置为根据测试执行模块的指令,将测试用例对待测设备测试产生的结果与相应的预设结果进行对比分析并判断待测设备是否正常运转。

本发明提供一种应用于机车的自动升级测试装置,进一步地,上位机还包括提醒模块,提醒模块被配置为用于对下载升级文件、待测设备进行升级、待测设备进行测试的过程中产生测试错误或每一步关键步骤的测试结果完成后进行提醒。

本发明提供一种应用于机车的自动升级测试装置,进一步地,提醒模块的提醒方式包括在待测设备中进行弹出显示或以短信、微信、邮件的方式发送信息到预设的移动终端、电脑进行提醒。

本发明提供一种应用于机车的自动升级测试装置,进一步地,上位机与服务器的连接通过认证模块进行管理,认证过程包括:上位机与服务器建立连接成功后,服务器发送用户信息报文与上位机进行通信确认,用户信息报文包括接入外设的ip地址、端口、接入授权码,认证模块文对用户信息进行解析并判断用户信息是否在允许的接入范围内,若用户信息都在允许的范围内,则认为验证成功,若用户信息不在允许的范围,则认为验证失败;

待测设备包括授权管理模块,上位机与待测设备的连接通过授权管理进行认证。

本发明还提供一种应用于机车的自动升级测试系统,包括如上述应用机车的自动升级测试装置、待测设备、监控设备;

自动升级测试装置用于对待测设备进行自动升级和\或测试;

监控设备用于对待测设备进行测试监控并将监控产生的数据发送给自动升级测试装置中的上位机进行分析处理。

本发明提供一种应用于机车的自动升级测试系统,进一步地,自动测试装置对待测设备进行测试包括以下步骤:

步骤s31,根据测试指令,选择测试所需的多项测试用例并发送给待测设备;

步骤s32,待测设备对接收到测试用例按照预设的协议进行解析,然后根据测试指令,发送对应的测试信号进行测试;

所述测试用例包括用脚本语言、java语言或c++语言进行编写的测试程序;

所述测试程序包括用于测试的测试信号,测试信号至少包括模拟信号、数字信号、显示界面的坐标中的一种或多种;

进行测试时,先进行关键测试用例的测试,待关键测试用例测试完成后再进行非关键测试用例的测试。

本发明提供一种应用于机车的自动升级测试系统,进一步地,所述监控设备对待测设备进行测试监控并将监控产生的数据发送给自动测试装置中的上位机进行分析处理的过程具体包括以下步骤:

步骤s41,针对每一例测试用例,提前使用nivision进行特征图片和模式进行匹配学习;

步骤s42,使用nivision将设置好的经过多次学习的预期结果的图片与当前的测试结果进行对比,并判断是否在预设的阈值范围内,若在预设的阈值范围内,则执行步骤s43,若不在预设阈值范围内,则记录当前的错误并存储于测试报告中,继续执行下一个测试;

步骤s43,判断该测试用例是否为最后一个测试用例,若不是最后测试用例,则继续执行下一个测试;若是最后一个测试用例,则结束测试过程,生成测试通过报告。

有益效果:

1.本发明中能够自动测试,减少人力、物力的投入,降低测试成本。

2.本发明的备份功能,在升级成功进行功能测试失败后能够自动恢复原系统,避免因为系统升级带来的升级错误导致升级设备无法运转。

3.本发明测试用例区分了关键用例与非关键用例,关键用例先进行测试的方法,若关键用例测试失败,则终止测试,以节省测试时间。

4.本发明自动对待测设备进行测试无须完全获得待测设备的控制权。

5.针对每一个测试用例,本发明区分了主功能和从属功能,优先测试主功能,然后在测试从属功能。

附图说明

以下附图仅对本发明做示意性说明和解释,并不限定本发明的范围。

图1为本发明一实施例中自动升级测试装置结构示意图。

图2为本发明一实施例中测试模块的结构示意图。

图3为本发明一实施例中自动测试方法流程示意图。

图4为本发明一实施例中带有备份系统功能的自动测试方法流程示意图。

图5为本发明一实施例中上位机、待测设备之间自动建立连接的流程示意图。

图6为本发明一实施例中待测设备自动升级方法流程示意图。

图7为本发明一实施例中待测设备自动测试方法流程示意图。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式,在各图中相同的标号表示相同的部分。为使图面简洁,各图中示意性地表示出了与本发明相关部分,而并不代表其作为产品的实际结构。另外,为使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。

关于控制系统,功能模块、应用程序(app)本领域技术人员熟知的是,其可以采用任何适当的形式,既可以是硬件也可以是软件,既可以是离散设置的多个功能模块,也可以是集成到一个硬件上的多个功能单元。作为最简单的形式,所述控制系统可以是控制器,例如组合逻辑控制器、微程序控制器等,只要能够实现本申请描述的操作即可。当然,控制系统也可以作为不同的模块集成到一个物理设备上,这些都不偏离本发明的基本原理和保护范围。

实施例1:

本实施提供一种应用于机车的自动升级测试装置,具体参见图1,图1为本实施例中自动升级测试装置结构示意图,自动升级测试装置具体包括上位机、服务器,上位机与服务器通过无线或有线的方式进行通信连接。

服务器上存储有编译好的机车用的mcu/soc的升级文件,上位机与服务器建立连接,建立连接后进行文件传输;

上位机中包括有升级模块、本地存储模块、测试模块、备份模块,认证模块、数据分析模块,其中,各功能模块都连接到通信总线上;

升级模块,被配置为用于从服务器上下载升级文件或对接入上位机的设备进行升级;

具体地,下载升级文件时,升级模块会按照预定时间间隔,定时触发上位机与服务器建立连接,然后检查服务器是否存在mcu/soc的升级文件,若存在升级文件,获取当天的日期,下载mcu/soc文件并在文件名后加上日期后缀并存储于本地存储模块中,若不存在升级文件,则弹窗报错未获取到升级文件并发送通知给开发人员进行处理;

具体地,当升级文件下载完成时,升级模块对接入待测设备进行检测,对于需要升级的待测设备时,将升级文件写入待测设备的mcu/soc中并对mcu/soc进行升级,并判断升级是否成功,若升级不成功,则进行报错,若升级成功,则进行下一步的测试。

本地存储模块,被配置为用于存储测试过程中所用到的数据,数据包括升级文件、测试文件、测试过程中产生的数据、测试报告等;

备份模块,被配置为对接入待测设备中的mcu/soc系统进行备份或还原;

具体地,待测设备中的mcu/soc进行系统升级时,有可能会出现升级不成功的现象,若升级不成功,会导致待测产品无法运行,有可能会影响用户的使用,因此,在对待测产品进行升级前,通过备份模块对待测设备的mcu/soc文件进行备份,若升级失败,通过备份模块对mcu/soc进行还原。

测试模块,被配置为对待测设备进行自动测试并获取测试报告;

测试模块至少包括:测试执行模块、比较判断模块及测试用例模块;

图2为本实施例中测试模块的结构示意图,参见图2。具体地,测试执行模块,被配置为通过内置的测试程序对待测设备进行测试。

具体地,测试执行模块包括函数调用,其能够指定待测设备的测试项目顺序、测试参数、测试是否继续或中断等功能。

比较判断模块,被配置为根据测试执行模块的指令,将测试用例对待测设备测试产生的结果与相应的预设结果进行对比分析并判断待测设备是否正常运转;

具体地,预设的结果的获取方法是针对每一例测试用例,提前使用nivision进行特征图片和模式的匹配学习,使用nivision将设置好的经过多次学习的预期结果的图片与当前的结果进行对比,并判断是否在预设的阈值范围内,若处于预设阈值范围内,则认为成功,否则,则认为失败;

测试用例模块,被配置为用于根据测试执行模块中的测试指令对待测设备进行测试,测试用例模块包括预设的多项测试用例,测试用例可以用脚本语言、java语言、c++语言进行编写的测试程序,其中,测试程序包括用于测试的测试信号,测试信号至少包括:模拟信号、数字信号、显示界面的坐标等信息;

测试用例根据待测设备的运转状态,将分为关键测试用例和非关键测试用例,关键测试用例包括行车安全功能的应用测试,非关键测试用例包括非行车安全功能的应用测试,如:关键测试用例与汽车安全密切相关的机车功能,如发动机状态、刹车状态、油温状态、灯光状态、转向控制、倒车雷达、摄像头等,非密切相关测试用例与汽车安全非密切相关的机车功能,如:收音广播、音乐播放、空调系统、蓝牙系统、座椅调节系统等。

在待设备测试过程中,可以先进行车辆仪表测试后才进行中控测试,对于每一个测试用例,按照功能是否能够维持运转,在测试用例中定义了主功能和从属功能,其中,主功能定义为使该待测子项的基本功能能够维持正常运转,从属功能定义为不影响待测子项正常运转的辅助功能,其较多是功能的优化。如:收音机中,能够接收到广播信号并且能够正常收台并播放出声音的功能为主功能。从属功能具体地可以为如显示界面的显示内容的样式。

认证模块,被配置为用于管理与上位机接入的设备建立连接的认证,认证模块存储有能够允许接入的外设的ip地址、端口号、接入授权码;

具体地,上位机与服务器通过因特网建立连接的认证,连接成功后,服务器发送用户信息报文与上位机进行通信确认,用户信息报文包括允许能够接入上位机的外设的ip地址、端口、接入授权码,上位机对用户信息进行解析,若用户信息都在允许的范围内,则认为验证成功。若用户信息不在允许的范围,则认为验证失败。

具体地,待测设备设有授权认证模块,授权认证模块被配置为管理与其接入的上位机进行授权认证。具体地,上位机与待测设备建立连接时使用sftp(securefiletransferprotocol)协议,连接成功后,上位机发送用户信息报文与待测设备进行通信确认,用户信息报文包括允许能够接入待测设备的外设的ip地址、端口、接入授权码,待测设备通过授权认证模块对用户信息进行解析,若用户信息都在允许的范围内,则认为验证成功。若用户信息不在允许的范围,则认为验证失败。

具体地,需要说明的是,当上位机与待测设备建立连接过程中,也可以是待测设备发送用户信息报文给上位机,上位机通过认证管理模块对报文进行解析后判断是否能够被允许接入。

由于待测设备都是较为重要的设备,其安全过程不容忽视,为了防止黑客攻击或者恶意连接方式,在上位机与待测设备建立连接时,采用了sftp协议进行连接和文件传输。

在车辆的待测设备,如中控系统,仪表系统等关键设备,每个厂家的开发系统平台目前都不太一致,而传统的现有技术采用了ftps等协议,其兼容性差,安全性也不高。

本实施例采用sftp协议,sftp端口号默认为22,相比较ftps,sftp的可以支持基于广泛的unix/linux平台的测试开发。另外,其可以为传输文件提供一种安全的加密方法,在传输过程中对传输文件进行加密/解密,防止传输文件在传输的过程中被修改。

数据分析模块,被配置为用于分析自动测试后产生的测试数据进行分析处理并形成测试报告;

上位机还包括提醒模块,提醒模块被用于对下载升级文件、对待测设备进行升级、待测设备进行测试中产生测试错误或每一步关键步骤的测试结果进行提醒;

具体地,可以将测试中产生的测试错误,如升级不成功、升级文件找不到、测试功能无法正常运转等问题通过上位机发送到开发人员的手机的微信、短信、电子邮件中,使得开发人员能够及时掌握自动测试的动态及时对问题进行处理。

本实施还提供了机车的自动升级测试系统,自动升级测试系统包括自动升级测试装置、监控设备、待测设备,其中,监控设备用于对待测设备进行监控并将监控信息传送给自动升级测试装置中的上位机;

具体地,监控设备包括图形传感器或其它类似能够监控待测设备的传感器,如声音传感器等。例如:在升级阶段,待测设备若为中控主机或仪表主机,则通过摄像头实时获取中控主机的升级界面的进度条的画面,当升级完成后,界面正常启动,通过摄像头也能够实时获取该画面信息,若升级失败,中控或仪表主机的会显示升级失败的画面,如画面花屏、黑屏或者画面动作与预设不一致等。若升级成功,则进入正常启动的画面。本实施与现有的技术不同,无线实时获取或对待测设备进行诊断,仅采用一个简单的摄像头作为监控设备就能够监控中控画面的升级是否正常。

实施例2

本实施提供一种应用于机车的自动升级测试方法,参见图3,图3为本实施例中自动升级测试方法流程示意图。

自动测试方法具体包括以下步骤:

步骤s1:获取升级文件并下载升级文件到上位机中;

步骤s2:建立上位机与待测设备之间的连接,通过上位机将升级文件写入到待测设备并对待测设备进行升级;

步骤s3:上位机根据测试指令将多项测试样例发送给待测设备后进行自动测试;

步骤s4:通过监控设备对正在进行的测试的待测设备进行监控并将监控信息传送给上位机进行分析判断测试结果并最终生成测试报告。

参见图4,图4为本实施例中带有备份系统功能的自动测试方法流程示意图;

步骤s2中,待测设备升级前,先对待测设备进行系统备份;待测设备升级之后,若升级失败,则执行待测设备的系统恢复;

步骤s4中,待测设备升级成功后,若经过完整的测试显示错误的测试结果时,则执行待测设备的系统恢复;

参见图2,步骤s1的具体步骤包括:

s11:获取编译完成的升级文件并发送到服务器中;

具体地,升级文件是由程序开发人员根据待测设备的运转相关情况进行编译,以进行bug或某种新功能的实现,升级文件主要针对待测设备如:mcu/soc进行的,程序开发人员编译完成好的升级文件放入服务器中。

s12:通过因特网使上位机与服务器进行连接并从服务器中下载升级文件;

步骤s12中,上位机与服务器进行连接是按照预设的时间间隔,自动定时触发上位机与服务器的建立连接。

具体参见图5,图5为本实施例中上位机、待测设备之间自动建立连接的流程示意图。

步骤s12具体包括:

上位机与服务器通过因特网建立连接后判断服务器中是否存在升级文件,若无升级文件,则弹窗报错未获取到升级文件并发送通知给开发人员进行处理;若存在升级文件,将升级文件下载到上位机中。

步骤s2中,建立上位机与待测设备之间的连接包括:

步骤s21,使用sftp协议给待测设备指定ip地址和端口号连接至上位机,连接成功后上位机发送用户信息和报文与待测设备进行授权认证;

步骤s22:判断认证是否成功,若认证不成功,则弹窗提示断开连接并发送连接失败的通知;若认证成功,保持连接返回已连接的确认信息。

参见图6,图6为本实施例中待测设备自动升级方法流程示意图,步骤s2中,通过上位机将升级文件写入到待测设备并对待测设备进行升级具体步骤包括:

步骤s23,通过上位机采用sftp协议将升级文件传输至待测设备中并判断升级文件是否传输成功,若传输成功,则执行步骤s24,若传输失败,则返回执行失败提醒;

具体地,升级文件可以存放在待测设备中的制定目录,如cache目录。

步骤s24,发送执行升级的指令至待测设备并对待测设备执行升级;

步骤s25,判断待测设备升级是否成功,若成功,执行步骤s26,若失败,返回失败提醒;

步骤s26,断开sftp,等待产品直至重启恢复;

步骤s27,超时等待预设时间,检测产品状态,若异常,则返回执行失败提醒,若正常,执行步骤s28;

步骤s28,执行ping指令并判断ping指令是否成功,若失败,返回执行失败提醒,若成功,则结束该升级过程。

步骤s3包括的具体步骤:

步骤s31,根据测试指令,选择测试所需的多项测试用例并发送给待测设备;

具体地,测试指令对待测设备进行测试,测试用例模块包括预设的多项测试用例,测试用例可以用脚本语言、java语言、c++语言进行编写的测试程序,其中,测试程序包括用于测试的测试信号,测试信号包括模拟信号、数字信号、显示界面的坐标等信息,具体模拟信号、数字信号可以包括电流、电压、电路、电感、频率等数值;

步骤s32,待测设备对接收到测试用例按照预设的协议进行解析,然后根据测试指令,发送对应的测试信号进行测试;

具体地,测试用例根据待测设备的运转状态,将分为关键测试用例和非关键测试用例,关键测试用例与汽车安全密切相关的机车功能,如发动机状态、刹车状态、油温状态、灯光状态、转向控制、倒车雷达、摄像头等,非密切相关测试用例与汽车安全非密切相关的机车功能,如:收音广播、音乐播放、空调系统、蓝牙系统、座椅调节系统等;

在待设备测试过程中,可以先进行车辆仪表测试后才进行中控测试。对于每一个测试用例,按照功能是否能够维持运转,在测试用例中定义了主功能和从属功能,其中,主功能定义为使该待测子项的基本功能能够维持正常运转,从属功能定义为不影响待测子项正常运转的辅助功能,其较多是功能的优化。如:收音机中,能够接收到广播信号并且能够正常收台并播放出声音的功能为主功能。从属功能具体地可以为如显示界面的显示内容的样式。

具体地,给测试设备加载测试信号时,如:模拟人工触摸相应的应用程序图标,例如需要对影音播放app(应用)进行测试,通过模拟人工触摸屏幕的信号,如程序中记载中人工点击屏幕产生的电阻值和位置坐标,通过位置坐标和屏幕产生的电阻值,可以知晓目前正在测试运行的app的某一功能。当进行仪表显示测试时,如可以给系统给一个速度信号,如给一个每小时80km/h的信号,观看仪表显示屏是否显示正常等。

进行测试时,先进行关键测试用例的测试,待关键测试用例测试完成后再进行非关键测试用例的测试。

若采用关键测试用例对待测设备进行测试,待测设备功能出现故障时,则可以终止测试,节省时间。因为关键测试用例涉及汽车的安全,其问题较多,若测试出现问题,则系统会自动通知开发人员进行调整。非关键测试用例由于不涉及行车安全,因此其功能即使出现异常,也不会影响汽车的正常使用,其后续的bug的调试可以在后续开发过程完成。采用此种方式能够节省待测设备测试时间,降低测试资源。

图7为本实施例中待测设备自动测试方法流程示意图,步骤s4具体步骤参见图7,具体包括:

s41,针对每一例测试用例,提前使用nivision进行特征图片和模式进行匹配学习;

s42,使用nivision将设置好的经过多次学习的预期结果的图片与当前的测试结果进行对比,并判断是否在预设的阈值范围内,若在预设的阈值范围内,则执行步骤s43,若不在预设阈值范围内,则记录当前的错误并存储于测试报告中,继续执行下一个测试;

具体地,测试结果来源于监控设备传来的信号,本实施例中,监控器为摄像头,通过摄像头对待测设备进行画面监控,将监控画面实施传送给上位机,上位机接收到画面后将与预先的画面进行对比,比较二者的相似程度。

由于本实施的测试结果的获取是采用监控设备,如摄像头进行拍摄图像的,因此无需完全获取待测设备的控制权。因为汽车由于涉及行车安全,很多时候,待测设备,如中控、仪表中的ecu控制权为了行车安全,防止升级过程遭受病毒的袭击以及串改,这些设备的控制权一般都不完全开放。本发明在测试过程中,仅根据测试用例,发送相应的模拟信号量给待测设备,通过监控器拍摄图片信号传送给上位机进行分析,从而避免了完全获取待测设备的控制权限。

s43,判断该测试用例是否为最后一个测试用例,若不是最后测试用例,则继续执行下一个测试;若是最后一个测试用例,则结束测试过程,生成测试通过报告。

以上所述的仅是本发明的优选实施方式,本发明不限于以上实施例。本领域的技术人员可以清楚,该实施例中的形式不局限于此,同时可调整方式也不局限于此。可以理解,本领域技术人员在不脱离本发明的基本构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1