[go: up one dir, main page]

CN103279413A - 数字电视机顶盒软件功能及稳定性自动化测试方法 - Google Patents

数字电视机顶盒软件功能及稳定性自动化测试方法 Download PDF

Info

Publication number
CN103279413A
CN103279413A CN2013101402657A CN201310140265A CN103279413A CN 103279413 A CN103279413 A CN 103279413A CN 2013101402657 A CN2013101402657 A CN 2013101402657A CN 201310140265 A CN201310140265 A CN 201310140265A CN 103279413 A CN103279413 A CN 103279413A
Authority
CN
China
Prior art keywords
test
file
testing
automated testing
digital
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013101402657A
Other languages
English (en)
Other versions
CN103279413B (zh
Inventor
邓杰华
李日彪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GCI Science and Technology Co Ltd
Original Assignee
GCI Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GCI Science and Technology Co Ltd filed Critical GCI Science and Technology Co Ltd
Priority to CN201310140265.7A priority Critical patent/CN103279413B/zh
Publication of CN103279413A publication Critical patent/CN103279413A/zh
Application granted granted Critical
Publication of CN103279413B publication Critical patent/CN103279413B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明提出一种数字电视机顶盒软件功能及稳定性自动化测试方法,在中间件与porting层间实现,包括:S1:启动自动化测试的线程;S2:判断是否存在自动测试文件,如不存在,则终止自动化测试线程;如存在自动测试文件,则跳至步骤S3;S3:检测按键输入,根据按键输入状态终止测试或跳至步骤S4;S4:判断测试是否已启动,如已启动则跳转至步骤S3,否则读取自动测试文件中的测试参数,启动测试;S5:根据自动测试文件内的测试参数进行测试;S6:记录测试结果,获取测试结果及报告。本发明能够发现或暴露人工手动对机顶盒功能进行测试时无法测出来的一些不易被发现的问题。

Description

数字电视机顶盒软件功能及稳定性自动化测试方法
技术领域
本发明涉及软件功能测试技术领域,更具体地,涉及一种数字电视机顶盒软件功能及稳定性自动化测试方法。
背景技术
在机顶盒生产前期,尤其是在确定软件定版前,对盒子软件功能的测试便显得重要,因为它直接影响到软件成品的稳定性,间接地影响到盒子提供方的产品质量及其评价,同时,由于升级、维护带来的后期成本也是无法逃避的事实,因此,发售盒子前保证盒子的稳定性显得尤为重要,它能有效地降低维护成本,增加利润和创造口碑。
自动化测试技术虽无法直接替代人工进行判断或无法直接修复问题,但为发现问题和解决问题提供了较为有效的帮助。不过在测试人员进行测试的时候,有些很不明显的问题往往隐藏在长操作时间、非常规或复杂性操作步骤上面,如果对这些问题不是“不期而遇”,则这些问题很难被测试人员挖掘出来,而自动测试方法的初衷也是为了尽可能挖掘这些隐藏着的破坏,而不需要人工过多地去干预。
目前,在软件测试方面提供有不少的方法,它们往往主要针对软件构成的函数、单元、模块等的黑盒或白盒进行测试,这些软件测试方法多为通用型测试方法,现有的测试方法主要针对较为底层的函数功能等的测试,底层测试在受到上层可能的复杂输入的影响下,也无法尽善尽美。而对最终成品的稳定性测试则比较少或仅用于公司产品的内部使用,共享性低。而在机顶盒软件功能自动化测试方面暂无类似的测试方法出现。
发明内容
为了克服现有技术的不足,本发明提出一种数字电视机顶盒软件功能及稳定性自动化测试方法。用于发现或暴露人工手动对机顶盒功能进行测试时无法测出来的一些不易发现的问题。
为了实现上述目的,本发明的技术方案为:
一种数字电视机顶盒软件功能及稳定性自动化测试方法,在中间件与porting层间实现,包括以下步骤:
S1.启动自动化测试的线程;
S2.判断是否存在自动测试文件,如不存在,则终止线程;如存在自动测试文件,则跳至步骤S3;
S3.检测按键输入,根据按键输入状态终止测试或跳至步骤S4; 
S4.判断测试是否启动,如已启动则跳转至步骤S3,否则读取自动测试文件中的测试参数,启动测试;
S5.根据自动测试文件的内测试参数进行测试;
S6.记录测试结果,获取测试结果及报告。
本发明是对数字电视机顶盒的软件功能机稳定性进行自动化测试,首先,在程序启动过程中创建用于实现自动化测试的线程,该线程的生命周期与自动测试文件的存在紧密相连,自动测试文件的存在是为了使测试线程持续运行下去,决定了测试线程的生命周期;如果自动测试文件不存在,线程将不会停留空转,这样能够减低无需做自动化测试时该测试线程带来的性能影响。同时在线程启动运行后,测试并不是立刻开始,在本发明还需要采用按键输入来真正启动测试的开始,测试启动后则根据自动测试文件内参数进行测试,并记录测试结果,获取报告。
上述的按键输入并非一定是真正意义上的按键输入,可为人工输入或通过程序  输入  事件进行触发。
更进一步的,所述步骤S3的按键状态包括启动状态、继续状态、停止状态和返回状态;
当为启动状态时则正式开始进入测试,当为继续状态时,则跳转至步骤S4,当为停止状态时终止测试,等待下一轮测试的启动。
更进一步的,所述按键状态为停止状态时,首先判断测试的启动状态,当测试未启动时,跳转至步骤S3;否则终止测试,跳转至步骤S3或判断是否替换动测试文件,当需替换时则在替换后跳转至步骤S3,否则直接跳至步骤S3。
在本发明中,按键输入的状态包括三种,继续状态为进入测试模式的状态,停止状态示意测试停止,在测试停止后,测试者可以替换当前的自动测试文件,重新检测按键输入,通过按键继续状态进入新一轮的测试,充分为测试提供了便利和灵活性。
自动测试文件除了保证测试的持续进行外,还主导了测试进行的方向和情况,测试文件内的参数是按照一定的规则所写,可以类似于xml格式中的一些项。
即自动测试文件内存储的参数有:测试的总时长、测试圈数、测试的事件集和单项事件测试时间。
其测试的总时长代表测试多久后自动停止,上述参数项和其对应的测试时间可放在同一行,每行一个事件,其规则可根据程序员的需要指定,只要有对应的程序对其进行解析即可。
更进一步的,所述自动测试文件内还存储有打印的开关、打印项以及打印级别。
测试时间可以并非真正的事件,而是简单的某事件的标记,测试事件只要是能代表且被正确转换为中间件支持的事件类型即可,相对于事件标记的类型,可以是中间件支持的类型。
更进一步的,所述自动测试文件为嵌入式linux系统的 autotest 文件。
更进一步的,所述步骤S6中获取测试结果包括 porting 层的模块打印和中间件打印。
本发明还可以在启动线程后通过手动方式输入,首先判断是否响应手动输入,如果响应则接受人工输入并入测试事件队列(人工干预),影响测试过程并被记录到测试结果中去。
当测试开始时,解析程序会读入该测试依据的自动测试文件内的参数信息并对其进行解析,把相关的信息以数组等方式保存起来。如总测试时间可设为全局变量值,测试事件项和测试项持续时间则保存到对应结构体数组当中供循环体循环发送对应的转换后的消息给中间件以达到模拟人工输入,自动操作机顶盒的目的。自动测试文件仅读取一次,这可避免过多的文件读写操作和系统调用,但会占用多一点的内存资源,在测试阶段,这是容易被接受的。
与现有技术相比,本发明的有益效果为:1)全自动化模拟人工操作过程并可在测试时加入人工干预,节省人力和充分利用非工作时段时间;2)良好的测试配置支持和问题信息收集为解决出现的问题提供有效的帮助。
附图说明
图1为现有的数字电视机顶盒概要层次图。
图2为自动化测试总体的流程图。
具体实施方式
下面结合附图对本发明做进一步的描述,但本发明的实施方式并不限于此。
如图1所示,目前主流的数字电视机顶盒软件框架主要包含了几个层面,由上至下分别为:应用层、中间件、porting适配层、系统层(嵌入式linux)、驱动层、硬件及外设。正因为这种层次的存在,使得其之间从下至上的交流变得单一和简单,本发明主要关注于中间件层和porting层之间的交流和关联上面。
如图1所示,中间件与porting之间的交互是通过“消息事件”来实现的。如:[用户按下按键] —> [ir驱动解析出键值] —> [porting层对键值做一层封装,转换成中间件所能识别的按键消息类型] —> [porting 通过回调函数等方式将事件、按键消息发送给中间件] —> [中间件通过自身的消息处理机制响应该事件,并将结果反馈或更新显示到应用上]。上述即为用户与机顶盒的交互清晰基本上简单归结,整个过程也比较简单。此时了解到整个过程,其实消息发送的类型等和用户并无直接关系,而主要发生在porting层将消息数据通知给中间件的时候,所以在本发明中,通过模拟用户的输入来达到了驱动上层的目的。甚至可以通过该方式,将事件集合成一系列代替人工输入的消息,达到自动操作的效果。
如图2所示,启动程序,同时在启动过程中创建用于实现自动化测试的线程,启动线程,并判断是否存在自动化测试文件,在前主流的机顶盒中一般使用的是嵌入式linux系统,所以在本实施例中,自动化测试文件为嵌入式linux系统某目录下的autotest 文件,当autotest 文件不存在时,则线程中止,否则进入检测Ir输入,即检测按键输入,11)当输入的按键状态为继续状态,在本实施例中即为连输三次“绿键”,则继而判断测试是否已启动;当测试已启动时,则返回继续检测按键输入,当测试未启动,则读入autotest 文件中文件信息,继而启动测试,并记录测试结果,获取报告。12)当输入的按键状态为停止状态,在本实施例中即为连输三次“红键”,则继而判断判断测试是否已启动;当测试未启动时,则返回继续检测按键输入,当测试已启动时,则中止测试返回继续检测按键输入,或中止测试后判断是否替换掉当前autotest 文件,不管替换与否,此处都再次返回继续检测按键输入。13)当输入的按键状态为返回状态,在本实施例中即为输入的非上述两种方式的其他方式,则返回继续检测按键输入。上述“12)”中的替换掉当前autotest 文件的方式主要为测试提供了便利和灵活性。
autotest 文件在本实施例中除了保证测试的持续进行外还主导了测试进行的方向及情况,在本实施例中,测试文件内的参数类似于xml格式中的一些项,自动测试文件内存储的参数有:测试的总时长、测试圈数、测试的事件集和单项事件测试时间。其测试的总时长代表测试多久后自动停止,上述参数项和其对应的测试时间可放在同一行,每行一个事件,其规则可根据程序员的需要指定,只要有对应的程序对其进行解析即可。测试时间可以并非真正的事件,而是简单的某事件的标记,如用 DOWN 甚至 DN表示向上按键事件等,测试事件只要是能代表且被正确转换为中间件支持的事件类型即可,相对于事件标记的类型,可以是中间件支持的类型。
在测试开始时,解析程序会主动读入该autotest 文件里面的信息并进行解析,把相关的信息以数组等方式保存起来。如总测试事件设为全局变量值,测试事件项和测试项持续时间则保存到对应结构体数组当中供循环体循环发送对应的转换后的消息给中间件以达到模拟人工输入,自动操作机顶盒的目的。autotest 文件仅读取一次,这可避免过多的文件读写操作和系统调用,但会占用多一点的内存资源,在测试阶段,这是容易被接受的。
从程序启动或测试开始的那一刻起,打印信息可被重定向,即通过脚本命令将打印信息流后台输出至指定目录文件内以降低其对系统性能的影响。打印的开关、打印项以及打印级别等,都可以配置到autotest文件里面去。这里所涉及的打印主要包括 porting 层的模块打印和中间件打印,而其模块和打印级别的控制则需要中间件和porting的支持。 与此同时,执行到哪一步,测试的结果等会被实时记录下来,而对于测试完成后将做些什么,如:生产测试报告、终止程序运行、通过声音或某些东西提示测试已完成等,均可由程序自身实际根据需要自行定制。此时,无论测试最后是正常还是死机,测试的目的都达到了,如果出现了死机等问题,则说明软件稳定性存在问题,而导致死机的相关操作过程以及对应的打印信息等已被保留分析,如果软件使用的是调试版本,设置了堆栈信息之后,也可生成对应的core文件为处理问题提供极大帮助。
测试的时候,可以不用人工干预,而测试过程中也可以设置为响应或不响应外部输入消息。当测试在下班、休息等非工作时段时,则不影响测试员的生活时间。经过上述的说明,从测试开始到发现问题再到为问题处理提供相关线索,整个过程,该自动化测试提供了对应的信息支持
如图2所示,本发明还可以在启动线程后通过手动方式输入,首先判断是否响应手动输入,如果响应则接受人工输入并入测试事件队列(人工干预),影响测试过程并被记录到测试结果中去。
以上所述的本发明的实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神原则之内所作出的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。

Claims (8)

1.一种数字电视机顶盒软件功能及稳定性自动化测试方法,其特征在于,在中间件与porting层间实现,包括以下步骤:
S1.启动自动化测试的线程;
S2.判断是否存在自动测试文件,如不存在,则终止线程;如存在自动测试文件,则跳至步骤S3;
S3.检测按键输入,根据按键输入状态终止测试或跳至步骤S4; 
S4.判断测试是否启动,如已启动则跳转至步骤S3,否则读取自动测试文件中的测试参数,启动测试;
S5.根据自动测试文件内的测试参数进行测试;
S6.记录测试结果,获取测试结果及报告。
2.根据权利要求1所述的数字电视机顶盒软件功能及稳定性自动化测试方法,其特征在于,所述步骤S3的按键状态包括启动状态、继续状态、停止状态;
当为启动状态时则正式开始进入测试,当为继续状态时,则跳转至步骤S4,当为停止状态时终止测试,等待下一轮测试的启动。
3.根据权利要求2所述的数字电视机顶盒软件功能及稳定性自动化测试方法,其特征在于,所述按键状态为停止状态时,首先判断测试的启动状态,当测试未启动时,跳转至步骤S3;否则终止测试,跳转至步骤S3或判断是否替换动测试文件,当需替换时则在替换后跳转至步骤S3,否则直接跳至步骤S3。
4.根据权利要求1所述的数字电视机顶盒软件功能及稳定性自动化测试方法,其特征在于,所述自动测试文件内存储的参数有:测试的总时长、测试圈数、测试的事件集和单项事件测试时间。
5.根据权利要求4所述的数字电视机顶盒软件功能及稳定性自动化测试方法,其特征在于,所述自动测试文件内还存储有打印的开关、打印项以及打印级别。
6.根据权利要求4所述的数字电视机顶盒软件功能及稳定性自动化测试方法,其特征在于,所述测试事件是能代表且被正确转换为中间件支持的事件类型或中间件支持的类型。
7.根据权利要求1至6任一项所述的数字电视机顶盒软件功能及稳定性自动化测试方法,其特征在于,所述自动测试文件为嵌入式linux系统的 autotest 文件。
8.根据权利要求1所述的数字电视机顶盒软件功能及稳定性自动化测试方法,其特征在于,所述步骤S6中获取测试结果包括 porting 层的模块打印和中间件打印。
CN201310140265.7A 2013-04-22 2013-04-22 数字电视机顶盒软件功能及稳定性自动化测试方法 Expired - Fee Related CN103279413B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310140265.7A CN103279413B (zh) 2013-04-22 2013-04-22 数字电视机顶盒软件功能及稳定性自动化测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310140265.7A CN103279413B (zh) 2013-04-22 2013-04-22 数字电视机顶盒软件功能及稳定性自动化测试方法

Publications (2)

Publication Number Publication Date
CN103279413A true CN103279413A (zh) 2013-09-04
CN103279413B CN103279413B (zh) 2016-06-01

Family

ID=49061942

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310140265.7A Expired - Fee Related CN103279413B (zh) 2013-04-22 2013-04-22 数字电视机顶盒软件功能及稳定性自动化测试方法

Country Status (1)

Country Link
CN (1) CN103279413B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104270630A (zh) * 2014-09-05 2015-01-07 深圳创维数字技术有限公司 一种终端测试方法及终端
CN107748302A (zh) * 2017-09-06 2018-03-02 国营芜湖机械厂 一种座椅电气附件自动综合检测设备自动测试控制方法
US10042638B2 (en) 2014-09-30 2018-08-07 Entit Software Llc Evaluating documentation coverage

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1555014A (zh) * 2003-12-26 2004-12-15 中兴通讯股份有限公司 一种人机命令测试方法
CN101159499A (zh) * 2007-11-07 2008-04-09 中兴通讯股份有限公司 一种硬件模块的测试系统及方法
CN101187894A (zh) * 2006-11-15 2008-05-28 中兴通讯股份有限公司 一种基于关键字驱动的自动测试方法及其测试系统
US20100100871A1 (en) * 2008-10-22 2010-04-22 International Business Machines Corporation Method and system for evaluating software quality

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1555014A (zh) * 2003-12-26 2004-12-15 中兴通讯股份有限公司 一种人机命令测试方法
CN101187894A (zh) * 2006-11-15 2008-05-28 中兴通讯股份有限公司 一种基于关键字驱动的自动测试方法及其测试系统
CN101159499A (zh) * 2007-11-07 2008-04-09 中兴通讯股份有限公司 一种硬件模块的测试系统及方法
US20100100871A1 (en) * 2008-10-22 2010-04-22 International Business Machines Corporation Method and system for evaluating software quality

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104270630A (zh) * 2014-09-05 2015-01-07 深圳创维数字技术有限公司 一种终端测试方法及终端
US10042638B2 (en) 2014-09-30 2018-08-07 Entit Software Llc Evaluating documentation coverage
CN107748302A (zh) * 2017-09-06 2018-03-02 国营芜湖机械厂 一种座椅电气附件自动综合检测设备自动测试控制方法

Also Published As

Publication number Publication date
CN103279413B (zh) 2016-06-01

Similar Documents

Publication Publication Date Title
CN103365779B (zh) 软件测试方法和系统
CN104391795B (zh) 一种分布式系统中自动化测试覆盖率的测试方法及系统
KR101404104B1 (ko) 가전기기 진단시스템 및 그 동작방법
CN111240973B (zh) 基于仿真的设备测试方法、系统及可读存储介质
CN107222739B (zh) 一种基于爬虫技术的iptv业务质量拨测方法
CN101478696A (zh) 一种测试用例的自动测试方法、系统及多媒体设备
CN103279413A (zh) 数字电视机顶盒软件功能及稳定性自动化测试方法
CN109151466A (zh) 一种Android系统平台电子设备实用功能自动测试方法
CN104166610A (zh) 一种移动终端的检测方法及检测系统
CN104778118B (zh) 自动化测试技术的改进方法
CN103605604B (zh) 一种批量测试机顶盒软件稳定性的方法
CN101378500A (zh) 管理视频数据的方法和装置
CN105225066B (zh) 工作流合法性的验证方法以及验证装置
CN102981418A (zh) 用于受众测量仪的电力管理
CN102426551A (zh) 测试数据筛选方法及装置、测试数据构造方法及装置
CN110543300A (zh) 汽车仪表自动化测试脚本自动生成方法及工具
CN108802517A (zh) 一种就地化保护装置的测试方法及系统
CN109376880A (zh) 故障反馈方法、装置和门禁设备
CN109709923A (zh) 测试控制方法和装置、系统、计算机可读存储介质
CN106294172A (zh) 基于终端设备的app自测方法和装置
CN106708725A (zh) 一种测试与诊断相结合的测试序列动态管理方法
CN109640078A (zh) 机顶盒测试方法、装置、机顶盒及计算机可读存储介质
CN110928795A (zh) 一种存储系统升级的稳定性测试方法及装置
CN109932588A (zh) 一种航电设备验证测试引擎
CN202050507U (zh) 一种视频显示测试系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160601