智能电视自动化测试方法及系统的制作方法

文档序号:7779748阅读:466来源:国知局
智能电视自动化测试方法及系统的制作方法
【专利摘要】本发明公开了一种智能电视自动化测试方法及系统,包括:获取待测版本;安装待测版本于智能电视中;根据待测版本调用测试用例生成控制指令;发送控制指令至智能电视,判断智能电视是否已执行控制指令;若已执行控制指令,发送获取标识信息至智能电视,取得获取的标识信息;判断获取的标识信息与预存储的标识信息是否一致,若一致,则判定测试通过。通过本发明提高了智能电视测试效率。
【专利说明】智能电视自动化测试方法及系统
【技术领域】
[0001]本发明涉及智能电视【技术领域】,特别是涉及智能电视自动化测试方法及系统。
【背景技术】
[0002]在个人计算机(PC)已经智能化、手机和平板电脑也已经大面积智能化的情况下,为顺应电视机“高清化”、“网络化”、“智能化”的趋势,智能电视也逐步进入我们的生活。
[0003]所谓智能电视,就像智能手机一样,具有全开放式平台,搭载了操作系统,顾客在欣赏普通电视内容的同时,可自行安装和卸载由电视厂商或第三方服务商提供的应用软件、游戏等程序,通过此类程序可持续对智能电视的功能进行扩充和升级,并且,智能电视可连接于网络、AV设备、PC等,并可从网络、AV设备、PC等多种渠道获得节目内容,通过简单易用的整合式操作界面,将用户最需要的内容在电视屏幕上进行清晰地展现。
[0004]随着智能电视的功能越来越丰富,智能电视中安装的软件越来越多,厂商在智能电视软件开发过程中,会开发出不同版本的软件,不同版本的软件具有不同的功能,厂商通常会选择每天编译一个版本用来集成开发每天的改动和进展,这样需要厂商在出厂前对智能电视不同版本软件的所有功能进行逐项测试,以保证软件的健壮性。目前在对智能电视测试中通过人工测试来完成,测试人员通过手动逐一打开各个应用,同时通过电视屏幕观察应用运行情况,完成对智能电视所有功能的测试,当发现问题时手工记录。这种测试方法操作繁琐、耗时,随着电视机生产数量的增加这种测试将耗费大量人力资源,而且由于测试人员的经验等方面存在差异,对一些测试中存在的问题经验丰富的测试人员能够发现,而经验不足的人员则不能及时发现。

【发明内容】

[0005]针对现有技术中存在的缺陷,本发明提供一种智能电视自动化测试方法及系统。
[0006]一种智能电视自动化测试方法,其特征在于,包括:
获取待测版本;
安装待测版本于智能电视中;
根据待测版本调用测试用例生成控制指令;
发送控制指令至智能电视,判断智能电视是否已执行控制指令;
若已执行控制指令,发送获取标识信息至智能电视,取得获取的标识信息;
判断获取的标识信息与预存储的标识信息是否一致,若一致,则判定测试通过。
[0007]可选的,所述获取待测版本,包括:执行服务器下载指令,从服务器下载待测版本。
[0008]可选的,所述安装待测版本于智能电视中,包括:对智能电视进行刷机。
[0009]可选的,还包括:在调用测试用例过程中,若当前用例出错,则终止当前用例,继续后续用例的执行;或者终止当前用例的当前步骤,继续当前用例的后续步骤的执行。
[0010]可选的,还包括:发送测试执行数据后,开启计时,若计时结束后仍未执行控制指令,则记录当前操作步骤,输出错误信息,输出错误信息后终止当前测试用例,继续调用后续测试用例,至所有测试用例被调用完毕。
[0011 ] 可选的,所述标识信息包括智能电视的日志信息或界面显示内容相关信息。
[0012]可选的,所述判断获取的标识信息与预存储的标识信息是否一致包括:判断获取的屏幕显示内容相关信息是否符合目标界面的显示规则,如果是,则判定测试通过,所述显示规则是预先存储的,每个目标界面对应各自的显示规则。
[0013]可选的,所述判断获取的标识信息与预存储的标识信息是否一致包括:判断获取的日志信息中的关键参数是否等于当前测试用例的目标参数,如果是,则判定测试通过,所述目标参数是预先存储的,每个测试用例对应各自的目标参数。
[0014]可选的,还包括:若获取的标识信息与预存储的标识信息不一致,则判定测试失败,记录失败信息,所述失败信息包括当前执行的操作步骤的名称、时间、和屏幕图像。
[0015]可选的,还包括:生成测试报告,发送测试报告,所述测试报告中包含测试过程中的错误信息信息。
[0016]可选的,还包括:在全部测试用例调用完毕后,恢复初始状态,所述恢复初始状态包括,恢复测试用例中的各参数至初始设置。
[0017]可选的,还包括:响应测试人员的输入,中断当前测试。
[0018]一种智能电视自动化测试系统,其特征在于,包括:
版本获取模块,用于获取待测版本;
版本安装模块,用于安装待测版本于智能电视中;
控制指令生成模块,用于根据待测版本调用测试用例生成控制指令;
指令发送模块,用于发送控制指令至智能电视,判断智能电视是否已执行控制指令;标识信息获取模块,用于若已执行控制指令,发送获取标识信息至智能电视,取得获取的标识信息;
判断模块,用于判断获取的标识信息与预存储的标识信息是否一致,若一致,则判定测试通过。
[0019]与现有技术相比,上述技术方案中的一个技术方案具有以下优点或有益效果:通过本发明的技术方案,能够对智能电视实现自动化测试,减轻了测试人员的劳动强度,由于测试自动完成,测试结果不再通过人工判断,结果更加准确、客观。
[0020]【专利附图】

【附图说明】
图1是本发明第一实施例提供的智能电视自动化测试方法流程图;
图2是本发明第二实施例提供的智能电视自动化测试系统结构示意图。
【具体实施方式】
[0021]下面结合附图,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
[0022]实施例1
请参阅图1,在对智能电视测试中,可以通过测试单元(例如可以是PC机)与智能电视进行有线或无线通信,例如电视与计算机可以通过ADB相连接通信,智能电视端接收并执行测试单元发送的指令,测试单元可以检测智能电视端执行的结果并进行分析。服务器与测试单元通信连接,服务器中存储有不同版本的编译好的智能电视的软件,测试单元可以从服务器下载编译好的软件。
[0023]下面对其进行详细说明。
[0024]SlOl:获取待测版本
为了能对智能电视不同版本的软件进行测试,测试单元首先需要获得需要测试的软件。具体而言,软件开发人员在开发完软件后,会将编译好的软件上传至服务器,这一软件为待测试版本软件,服务器在接收到待测试软件后会向测试单元发送下载指令,测试单元收到下载指令后从服务器中下载该软件。服务器可以定时发送下载指令,例如每天的17:00向测试单元发送下载指令,也可以在收到编译好的软件后即刻向测试单元发送下载指令,以使得测试单元可以及时完成测试。
[0025]S102:安装待测版本于智能电视中
在下载完待测软件后,测试单元向智能电视发出刷机指令。智能电视在接收到刷机指令后执行该指令,使得智能电视进入刷机模式,在智能电视成功进入刷机模式后,智能电视向测试单元返回已进入刷机模式信号,测试单元在收到该信号后开始刷机,将待测版本的软件安装于智能电视上,安装完成后智能电视自动重启,重启后智能电视会向测试单元发送已启动信号,测试单元在接收到该信号后开始对智能电视进行测试。
[0026]S103:根据待测版本调用测试用例生成控制指令
在测试前测试人员会根据需要测试的软件的版本,编写一系列的测试用例,这些测试用例可以是为进行测试而编写的一系列的脚本程序,测试单元含解析程序可以解析测试用例。
[0027]测试用例中包含预先定义的用于对智能电视进行测试的一系列操作的参数,这些参数例如可以包括响应动作按键的键值。这些键值对于所有测试用例而言均是固定不变的,测试用例会反复调用这些键值,为此在测试单元中建立了键值映射表。该表中遥控器中所有按键的键值与操作类型均与特定频率信号相对应,这样在测试用例运行中需要用到某一键值或操作时,只需要在键值映射表中调用该值即可,避免了为每个测试用例中的键值参数单独赋值转换为频率信号的复杂过程。除键值外,测试用例中还包含了每个动作的间隔时间、每个动作的循环次数、及动态结束语句等,由此形成脚本数据。
[0028]在调用测试用例生成控制指令的过程中,因环境设置问题、或脚本自身编写问题经常会出现非预期的错误,如意料外的发现错误的数据、未找到对象、输入文件打不开或不能读等,在这种情况下就启动异常处理机制。具体而言,判断测试用例中的出现错误的该步骤是否影响该测试用例的后续步骤的执行,若影响后续步骤的执行则终止该测试用例,继续后续用例的执行,若不影响后续步骤的执行跳过当前步骤,继续执行后续操作,并输出当前的错误报告。
[0029]测试单元会对测试用例进行解析,生成用于控制智能电视执行相应动作的控制指令。
[0030]S104:发送控制指令至智能电视,判断智能电视是否已执行控制指令;
解析单元将控制指令通过ADB发送到智能电视,智能电视收到命令后解析控制指令,例如解析其中的键值,将该动作键值还原成被测设备可识别的码流,并执行该动作键值对应的操作。自动对智能电视进行长时间的各项操作,用以模仿测试人员操作遥控器对智能电视进行的测试。
[0031]智能电视在执行完指令后电视机返回已执行完毕的信号,若是不可执行指令,则返回测试终端错误信号。在测试过程中发送完控制指令后可以开启一计时过程,若计时结束后仍未收到执行完毕信号或收到错误信号,则记录当前操作步骤,输出错误信息,输出错误信息后终止当前测试用例,继续调用后续测试用例,至所有测试用例被调用完毕。
[0032]本发明实施例中在测试发生错误的情况下,并未终止测试过程,而是继续调用测试用例,这样做的优点在于:智能电视具有重启机制,在发生错误时智能电视会在一定时间后重启,这样重启后可以继续完成未被调用的测试用例的测试,这样就可以在一次测试过程中测试所有的测试用例,而不必在出现错误时重新启动测试过程。
[0033]S105:若已执行控制指令,发送获取标识信息至智能电视,取得获取的标识信息。
[0034]在接收到执行完毕的信号后,测试单元会发送获取标识信息至智能电视,所谓标识信息是可以用于判断智能电视执行控制命令的结果的一些信息,这一信息可以包括智能电视的日志信息或界面显示内容相关信息,获取何种类型的信息由测试用例决定。界面显示内容相关信息可以是获取屏幕控件ID、屏幕电视信号等等;智能电视的日志信息是智能电视在运行过程中自动生成的信息,日志信息中包含了智能电视执行各种操作的过程信肩、O
[0035]例如,在智能电视中包含应用界面,智能电视加载完应用界面后,用户可以在应用界面内使用各种控件,例如使用聊天工具、游戏等,在测试过程中需要测试应用屏的加载是否成功。则调用测试应用屏加载的测试用例,发送加载应用屏的控制指令,在智能电视执行完该控制指令后,继续解析应用屏加载的测试用例向智能电视发出获取屏幕控件ID的指令,这里获取屏幕控件ID的指令即为界面显示内容相关信息,则智能电视将获取的当前应用屏所有控件的ID信息发送给测试单元。
[0036]再比如,通过智 能电视的电视界面可以观看电视节目,在测试过程中需要测试电视界面的加载是否成功。则测试单元调用测试电视界面加载的测试用例,发送加载电视界面的控制指令,在智能电视执行完该控制指令后,继续解析电视界面加载的测试用例向智能电视发出获取屏幕电视信号的指令,这里获取屏幕电视信号的指令即为界面显示内容相关信息,则智能电视将是否获得电视信号的信息发送给测试单元。
[0037]还可以是获取智能电视的日志信息,以打开浏览器为例,在测试过程中需要测试智能电视中的网络浏览器能够成功打开,则测试单元调用测试网络浏览器的测试用例,发送打开网络浏览器的控制指令,在智能电视执行完该控制指令后,继续解析打开网络浏览器的测试用例向智能电视发出获取日志信息的指令,则智能电视将获得的日志信息发送给测试单元。
[0038]日志信息的结构可以包括:消息头、消息体以及消息尾等,日志中记录了智能电视执行各种操作的过程信息。例如获得的打开浏览器的日志信息可以是:
0X5^-20130810215655-start IE-1oad lable、history、......-Success IE,在这条日志中
“0X5*”为日志开始标志,“20130810215655”为时间信息,“start IE”代表执行的操作为打开浏览器,“load lable.history,……”为日志消息体,表示浏览器加载标签、历史记录等过程信息,“Success IE”为执行结果代表成功打开,若打开失败则日志中会记录“faleIE”。
[0039]S106:判断获取的标识信息与预存储的标识信息是否一致,若一致,则判定测试通过。
[0040]测试单元内预存储有测试中的正确的标识信息,这些标识信息可以由软件开发人员或测试人员输入测试单元,测试单元以表格的形式将其保存于存储器中,在获取到测试中的标识信息后,测试单元判断获取的标识信息与预存储的标识信息是否一致,若一致,则判定测试通过,若不一致,则判定测试未通过,软件出现bug,记录下该bug信息。
[0041]例如,判断获取的屏幕显示内容相关信息是否符合目标界面的显示规则,如果是,则判定测试通过,所述显示规则是预先存储的,每个目标界面对应各自的显示规则。例如,在应用屏测试过程中,在获得了应用屏所有控件的ID信息后,测试单元调用预先存储的正确的应用屏的标识信息,将获取的信息与其对比,例如获得的控件ID数量为10个,预存储的应用屏正确的控件数量应为10个,则测试单元判定测试通过,调用下一测试用例继续其它测试;若获取的控件数量为9个与预存储的控件数量不一致,则测试单元记录下该bug信息,测试单元继续解析脚本,在出现bug的情况下,可以进一步的进行一系列操作,如发出抓屏指令,智能电视进行抓屏,生成屏幕图像,将该图像发送给计算机等,计算机将生成bug记录,例如此条记录可以是:应用屏加载-2013年I月2日15:00-控件缺失-图形。
[0042]还可以是,判断获取的日志信息中的关键参数是否等于当前测试用例的目标参数,如果是,则判定测试通过,所述目标参数是预先存储的,每个测试用例对应各自的目标参数。例如,在打开浏览器的测试过程中,在获得了打开浏览器的日志信息后,测试单元调用预先存储的正确的应用屏的标识信息,将获取的信息与其对比,例如获取的日志信息为
“0X5*-20130810215655-start IE-1oad lable、history、......-Success IE,,,测试单元判
断日志信息中是否存在start IE、lable、history、Success IE等参数,若存在则判定测试通过,继续其它测试,若不存在则记录下该bug信息,类似的也可以获取此时的屏幕图像,以便于测试人员了解具体的问题所在,例如测试日志信息中不存在Iable项,则此条记录可以是:打开浏览器-20130810215655-lable加载失败-图形。
[0043]通过步骤S101-S106即完成了测试过程,完成测试后,测试单元会根据测试结果生成测试报告,并发送测试报告,测试报告中包含测试过程中的错误信息。
[0044]在测试的时候,可以不用人工干预,但测试过程中也可以设置为响应或不响应外部输入信号,例如可以采用中断的方式,当接收到外部信号后中断测试等待测试员进一步处理。例如当测试在下班、休息等非工作时段时,则可设置为不响应外部输入信号,以避免影响测试员的生活时间。而在工作时间则可设置为响应外部输入信号,以使得测试员及时对测试过程进行调整。
[0045]进一步的,在测试完成后测试单元会恢复各数据至初始状态。具体而言,在自动化测试需要循环执行,下一次的测试不应受上次测试结果的影响,以使得程序重新提交版本后能够执行,若果不恢复数据至初始状态则可能影响下一次测试的结果。测试单元可以具有某种还原测试环境的功能——即测试结束清理的功能,清理测试过程中产生的各参数,这样就可以自动恢复到不受影响的测试环境中,即各数据至初始状态。
[0046]实施例2
如图2所示,本发明实施例还提供一种智能电视自动化测试系统,包括: 版本获取模块201,用于获取待测版本;
版本安装模块202,用于安装待测版本于智能电视中;
控制指令生成模块203,用于根据待测版本调用测试用例生成控制指令;
指令发送模块204,用于发送控制指令至智能电视,判断智能电视是否已执行控制指
令;
标识信息获取模块205,用于若已执行控制指令,发送获取标识信息至智能电视,取得获取的标识信息;
判断模块206,用于判断获取的标识信息与预存储的标识信息是否一致,若一致,则判定测试通过。
[0047]为了获得待测版本,所述版本获取模块,可以执行服务器下载指令,从服务器下载待测版本。
[0048]所述版本安装模块通过刷机为智能电视安装新版本。
[0049]在测试过程中有可能出错,为此,指令发送模块,进一步用于在调用测试用例过程中,若当前用例出错,则终止当前用例,继续后续用例的执行;或终止当前用例的当前步骤,继续当前用例的后续步骤的执行。
[0050]为了判断是否出错,所述指令发送模块可以进一步的,在发送控制指令后,开启计时,若计时结束后仍未执行测试执行数据,则记录当前操作步骤,输出错误信息,输出错误信息后终止当前测试用例,继续调用后续测试用例,至所有测试用例被调用完毕。
[0051 ] 所述标识信息包括智能电视的日志信息或界面显示内容相关信息。
[0052]进一步的,判断模块,判断获取的屏幕显示内容相关信息是否符合目标界面的显示规则,如果是,则判定测试通过,所述显示规则是预先存储的,每个目标界面对应各自的显示规则。
[0053]或者判断模块,判断获取的日志信息中的关键参数是否等于当前测试用例的目标参数,如果是,则判定测试通过,所述目标参数是预先存储的,每个测试用例对应各自的目标参数。
[0054]还包括记录模块,用于若获取的标识信息与预存储的标识信息不一致,则判定测试失败,记录失败信息,所述失败信息包括当前执行的操作步骤的名称、时间、和屏幕图像。
[0055]还包括,测试报告生成模块,生成测试报告,发送测试报告,所述测试报告中包含测试过程中的错误信息信息。
[0056]还包括还原模块,在全部测试用例调用完毕后,恢复初始状态,所述恢复初始状态包括,恢复测试用例中的各参数至初始设置。
[0057]还包括中断模块,响应测试人员的输入,中断当前测试。
[0058]对于前述的各装置实施例,为了简单描述,故将其都表述为一系列的模块组合,但是本领域的技术人员应该知悉,本发明并不受所描述的模块组合的限制,因为根据本发明,某些模块可以采用其他模块执行;其次,本领域技术人员也应该知悉,上述装置实施例均属于优选实施例,所涉及的模块并不一定是本发明所必须的。
[0059]本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0060]以上对本发明所提供的智能电视自动化测试方法及系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种智能电视自动化测试方法,其特征在于,包括: 获取待测版本; 安装待测版本于智能电视中; 根据待测版本调用测试用例生成控制指令; 发送控制指令至智能电视,判断智能电视是否已执行控制指令; 若已执行控制指令,发送获取标识信息至智能电视,取得获取的标识信息; 判断获取的标识信息与预存储的标识信息是否一致,若一致,则判定测试通过。
2.根据权利要求1所述的一种智能电视自动化测试方法,其特征在于,所述获取待测版本,包括:执行服务器下载指令,从服务器下载待测版本。
3.根据权利要求1所述的一种智能电视自动化测试方法,其特征在于,所述安装待测版本于智能电视中,包括:对智能电视进行刷机。
4.根据权利要求1所述的一种智能电视自动化测试方法,其特征在于,还包括:在调用测试用例过程中,若当前用例出错,则终止当前用例,继续后续用例的执行;或者终止当前用例的当前步骤,继续当前用例的后续步骤的执行。
5.根据权利要求4所述的一种智能电视自动化测试方法,其特征在于,还包括:发送测试执行数据后,开启计时,若计时结束后仍未执行控制指令,则记录当前操作步骤,输出错误信息,输出错误信息后终止当前测试用例,继续调用后续测试用例,至所有测试用例被调用完毕。
6.根据权利要求1所述的一种智能电视自动化测试方法,其特征在于,所述标识信息包括智能电视的日志信息或界面显示内容相关信息。
7.根据权利要求6所述的一种智能电视自动化测试方法,其特征在于,所述判断获取的标识信息与预存储的标识信息是否一致包括:判断获取的屏幕显示内容相关信息是否符合目标界面的显示规则,如果是,则判定测试通过,所述显示规则是预先存储的,每个目标界面对应各自的显示规则。
8.根据权利要求6所述的一种智能电视自动化测试方法,其特征在于,所述判断获取的标识信息与预存储的标识信息是否一致包括:判断获取的日志信息中的关键参数是否等于当前测试用例的目标参数,如果是,则判定测试通过,所述目标参数是预先存储的,每个测试用例对应各自的目标参数。
9.根据权利要求1所述的一种智能电视自动化测试方法,其特征在于,还包括:若获取的标识信息与预存储的标识信息不一致,则判定测试失败,记录失败信息,所述失败信息包括当前执行的操作步骤的名称、时间、和屏幕图像。
10.根据权利要求1所述的一种智能电视自动化测试方法,其特征在于,还包括:生成测试报告,发送测试报告,所述测试报告中包含测试过程中的错误信息信息。
11.根据权利要求1所述的一种智能电视自动化测试方法,其特征在于,还包括:在全部测试用例调用完毕后,恢复初始状态,所述恢复初始状态包括,恢复测试用例中的各参数至初始设置。
12.根据权利要求1所述的一种智能电视自动化测试方法,其特征在于,还包括:响应测试人员的输入,中断当前测试。
13.一种智能电视自动化测试系统,其特征在于,包括:版本获取模块,用于获取待测版本; 版本安装模块,用于安装待测版本于智能电视中; 控制指令生成模块,用于根据待测版本调用测试用例生成控制指令; 指令发送模块,用于发送控制指令至智能电视,判断智能电视是否已执行控制指令;标识信息获取模块,用于若已执行控制指令,发送获取标识信息至智能电视,取得获取的标识信息; 判断模块,用于判断获取的标识信息与预存储的标识信息是否一致,若一致,则判定测试通过。
【文档编号】H04N21/442GK103634592SQ201310666838
【公开日】2014年3月12日 申请日期:2013年12月9日 优先权日:2013年12月9日
【发明者】刘建 申请人:乐视致新电子科技(天津)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1