一种基于串口的机顶盒自动测试方法及其系统与流程

文档序号:11961466阅读:261来源:国知局
一种基于串口的机顶盒自动测试方法及其系统与流程

本发明涉及机顶盒技术领域,尤其涉及一种基于串口的机顶盒自动测试方法及其系统。



背景技术:

机顶盒的Loader(加载)模块是机顶盒系统软件的重要部分,其主要功能是提供机顶盒应用软件的升级。Loader模块常见的升级方式是OTA在线升级。有的机顶盒通过网口来实现自动化升级测试。而大部分机顶盒没有网口,只有串口接口,因此采用手动升级测试。

手动升级测试主要是由人工测试,需要测试工程师熟悉Loader业务,熟悉并搭建Loader的测试环境,通过遥控器之类的设备对机顶盒的控制面板发送升级测试相关的控制指令,从而进行升级测试。遥控器需多次发送控制指令,操作步骤重复、繁杂,完全依赖人为控制,不能自动升级。

因此,现有技术还有待于改进和发展。



技术实现要素:

鉴于上述现有技术的不足之处,本发明的目的在于提供一种基于串口的机顶盒自动测试方法及其系统,以解决现有机顶盒升级需要人为控制,不能自动升级的问题。

为了达到上述目的,本发明采取了以下技术方案:

一种基于串口的机顶盒自动测试方法,其包括如下步骤:

测试时,测试机控制机顶盒断电重启;

所述测试机通过串口检测所述机顶盒是否进入升级准备状态;进入所述升级准备状态时,控制升级码流传输至所述机顶盒进行升级;

所述测试机通过所述串口检测升级是否完成,升级完成后停止升级码流的传输,结束测试。

所述的基于串口的机顶盒自动测试方法中,所述测试时,测试机控制机顶盒断电重启的步骤具体包括:

测试时,根据测试项目生成测试用例;

测试机执行测试用例,控制开关机对机顶盒进行先断电后供电操作。

所述的基于串口的机顶盒自动测试方法中,所述测试机通过串口检测机顶盒是否进入升级准备状态的步骤具体包括:

所述测试机通过其第二串口与机顶盒的第三串口通信,判断所述机顶盒是否进入APP应用程序;

当所述机顶盒进入APP应用程序后,所述测试机设置所述机顶盒的升级类型;

所述机顶盒识别所述升级类型后自动重启,进入对应的升级界面。

所述的基于串口的机顶盒自动测试方法中,所述升级类型为OTA升级;

所述进入所述升级准备状态时,控制升级码流传输至所述机顶盒进行升级的步骤具体包括:

所述测试机控制播流工具输出升级码流至所述机顶盒的Cable接口,所述机顶盒收到所述升级码流后开始升级。

所述的基于串口的机顶盒自动测试方法中,在所述控制升级码流传输至所述机顶盒进行升级的步骤之后,还包括:所述测试机通过其第二串口向机顶盒的第三串口发出参数查询指令,检测升级码流中设置的升级参数是否与所述机顶盒匹配。

所述的基于串口的机顶盒自动测试方法中,所述测试机通过其第二串口与机顶盒的第三串口通信时,串口之间发送数据指令的步骤具体包括:

根据预设的通信协议将数据指令的字符串映射为数字串;

对所述数字串进行反转;

调用串口发送反转后的数字串。

所述的基于串口的机顶盒自动测试方法中,所述测试机通过其第二串口与机顶盒的第三串口通信时,串口之间接收数据指令的步骤具体包括:

对接收的反转后的数字串进行去反转;

根据预设的通信协议和映射表将去反转的数字串还原为数据指令的字符串。

一种用于实现所述的基于串口的机顶盒自动测试方法的机顶盒自动测试系统,其包括测试机和机顶盒;

测试时,测试机控制机顶盒断电重启;所述测试机通过串口检测所述机顶盒是否进入升级准备状态;进入所述升级准备状态时,控制升级码流传输至所述机顶盒进行升级;所述测试机通过所述串口检测升级是否完成,升级完成后停止升级码流的传输,结束测试。

所述的基于串口的机顶盒自动测试系统中,还包括开关机,用于对机顶盒进行先断电后供电操作。

所述的基于串口的机顶盒自动测试系统中,还包括播流工具,用于根据测试机的控制输出升级码流至机顶盒的Cable接口。

相较于现有技术,本发明提供的一种基于串口的机顶盒自动测试方法及其系统,测试时,测试机控制机顶盒断电重启;测试机通过串口检测机顶盒是否进入升级准备状态;进入所述升级准备状态时,控制升级码流传输至机顶盒进行升级; 测试机通过串口检测升级是否完成,升级完成后停止升级码流的传输,结束测试。测试机能自动控制机顶盒进行升级,并通过串口对升级过程进行监控,无需人为控制机顶盒的控制面板来升级,升级过程更加简单且自动化,大大方便了测试升级操作。

附图说明

图1是本发明基于串口的机顶盒自动测试方法流程图;

图2是本发明基于串口的机顶盒自动测试方法应用实施例的流程图;

图3是本发明机基于串口的顶盒自动测试系统的结构框图。

具体实施方式

本发明提供了一种基于串口的机顶盒自动测试方法及其系统,通过串口自动化测试机顶盒Loader模块,实现自动升级。为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供的基于串口的机顶盒自动测试方法主要测试机(可为电脑或其他测试设备)是对机顶盒内的Loader模块进行升级。在具体实施时,还可对机顶盒的其他模块进行功能测试或性能测试。请参阅图1并结合图2所示的应用实施例,所述基于串口的机顶盒自动测试方法包括以下步骤:

S100、测试时,测试机控制机顶盒断电重启;

S200、所述测试机通过串口检测所述机顶盒是否进入升级准备状态,进入所述升级准备状态时控制升级码流传输至所述机顶盒进行升级;

S300、所述测试机通过所述串口检测升级完成后,停止升级码流的传输,结束测试。

本实施例中,所述步骤S100具体包括:

步骤101、测试时,根据测试项目生成测试用例(对应步骤S1)。测试项目有多个,根据实际的测试需求进行设置。测试机和机顶盒执行测试用例即可自动完成一整套升级过程。

步骤102、测试机控制开关机对机顶盒进行先断电后供电操作(对应步骤S2)。

外部电源通过开关机传输至机顶盒的电源接口。测试机通过第一串口向开关机发送开关指令,使开关机自身先关再开,相当于使机顶盒的外部电源先断开再输入电源接口,从而达到让机顶盒断电重启的作用。

测试机通过串口检测机顶盒是否进入升级准备状态的过程如下:机顶盒重启后运行自身系统,测试机通过其第二串口与机顶盒的第三串口通信,先判断机顶盒是否进入APP应用程序(对应步骤S3),可采用主动和自动两种判断方式。主动即测试机通过第二串口向机顶盒发出程序查询指令;若机顶盒进入APP应用程序,则反馈进入指令通过第三串口传输给第二串口,测试机识别后确定机顶盒已经进入APP应用程序。若还未进入则反馈等待指令给测试机,测试机继续发送程序查询指令直至收到进入指令后停止。自动即机顶盒进入APP应用程序后,自动反馈进入指令给测试机;测试机识别该进入指令即判断机顶盒进入APP应用程序。接着测试机设置机顶盒的升级类型(对应步骤S4),机顶盒识别升级类型后自动重启,进入对应的升级界面(对应步骤S5)。进入升级界面即表示机顶盒进入了升级准备状态。

本实施中升级类型为OTA(Over-the-Air Technology)升级,需通过播流工具播放升级码流来进行升级。此时测试机通过其USB接口发送输出指令控制播流工具输出升级码流至机顶盒的Cable(电缆)接口(对应步骤S6),机顶盒收到该升级码流后开始升级。在具体实施时,还可采用USB升级,即测试机直接通过其USB接口输出对应的升级码流至机顶盒的Cable接口,此方式无需设置播流工具。本实施例对升级码流的来源不作限定。

在步骤S200之后,还包括:测试机会通过第二串口向机顶盒的第三串口发出参数查询指令,以检测升级码流中设置的升级参数是否与机顶盒匹配(对应步骤S7)。所述升级参数包括机顶盒的基本参数、性能参数等,如模式、带宽、速率等的数值。这些升级参数通常是根据机顶盒的类型对应设置的。若升级参数与机顶盒不匹配,则说明机顶盒自身存在问题,需要检修。只有升级参数匹配才能完成升级。

测试机通过串口检测升级是否完成(对应步骤S8),也可采用自动检测或主动检测方式。主动检测即测试机通过第二串口向机顶盒发出升级查询指令;若机顶盒已经完成(可根据升级的进度条是否到100%),则反馈升级完成指令通过第三串口传输给第二串口,测试机识别后确定机顶盒升级完成。若还未完成(进度条未到100%)则不反馈,机顶盒继续监控进度条的数值,直到达到100%才反馈升级完成指令给测试机。自动检测即机顶盒升级过程中实时检测进度条的数值,达到100%时自动反馈升级完成指令给测试机。

进度条达到100%后机顶盒自动重启。此时,测试机收到升级完成指令后判断机顶盒入升级完成,立即停止升级码流的传输(如通过USB接口发送停止指令控制播流工具停止输出升级码流)。

在结束测试之前,所述测试机还可查询机顶盒当前的软件版本是否为升级码流对应的版本,从而判断升级是否成功(对应步骤S9)。具体为:测试机通过第二串口向第三串口发出版本查询指令,机顶盒根据版本查询指令获取当前的软件版本并通过第三串口传输给第二串口,测试机比较当前的软件版本与升级码流的版本是否相同,相同则升级成功,不相同则升级失败(当前的软件版本可能还是升级前的版本,没有更改)。之后,测试用例结束(对应步骤S10),测试结束。

本实施例中,所述测试机的第二串口与机顶盒的第三串口之间进行通信时,即双方交互数据指令时,对发送的数据指令需进行反转处理(接收时需对应的反转恢复)以避免其他数据干扰。

本实施例中,串口发送数据指令时,先对数据指令进行映射获得数字串,具体为:按照预设的通信协议将数据指令的字符串映射为xx(比如12)数字串。该步骤的目的是减少串口发送多字符串的负担。数据指令的字符串包括发送的模块名(是哪个模块发送的数据指令)、发送的动作名(该指令需要执行的是什么操作)和参数(数据的具体数值)。

接着对数字串进行反转。该步骤主要是将数字串与预设串(0x10000000)进行异或使其数值反转。由于机顶盒的串口是多线程共享,可传输其他数据,这些数据通常以0开头。为了使机顶盒明确当前通过串口传输的数据是用于进行升级的,通过该步骤异或后变成1开头,相当于对升级过程中传输的所有数据指令打上了一个测试机独有的标志,这样即可与通过串口传输的其他数据指令(不是升级过程的数据指令)进行区分。

最后调用串口发送反转后的数字串(即打上标志的数字串),完成发送过程。

串口接收到反转后的数字串时,先进行去反转。即把接收的数字串与预设串(0x10000000)异或进行反转,以恢复为原始的数字串,并过滤掉大于预设串(0x10000000)的干扰字符。接着根据协商好的预设的通信协议,把数字串xx(比如12)根据映射表依次还原为字符串,即还原为发送的模块名、发送的动作名和参数。串口数据的接收过程结束。

基于上述实施例,本发明还提供一种基于串口的机顶盒自动测试系统,如图3所示,包括测试机10和机顶盒20。测试时,测试机10控制机顶盒20断电重启;测试机10通过串口检测机顶盒20是否进入升级准备状态;进入所述升级准备状态时,控制升级码流传输至机顶盒20进行升级;测试机10通过串口检测升级是否完成,升级完成后停止升级码流的传输,结束测试。

所述机顶盒自动测试系统还包括开关机30,用于对机顶盒进行先断电后供电操作。若采用OTA升级类型,则机顶盒自动测试系统还包括播流工具40,用于根据测试机的控制输出升级码流至机顶盒的Cable接口。

所述测试机10包括:第一串口110、第二串口120、测试模块130和USB接口140。机顶盒20包括:加载模块210、电源接口220、第三串口230和Cable接口240。

所述测试模块130用于实现所有的测试升级控制,如生成测试用例、发出各种数据指令,对接收的各种数据指令进行分析处理。所述加载模块210用于实现升级、根据测试机的数据指令反馈对应的数据指令。所述第一串口110通过开关机30连接电源接口220,用于传输测试模块130生成的开关指令给开关机30,使开关机30自身先关再开,以达到让机顶盒断电重启的作用。所述第二串口120与第三串口230通信连接,对升级过程中的各种数据指令进行交换。所述USB接口140通过播流工具40连接Cable接口240,USB接口传输输出指令/停止指令给播流工具,以控制升级码流输出或停止输出至Cable接口240。

需要理解的是,所述测试机10与机顶盒20内还包括其他接口和模块,此处仅阐述与本实施例相关的模块和接口,其他接口和模块为现有技术。

综上所述,本发明所提供的一种基于串口的机顶盒自动测试方法及其系统,测试机能自动控制机顶盒进行升级,并通过多线程共享的串口对升级过程进行串口通信协议和监控,只要有串口就能自动升级,提高了公司自动化测试覆盖率;无需人为控制机顶盒的控制面板来升级,解放了测试人员,使得对机顶盒Loader业务不是很熟悉的测试工程师也可以测试机顶盒Loader模块;升级过程更加简单且自动化,大大方便了测试升级操作。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

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