一种对手机主板进行自动测试的测试方法及测试系统的制作方法
【专利摘要】本发明公开了一种对手机主板进行自动测试的测试方法及测试系统,方法包括:扫描手机的主板序列号,根据主板序列号获取主板短码,并根据所述主板短码在预先存储的XML测试序列中获取对应的测试序列文件,再根据测试序列文件的多个测试项先后顺序依次完成相应的测试;当当前测试项通过测试时,则继续对下一测试项进行测试;当当前测试项之后无下一测试项,则退出测试;当当前测试项未通过测试时,则再次对当前测试项进行测试,当对当前测试项进行测试的重复次数超出预先设定的重复测试次数,则退出测试。本发明通过搭建对不同平台、不同项目及不同测试站均能进行测试的手机测试平台,极大地提高了手机测试效率。
【专利说明】一种对手机主板进行自动测试的测试方法及测试系统
【技术领域】
[0001]本发明涉及手机测试【技术领域】,尤其涉及的是一种对手机主板进行自动测试的测试方法及测试系统。
【背景技术】
[0002]目前,手机开发平台多种多样,手机开发项目越来越多,不同的手机有不同开发平台;不同的手机项目就会有不同的需求,不同的配置,不同的测试要求;不同的测试项目,需要不同的测试程序来对这手机进行不同的测试;也就意味着有多少项目(N),就会多少不同的测试程序,且产线有M个不同的测试工位,就意味着很有可能得有N*M个不同的测试程序,这使得手机项目的后续开发和维护效率低下,且极不方便。
[0003]因此现有技术有待于进一步的改进。
【发明内容】
[0004]鉴于上述现有技术中的不足之处,本发明的目的在于为用户提供一种对手机主板进行自动测试的测试方法及测试系统,旨在解决现有技术中对手机进行测试时因有项目个数及测试工位确定测试程序个数,使得测试程序较多且重复,从而导致测试效率较低的问题。
[0005]本发明解决技术问题所采用的技术方案如下:
一种对手机主板进行自动测试的测试方法,其中,所述方法包括步骤:
A、扫描手机的主板序列号,根据主板序列号获取主板短码,并根据所述主板短码在预先存储的XML测试序列中获取对应的测试序列文件,再根据测试序列文件的多个测试项先后顺序依次完成相应的测试;
B、当当前测试项通过测试时,则继续对下一测试项进行测试;当当前测试项之后无下一测试项,则退出测试;
C、当当前测试项未通过测试时,则再次对当前测试项进行测试,当对当前测试项进行测试的重复次数超出预先设定的重复测试次数阈值,则退出测试。
[0006]所述对手机主板进行自动测试的测试方法,其中,所述测试序列文件的名称均由测试站别及主板短码组成。
[0007]所述对手机主板进行自动测试的测试方法,其中,所述步骤A之前还包括:
S、预先设定一重复测试次数阈值,并预先存储XML测试序列。
[0008]所述对手机主板进行自动测试的测试方法,其中,所述步骤C还包括当对当前测试项进行测试的重复次数未超出预先设定的重复测试次数阈值且当前测试项通过测试时,则继续对下一测试项进行测试。
[0009]所述对手机主板进行自动测试的测试方法,其中,所述步骤A具体包括:
Al、扫描手机的主板序列号,获取所述主板序列号;
A2、根据所述主板序列号的前三位或前四位获取主板短码,并根据所述主板短码在预先存储的XML测试序列中获取对应的测试序列文件;
A3、对所述测试序列文件进行解析,将所述测试序列文件中测试标志位为I的测试项以测试节点的方式按先后顺序保存在预先定义的结构体数组中;
A4、根据所述结构体数组中的测试项的先后顺序依次完成相应的测试。
[0010]一种对手机主板进行自动测试的测试系统,其中,包括:
测试项获取模块,用于扫描手机的主板序列号,根据主板序列号获取主板短码,并根据所述主板短码在预先存储的XML测试序列中获取对应的测试序列文件,再根据测试序列文件的多个测试项先后顺序依次完成相应的测试;
第一控制模块,用于当当前测试项通过测试时,则继续对下一测试项进行测试;当当前测试项之后无下一测试项,则退出测试;
第二控制模块,用于当当前测试项未通过测试时,则再次对当前测试项进行测试,当对当前测试项进行测试的重复次数超出预先设定的重复测试次数阈值,则退出测试。
[0011]所述对手机主板进行自动测试的测试系统,其中,所述测试序列文件的名称均由测试站别及主板短码组成。
[0012]所述对手机主板进行自动测试的测试系统,其中,还包括:
设置及存储模块,用于预先设定一重复测试次数阈值,并预先存储XML测试序列。
[0013]所述对手机主板进行自动测试的测试系统,其中,所述第二控制模块中当对当前测试项进行测试的重复次数未超出预先设定的重复测试次数阈值且当前测试项通过测试时,则继续对下一测试项进行测试。
[0014]所述对手机主板进行自动测试的测试系统,其中,所述测试项获取模块具体包括:
主板序列号获取单元,用于扫描手机的主板序列号,获取所述主板序列号;
短码及测试序列文件获取单元,用于根据所述主板序列号的前三位或前四位获取主板短码,并根据所述主板短码在预先存储的XML测试序列中获取对应的测试序列文件;
解析及存储单元,用于对所述测试序列文件进行解析,将所述测试序列文件中测试标志位为I的测试项以测试节点的方式按先后顺序保存在预先定义的结构体数组中;
测试单元,用于根据所述结构体数组中的测试项的先后顺序依次完成相应的测试。
[0015]本发明所提供的一种对手机主板进行自动测试的测试方法及测试系统,方法包括:扫描手机的主板序列号,根据主板序列号获取主板短码,并根据所述主板短码在预先存储的XML测试序列中获取对应的测试序列文件,再根据测试序列文件的多个测试项先后顺序依次完成相应的测试;当当前测试项通过测试时,则继续对下一测试项进行测试;当当前测试项之后无下一测试项,则退出测试;当当前测试项未通过测试时,则再次对当前测试项进行测试,当对当前测试项进行测试的重复次数超出预先设定的重复测试次数,则退出测试。本发明通过搭建对不同平台、不同项目及不同测试站均能进行测试的手机测试平台,极大地提高了手机测试效率。
【专利附图】
【附图说明】
[0016]图1是本发明所述对手机主板进行自动测试的测试方法较佳实施例的流程图。
[0017]图2是本发明所述对手机主板进行自动测试的测试方法中取测试序列文件的具体流程图。
[0018]图3是本发明所述对手机主板进行自动测试的测试系统较佳实施例的结构框图。
【具体实施方式】
[0019]为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
[0020]请参见图1,图1是本发明所述对手机主板进行自动测试的测试方法较佳实施例的流程图。如图1所示,所述对手机主板进行自动测试的测试方法,包括以下步骤:
步骤S100、手机开机时扫描手机的主板序列号,根据主板序列号获取主板短码,并根据所述主板短码在预先存储的XML测试序列中获取对应的测试序列文件,再根据测试序列文件的多个测试项先后顺序依次完成相应的测试。
[0021]本发明的较佳实施例中,当需对手机进行测试时,应扫描手机的主板序列号,并根据主板序列号获取主板短码。一般情况下,主板序列号的前三位或前四位为主板短码。当获取所述主板短码后,则根据主板短码在预先存储的XML测试序列中获取对应的测试序列文件。
[0022]在预先存储的XML测试序列文件的名称均由测试站别及主板短码组成。例如生产测试站为射频校准测试站PT,主板BSN为BKJC1234567890A,则该主板短码为BKJ,相应的测试序列文件名称为PT_BKJ.xml ;当测试站为非信令测试站PFT时,测试序列为PFT_BKJ.xml ;当测试站为WIFI测试站时,测试序列为WIFT_BKJ.xml ;当测试站为功能测试站丽I时,测试序列为MMI_BKJ.xml ;当测试站为天线测试站FT时,测试序列为FT_BKJ.xml ;这些测试站并不是XML测试序列中的全部测试项,如果新增测试站为XX,则测试序列可命名为XX_BKJ.xml。由于将测试项采用上述命名方式,故当获取了主板短码后能迅速的找到对应的测试项,提高了测试的效率。
[0023]步骤S200、当当前测试项通过测试时,则继续对下一测试项进行测试;当当前测试项之后无下一测试项,则退出测试;
步骤S300、当当前测试项未通过测试时,则再次对当前测试项进行测试,当对当前测试项进行测试的重复次数超出预先设定的重复测试次数阈值,则退出测试。
[0024]显然,当获取了 XML测试序列中的测试序列文件后,需按照测试序列文件中的测试项(也即测试站)的先后顺序,依次对每一测试项进行测试。在测试的过程中可能会遇到某一测试项测试不通过,此时需先将重复测试次数(重复测试初始值为O)加1,并对该测试项进行重新测试,若仍然不通过则再次先将重复测试次数加I后重新测试,当重复测试次数超过一预先设定的重复测试次数阈值时,则直接退出测试,并提示测试人员未通过测试的测试项;当对当前测试项进行测试的重复次数未超出预先设定的重复测试次数阈值且当前测试项通过测试时,则继续对下一测试项进行测试。同样,在测试的过程中,如果当前测试项通过测试后则继续对下一项进行测试;若当前测试项已经是最后一项(即无下一测试项),则当前测试项通过测试后即可退出测试。由于设定了每一测试项的重复测试次数阈值(也即重复测试次数上限值),故可确保整个测试流程不会因某一测试项未通过测试而进入死循环,从而避免了浪费测试时间。
[0025]进一步地实施例,所述步骤SlOO获取测试序列文件之前还包括:
S10、预先设定一重复测试次数阈值,并预先存储XML测试序列。
[0026]本发明的较佳实施例中,为了确保提高测试效率,预先设定的重复测试次数阈值在20次以内较佳。具体实施时,所述XML测试序列的实例样本如下:
<?xml vers1n=〃L 0〃 encoding=〃UTF_8〃?>
〈Sequence platform=〃Qualcomm〃 project=〃ProjectName〃 vers1n=〃l.0.2〃tryTime=〃l〃>
〈Item ID=〃ID Name0〃 isEnable=〃l〃 tryTime=〃l〃>
〈Service〉
<Funct1n>Funct1nO</Funct1n>
〈Parameter〉
<ParamNameO> ValueO </ParamNameO>
<ParamNamel> Valuel </ParamNamel>
〈/Parameter〉
〈/Service〉
<Log>
〈Informat1n errorCode=〃xxxx〃 unit=〃-〃 Iimit=〃Low@High〃>TestItemName </Informat1n)
〈/Log〉
</Item>
〈Item ID=〃ID NameI〃 isEnable=〃l〃 tryTime=〃l〃>
〈Service〉
〈Funct1n>Funct1nI〈/Funct1n〉
〈Parameter〉
<ParamNameO> ValueO </ParamName0>
<ParamNamel> Valuel </ParamNamel>
〈/Parameter〉
〈/Service〉
<Log>
〈Informat1n errorCode=〃xxxx〃 unit=〃-〃 Iimit=〃Low@High〃>TestItemName </Informat1n)
〈/Log〉
</Item>
〈/Sequence〉
上述实例文本中,XML文件釆用UTF-8编码,XML版本1.0。其中元素包括根元素:Sequence、item、Service、Funct1n、Parameter、Log ;
Sequence元素包含文件的描述如版本vers1n,该序列应用的手机开发平台,适用的产品名称、当执行出错时最多的执行次数等等;
Item元素包含isEnable是否使能该模块,如果为1,有效;如果为O,程序解析时会忽略此项;tryTime表示该模块测试出错时连续测试的做多次数;
Service兀素中包含2中子兀素Funct1n及Parameter ;
Funct1n表示该模块真正的执行函数名称;
Parameter表示该函数可以运用的输入参数,解析后压缩进入参数szParamln ;参数名称及数据类型依模块具体功能而定;
Log元素指该测试模块测试过程中需要保存到Iteport文件中的测试项结果;可多项,依具体模块内容决定;解析后压缩进入参数szParamOut。
[0027]进一步地实施例,如图2所示,所述步骤SlOO中获取测试序列文件具体包括: 步骤S101、扫描手机的主板序列号,获取所述主板序列号。
[0028]步骤S102、根据所述主板序列号的前三位或前四位获取主板短码,并根据所述主板短码在预先存储的XML测试序列中获取对应的测试序列文件。
[0029]步骤S103、对所述测试序列文件进行解析,将所述测试序列文件中测试标志位为I的测试项以测试节点的方式按先后顺序保存在预先定义的结构体数组中。
[0030]在步骤S103中,预先定义的结构体数组形式如下: struct {
char* szFunct1nName;
char* szParamln;
char氺 szParamOut;
};
解析XML测试序列时,会将每个XML测试节点中的Funct1n保存到变量szFunct1nName中,然后所有Parameter以“\n”为分割点保存在变量szParamln中,将所有Log也以“\n”为分割点保存在变量szParamOut中。
[0031]在上述预先定义的结构体数组中,功能函数的声明如下: int Funct1nName(char* szParamln, char* szParamOut);
其中,每个功能函数的参数声明都是相同的;但具体执行内容则依照每个函数的函数名称及函数功能而定。
[0032]具体的,调用功能函数的函数实现包括:
O函数声明:
Int TestItemSelector(char* szFunct1nName, char* szParamln, char*szParamOut);
2)函数实现为:
Map_Funct1n_Begin ()
AddFunct1n(Funct1nNamel)
AddFunct1n(Funct1nName2)
Map_Funct1n_End(0);
3)AddFunct1n的宏定义为:
#define BEGIN_FUNCT10N_MAP ()if ( 0 ){}
#define AddFunct1n (x) else if (strcmp (szFunct1nName, #x) ==0) {status =X(szParamln, szParamOut);}
#define END_FUNCT1N_MAP( x ) elsenStatus = x;
4)函数实现说明:
a.参数szFunct1nName:是测试序列中参数Funct1n相应函数名称,以字符串的形式作为函数选择器TestItemSelector的输入参数;
b.在函数选择器TestItemSelector中,以AddFunct1n(x)的方式列举了系统中所有功能模块的函数,是一个函数选择器,也是一个函数池或者说函数集合体;
c.当从测试序列中得到调用函数的名称时,通过函数选择器TestItemSelector进入到此系统的函数池中,通过AddFunct1n (x)的宏定义进行函数的匹配,如果输入的函数名称是函数池的其中一个成员,则调用该函数,执行相应功能,完成相应任务;如果输入的函数名称不是函数池中任何一个成员,则不作任何操作、退出;出现这种情况时,很可能是测试序列配置错误;
d.参数szParamln是测试序列中某个测试模块的输入参数集合,不同参数之间以“\n”为分隔符,是相应测试模块的测试条件及环境要求;每个参数的格式为“参数名:参数值”;便于测试模块内部的解析与运用;
e.参数szParamOut是测试序列中某个测试模块的Log输出信息的集合,信息的条数由各测试模块自定义,不同信息之间以“\n”为分隔符;每条信息中的单元以“;”相隔;
f.宏定义BEGIN_FUNCT1N_MAP(),用于表征函数选择器中函数池的开始;
g.宏定义END_FUNCT1N_MAP(x ),用于表征函数选择器中函数池的结束;
h.宏定义AddFunct1n(X),用于添加系统所有功能模块到函数池中,也是函数选择器执行时用于辨别函数有效性、及执行具体函数功能的主要机构;
步骤S104、根据所述结构体数组中的测试项的先后顺序依次完成相应的测试。
[0033]基于上述方法,本发明还提供了一种对手机主板进行自动测试的测试系统。如图3所示,其为本发明所述对手机主板进行自动测试的测试系统较佳实施例的结构框图,所述系统包括:
测试项获取模块100,用于扫描手机的主板序列号,根据主板序列号获取主板短码,并根据所述主板短码在预先存储的XML测试序列中获取对应的测试序列文件,再根据测试序列文件的多个测试项先后顺序依次完成相应的测试;具体如上所述。
[0034]第一控制模块200,用于当当前测试项通过测试时,则继续对下一测试项进行测试;当当前测试项之后无下一测试项,则退出测试;具体如上所述。
[0035]第二控制模块300,用于当当前测试项未通过测试时,则再次对当前测试项进行测试,当对当前测试项进行测试的重复次数超出预先设定的重复测试次数阈值,则退出测试;具体如上所述。
[0036]进一步地实施例,在所述对手机主板进行自动测试的测试系统中,所述测试序列文件的名称均由测试站别及主板短码组成;具体如上所述。
[0037]进一步地实施例,在所述对手机主板进行自动测试的测试系统中,还包括:
设置及存储模块,用于预先设定一重复测试次数阈值,并预先存储XML测试序列;具体如上所述。
[0038]进一步地实施例,在所述对手机主板进行自动测试的测试系统中,所述第二控制模块中当对当前测试项进行测试的重复次数未超出预先设定的重复测试次数阈值且当前测试项通过测试时,则继续对下一测试项进行测试;具体如上所述。
[0039]进一步地实施例,在所述对手机主板进行自动测试的测试系统中,所述测试项获取模块具体包括:
主板序列号获取单元,用于扫描手机的主板序列号,获取所述主板序列号;具体如上所述。
[0040]短码及测试序列文件获取单元,用于根据所述主板序列号的前三位或前四位获取主板短码,并根据所述主板短码在预先存储的XML测试序列中获取对应的测试序列文件;具体如上所述。
[0041]解析及存储单元,用于对所述测试序列文件进行解析,将所述测试序列文件中测试标志位为I的测试项以测试节点的方式按先后顺序保存在预先定义的结构体数组中;具体如上所述。
[0042]测试单元,用于根据所述结构体数组中的测试项的先后顺序依次完成相应的测试;具体如上所述。
[0043]综上所述,本发明所提供的一种对手机主板进行自动测试的测试方法及测试系统,方法包括:扫描手机的主板序列号,根据主板序列号获取主板短码,并根据所述主板短码在预先存储的XML测试序列中获取对应的测试序列文件,再根据测试序列文件的多个测试项先后顺序依次完成相应的测试;当当前测试项通过测试时,则继续对下一测试项进行测试;当当前测试项之后无下一测试项,则退出测试;当当前测试项未通过测试时,则再次对当前测试项进行测试,当对当前测试项进行测试的重复次数超出预先设定的重复测试次数,则退出测试。本发明通过搭建对不同平台、不同项目及不同测试站均能进行测试的手机测试平台,极大地提高了手机测试效率。
[0044]可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。
【权利要求】
1.一种对手机主板进行自动测试的测试方法,其特征在于,所述方法包括步骤: A、扫描手机的主板序列号,根据主板序列号获取主板短码,并根据所述主板短码在预先存储的XML测试序列中获取对应的测试序列文件,再根据测试序列文件的多个测试项先后顺序依次完成相应的测试; B、当当前测试项通过测试时,则继续对下一测试项进行测试;当当前测试项之后无下一测试项,则退出测试; C、当当前测试项未通过测试时,则再次对当前测试项进行测试,当对当前测试项进行测试的重复次数超出预先设定的重复测试次数阈值,则退出测试。
2.根据权利要求1所述对手机主板进行自动测试的测试方法,其特征在于,所述测试序列文件的名称均由测试站别及主板短码组成。
3.根据权利要求1所述对手机主板进行自动测试的测试方法,其特征在于,所述步骤A之前还包括: S、预先设定一重复测试次数阈值,并预先存储XML测试序列。
4.根据权利要求1所述对手机主板进行自动测试的测试方法,其特征在于,所述步骤C还包括当对当前测试项进行测试的重复次数未超出预先设定的重复测试次数阈值且当前测试项通过测试时,则继续对下一测试项进行测试。
5.根据权利要求1所述对手机主板进行自动测试的测试方法,其特征在于,所述步骤A具体包括: Al、扫描手机的主板序列号,获取所述主板序列号; A2、根据所述主板序列号的前三位或前四位获取主板短码,并根据所述主板短码在预先存储的XML测试序列中获取对应的测试序列文件; A3、对所述测试序列文件进行解析,将所述测试序列文件中测试标志位为I的测试项以测试节点的方式按先后顺序保存在预先定义的结构体数组中; A4、根据所述结构体数组中的测试项的先后顺序依次完成相应的测试。
6.一种对手机主板进行自动测试的测试系统,其特征在于,包括: 测试项获取模块,用于扫描手机的主板序列号,根据主板序列号获取主板短码,并根据所述主板短码在预先存储的XML测试序列中获取对应的测试序列文件,再根据测试序列文件的多个测试项先后顺序依次完成相应的测试; 第一控制模块,用于当当前测试项通过测试时,则继续对下一测试项进行测试;当当前测试项之后无下一测试项,则退出测试; 第二控制模块,用于当当前测试项未通过测试时,则再次对当前测试项进行测试,当对当前测试项进行测试的重复次数超出预先设定的重复测试次数阈值,则退出测试。
7.根据权利要求6所述对手机主板进行自动测试的测试系统,其特征在于,所述测试序列文件的名称均由测试站别及主板短码组成。
8.根据权利要求6所述对手机主板进行自动测试的测试系统,其特征在于,还包括: 设置及存储模块,用于预先设定一重复测试次数阈值,并预先存储XML测试序列。
9.根据权利要求6所述对手机主板进行自动测试的测试系统,其特征在于,所述第二控制模块中当对当前测试项进行测试的重复次数未超出预先设定的重复测试次数阈值且当前测试项通过测试时,则继续对下一测试项进行测试。
10.根据权利要求6所述对手机主板进行自动测试的测试系统,其特征在于,所述测试项获取模块具体包括: 主板序列号获取单元,用于扫描手机的主板序列号,获取所述主板序列号; 短码及测试序列文件获取单元,用于根据所述主板序列号的前三位或前四位获取主板短码,并根据所述主板短码在预先存储的XML测试序列中获取对应的测试序列文件; 解析及存储单元,用于对所述测试序列文件进行解析,将所述测试序列文件中测试标志位为I的测试项以测试节点的方式按先后顺序保存在预先定义的结构体数组中; 测试单元,用于根据所述结构体数组中的测试项的先后顺序依次完成相应的测试。
【文档编号】H04M1/24GK104363324SQ201410667344
【公开日】2015年2月18日 申请日期:2014年11月20日 优先权日:2014年11月20日
【发明者】李兴明 申请人:惠州Tcl移动通信有限公司