一种自动测试系统及方法以及移动终端与流程

文档序号:18018890发布日期:2019-06-26 01:02阅读:155来源:国知局
一种自动测试系统及方法以及移动终端与流程

本发明涉及移动终端测试技术领域,尤其涉及一种自动测试系统及方法以及移动终端。



背景技术:

现有技术中,对于移动终端进行自动化测试时,通常需要模拟人点击屏幕的行为进行操作,这使得脚本编写比较复杂,同时降低结果判断的准确性,无法确保自动化测试的有效性。



技术实现要素:

根据现有技术中存在的问题,现提供一种自动测试系统及方法以及移动终端的技术方案,旨在实现移动终端的自动测试,解决传统技术中因需要模拟人行为进行测试带来的脚本复杂、结果判断模糊以及结果准确性不佳等问题。

上述技术方案具体包括:

一种自动测试系统,适用于移动终端;其中,包括:

多个测试单元,每个所述测试单元用于执行一个相应的测试动作,并输出相应的测试结果;

测试连接单元,其中预设有多个关联于不同所述测试模块的测试任务,所述测试连接单元分别连接所述测试单元,用于根据被选择的所述测试任务,以预设的执行顺序在相应的所述测试单元之间建立连接,并控制被连接的所述测试单元顺序执行相应的所述测试动作,以执行一个完整的测试任务;

解析单元,分别连接所述测试单元,用于解析所述测试动作以形成相应的底层指令并输出,所述移动终端根据所述底层指令直接控制所述移动终端中相应的功能模块工作;

所述测试连接单元根据所述测试结果判断相应的所述测试单元是否执行失败,并断开执行失败的所述测试单元与之后的所述测试单元之间的连接。

优选的,该自动测试系统,其中,还包括:

结果获取单元,分别连接所述测试单元,用于获取执行失败的所述测试单元对应的所述测试结果,或者顺序执行成功的被连接的多个所述测试单元中最后一个所述测试单元对应的所述测试结果。

优选的,该自动测试系统,其中,还包括:

存储单元,连接所述测试连接单元,其中预设有多个相应的所述测试任务;

输入单元,连接所述测试连接单元,供使用者输入测试请求;

所述测试连接单元根据所述测试请求选择保存于所述存储单元中的相应的所述测试任务,随后根据所述测试任务以预设的所述执行顺序在多个相应的所述测试单元之间建立连接。

优选的,该自动测试系统,其中,所述测试单元包括:

拨号单元,用于执行拨打电话的所述测试动作;

通话状态获取单元,用于执行获取移动终端当前通话状态的所述测试动作;

长保单元,用于执行将通话状态保持预设时段的所述测试动作;

挂断单元,用于执行挂断电话的所述测试动作;

所述测试连接单元以拨号-通话状态获取-长保-通话状态获取-挂断-通话状态获取的执行顺序连接所述测试单元,以形成一个执行通话过程的所述测试任务;

所述自动测试系统中还包括:

结果获取单元,分别连接所述测试单元,用于获取执行失败的所述测试单元对应的所述测试结果,或者顺序执行成功的被连接的多个所述测试单元中最后一个所述测试单元对应的所述测试结果。

优选的,该自动测试系统,其中,所述测试单元包括:

发送短信单元,用于执行所述移动终端向自身发送短信的所述测试动作;

短信发送获取单元,用于执行获取短信发送状态的所述测试动作;

短信接收获取单元,用于执行获取短信接收状态的所述测试动作;

所述测试连接单元以发送短信-获取短信发送状态-获取短信接收状态的执行顺序连接所述测试单元,以形成一个执行短信收发过程的所述测试任务;

所述自动测试系统中还包括:

结果获取单元,分别连接所述测试单元,用于获取执行失败的所述测试单元对应的所述测试结果,或者顺序执行成功的被连接的多个所述测试单元中最后一个所述测试单元对应的所述测试结果。

优选的,该自动测试系统,其中,所述测试单元包括:

发送彩信单元,用于执行所述移动终端向自身发送彩信的所述测试动作;

彩信发送获取单元,用于执行获取彩信发送状态的所述测试动作;

彩信接收获取单元,用于执行获取彩信接收状态的所述测试动作;

所述测试连接单元以发送彩信-获取彩信发送状态-获取彩信接收状态的执行顺序连接所述测试单元,以形成一个执行彩信收发过程的所述测试任务;

所述自动测试系统中还包括:

结果获取单元,分别连接所述测试单元,用于获取执行失败的所述测试单元对应的所述测试结果,或者顺序执行成功的被连接的多个所述测试单元中最后一个所述测试单元对应的所述测试结果。

优选的,该自动测试系统,其中,所述测试单元包括:

数据流量开启单元,用于执行开启数据流量的所述测试动作;

流量状态获取单元,用于执行获取当前数据流量状态的所述测试动作;

数据流量关闭单元,用于执行关闭数据流量的所述测试动作;

所述测试连接单元以开启数据流量-获取当前数据流量状态-关闭数据流量-获取数据流量状态的执行顺序连接所述测试单元,以形成一个执行开闭数据流量过程的所述测试任务;

所述自动测试系统中还包括:

结果获取单元,分别连接所述测试单元,用于获取执行失败的所述测试单元对应的所述测试结果,或者顺序执行成功的被连接的多个所述测试单元中最后一个所述测试单元对应的所述测试结果。

优选的,该自动测试系统,其中,所述测试单元包括:

飞行模式开启单元,用于执行开启飞行模式的所述测试动作;

飞行模式获取单元,用于执行获取当前飞行模式状态的所述测试动作;

飞行模式关闭单元,用于执行关闭飞行模式的所述测试动作;

用户身份注册判断单元,用于执行判断用户身份是否注册成功的所述测试动作;

所述测试连接单元以开启飞行模式-获取当前飞行模式状态-关闭飞行模式-获取当前飞行模式状态-判断用户身份是否注册成功的执行顺序连接所述测试单元,以形成一个执行开闭飞行模式的所述测试任务;

所述自动测试系统中还包括:

结果获取单元,分别连接所述测试单元,用于获取执行失败的所述测试单元对应的所述测试结果,或者顺序执行成功的被连接的多个所述测试单元中最后一个所述测试单元对应的所述测试结果。

优选的,该自动测试系统,其中,所述测试单元包括:

网络模式切换单元,用于执行切换所述移动终端的网络模式的所述测试动作;

网络模式获取单元,用于执行获取移动终端当前的网络模式状态的所述测试动作;

所述测试连接单元以切换网络模式-获取当前的网络模式状态-切换网络模式-获取当前的网络模式状态的执行顺序连接所述测试单元,以形成一个执行切换网络模式的所述测试任务;

所述自动测试系统中还包括:

结果获取单元,分别连接所述测试单元,用于获取执行失败的所述测试单元对应的所述测试结果,或者顺序执行成功的被连接的多个所述测试单元中最后一个所述测试单元对应的所述测试结果。

一种自动测试方法,适用于移动终端;其中,所述移动终端中包括多个测试单元,每个所述测试单元用于执行一个相应的测试动作,并输出相应的测试结果;

所述移动终端中还预设有多个测试任务;

所述自动测试方法包括:

步骤S1,根据外部输入的测试请求,选择一个相应的所述测试任务;

步骤S2,根据被选择的所述测试任务,按照相应的所述执行顺序在多个相应的所述测试单元之间建立连接;

步骤S3,采用所述测试单元执行一个相应的所述测试动作,并输出相应的测试结果;

步骤S4,判断所述测试结果是否表示所述测试动作执行失败:

若所述测试结果表示所述测试动作执行失败,则输出相应的所述测试结果,随后转至步骤S6;

步骤S5,判断当前执行的所述测试单元是否为被连接的多个所述测试单元中的最后一个所述测试单元:

若不为最后一个所述测试单元,则按照所述执行顺序转向下一个所述测试单元,并返回所述步骤S3;

若为最后一个所述测试单元,则输出相应的所述测试结果;

步骤S6,获取所述测试结果并记录,随后退出;

所述步骤S2中,所述移动终端解析所述测试动作以形成相应的底层指令,所述移动终端根据所述底层指令直接控制所述移动终端中相应的功能模块工作。

优选的,该自动测试方法,其中,当外部输入的所述测试请求对应于选择执行通话过程的所述测试任务时,所述自动测试方法中,执行被选择的所述测试任务的方法包括:

步骤S1a,执行拨号的所述测试动作,并判断所述测试动作是否执行成功:

若所述测试动作执行失败,则输出相应的所述测试动作执行失败的所述测试结果,并转至步骤S7a;

步骤S2a,执行获取通话状态的所述测试动作,判断所述移动终端当前是否处于通话状态;

若未处于通话状态,则输出相应的所述测试动作执行失败的所述测试结果,并转至步骤S7a;

步骤S3a,执行将通话状态保持预设时段的所述测试动作;

步骤S4a,经过所述预设时段后,执行获取通话状态的所述测试动作,判断所述移动终端当前是否处于通话状态;

若未处于通话状态,则输出相应的所述测试动作执行失败的所述测试结果,并转至步骤S7a;

步骤S5a,执行挂断电话的所述测试动作,并判断所述测试动作是否执行成功:

若所述测试动作执行失败,则输出相应的所述测试动作执行失败的所述测试结果,并转至步骤S7a;

步骤S6a,执行获取通话状态的所述测试动作,判断所述移动终端当前是否处于通话状态:

若仍然处于通话状态,则输出相应的所述测试动作执行失败的所述测试结果;

若未处于通话状态,则输出相应的所述测试任务执行成功的所述测试结果;

步骤S7a,获取所述测试结果并记录,随后退出。

优选的,该自动测试方法,其中,当外部输入的所述测试请求对应于选择执行短信收发过程的所述测试任务时,所述自动测试方法中,执行被选择的所述测试任务的方法包括:

步骤S1b,执行向自身发送短信的所述测试动作,并判断所述测试动作是否执行成功:

若所述测试动作执行失败,则输出相应的所述测试动作执行失败的所述测试结果,并转至步骤S4b;

步骤S2b,执行获取短信发送状态的所述测试动作,判断短信发送是否成功;

若短信发送失败,则输出相应的所述测试动作执行失败的所述测试结果,并转至步骤S4b;

步骤S3b,执行获取短信接收状态的所述测试动作,判断短信接收是否成功;

若短信接收失败,则输出相应的所述测试动作执行失败的所述测试结果;

若短信接收成功,则输出相应的所述测试任务执行成功的所述测试结果;

步骤S4b,获取所述测试结果并记录,随后退出。

优选的,该自动测试方法,其中,当外部输入的所述测试请求对应于选择执行彩信收发过程的所述测试任务时,所述自动测试方法中,执行被选择的所述测试任务的方法包括:

步骤S1c,执行向自身发送彩信的所述测试动作,并判断所述测试动作是否执行成功:

若所述测试动作执行失败,则输出相应的所述测试动作执行失败的所述测试结果,并转至步骤S4c;

步骤S2c,执行获取彩信发送状态的所述测试动作,判断彩信发送是否成功;

若彩信发送失败,则输出相应的所述测试动作执行失败的所述测试结果,并转至步骤S4c;

步骤S3c,执行获取彩信接收状态的所述测试动作,判断彩信接收是否成功;

若彩信接收失败,则输出相应的所述测试动作执行失败的所述测试结果;

若彩信接收成功,则输出相应的所述测试任务执行成功的所述测试结果;

步骤S4c,获取所述测试结果并记录,随后退出。

优选的,该自动测试方法,其中,当外部输入的所述测试请求对应于选择执行开闭数据流量的所述测试任务时,所述自动测试方法中,执行被选择的所述测试任务的方法包括:

步骤S1d,执行打开数据流量的所述测试动作,并判断所述测试动作是否执行成功:

若所述测试动作执行失败,则输出相应的所述测试动作执行失败的所述测试结果,并转至步骤S5d;

步骤S2d,执行获取移动终端当前的数据流量状态的所述测试动作,判断所述移动终端当前是否处于数据流量开启的状态下;

若未处于数据流量开启的状态下,则输出相应的所述测试动作执行失败的所述测试结果,并转至步骤S5d;

步骤S3d,执行关闭数据流量的所述测试动作,判断所述测试动作是否执行成功;

若所述测试动作执行失败,则输出相应的所述测试动作执行失败的所述测试结果,并转至步骤S5d;

步骤S4d,执行获取移动终端当前的数据流量状态的所述测试动作,判断所述移动终端当前是否处于数据流量开启的状态下:

若仍然处于数据流量开启的状态下,则输出相应的所述测试动作执行失败的所述测试结果;

若未处于数据流量开启的状态下,则输出相应的所述测试任务执行成功的所述测试结果;

步骤S5d,获取所述测试结果并记录,随后退出。

优选的,该自动测试方法,其中,当外部输入的所述测试请求对应于选择执行开闭飞行模式的所述测试任务时,所述自动测试方法中,执行被选择的所述测试任务的方法包括:

步骤S1e,执行打开飞行模式的所述测试动作,并判断所述测试动作是否执行成功:

若所述测试动作执行失败,则输出相应的所述测试动作执行失败的所述测试结果,并转至步骤S6e;

步骤S2e,执行获取移动终端当前的飞行模式状态的所述测试动作,判断所述移动终端当前是否处于飞行模式状态下;

若未处于飞行模式状态下,则输出相应的所述测试动作执行失败的所述测试结果,并转至步骤S6e;

步骤S3e,执行关闭飞行模式的所述测试动作,判断所述测试动作是否执行成功;

若所述测试动作执行失败,则输出相应的所述测试动作执行失败的所述测试结果,并转至步骤S6e;

步骤S4e,执行获取移动终端当前的飞行模式状态的所述测试动作,判断所述移动终端当前是否处于飞行模式状态下:

若处于飞行模式状态下,则输出相应的所述测试动作执行失败的所述测试结果,并转至步骤S6e;

步骤S5e,执行判断用户身份是否注册成功的所述测试动作,判断用户身份识别信息是否注册成功;

若用户身份识别信息注册失败,则输出相应的所述测试任务执行失败的所述测试结果;

若用户身份识别信息注册成功,则输出相应的所述测试任务执行成功的所述测试结果;

步骤S6e,获取所述测试结果并记录,随后退出。

优选的,该自动测试方法,其中,当外部输入的所述测试请求对应于选择执行开闭数据流量的所述测试任务时,所述自动测试方法中,执行被选择的所述测试任务的方法包括:

步骤S1f,执行将网络模式切换至单GSM网络的所述测试动作,并判断所述测试动作是否执行成功:

若所述测试动作执行失败,则输出相应的所述测试动作执行失败的所述测试结果,并转至步骤S5f;

步骤S2f,执行获取移动终端当前的网络模式状态的所述测试动作,判断所述移动终端当前是否处于单GSM网络状态下;

若未处于单GSM网络状态下,则输出相应的所述测试动作执行失败的所述测试结果,并转至步骤S5f;

步骤S3f,执行将网络模式切换至单TD网络的所述测试动作,判断所述测试动作是否执行成功;

若所述测试动作执行失败,则输出相应的所述测试动作执行失败的所述测试结果,并转至步骤S5f;

步骤S4f,执行获取移动终端当前的网络模式状态的所述测试动作,判断所述移动终端当前是否处于单TD网络状态下:

若未处于单TD网络状态下,则输出相应的所述测试动作执行失败的所述测试结果;

若处于单TD网络状态下,则输出相应的所述测试任务执行成功的所述测试结果;

步骤S5f,获取所述测试结果并记录,随后退出。

一种移动终端,其中,包括上述的自动测试系统。

一种移动终端,其中,采用上述的自动测试方法。

上述技术方案的有益效果是:

1)实现自定义接口测试流程,通过自定义接口能够简单快速地完成脚本编写,简化测试过程;

2)结果判断准确、清晰;

3)保证自动测试的有效性;

4)实现成本较低,实现较为简单。

附图说明

图1是本发明的较佳的实施例中,一种自动测试系统的总体结构示意图;

图2-7分别是本发明的较佳的实施例中,测试单元的结构示意图;

图8是本发明的较佳的实施例中,一种自动测试方法的流程示意图;

图9-14分别是本发明的较佳的实施例中,选择不同的测试任务并执行时的流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。

现有技术中,若需要对移动终端进行自动化测试,其测试手段通常为以编码形式模拟人在手机屏幕上操作的动作,并一步步解析操作动作以完成测试。例如,当实行拨打电话的测试时,需要采用脚本编码模拟解锁手机屏幕-调出通话界面-输入电话号码-拨通电话的过程。上述过程的脚本编码比较复杂,并且模拟人的行为最终返回的结果判断比较模糊,甚至导致测试程序跑飞。因此无法确保自动化测试的有效性以及测试结果的准确性。

基于现有技术中存在的上述问题,本发明的较佳的实施例中,提供一种自动测试系统,适用于移动终端。该自动测试系统的具体结构如图1所示,包括:

多个测试单元1。本发明的较佳的实施例中,一个测试单元1用于执行一个相应的测试动作。例如,测试单元1为拨号单元,则其用于执行拨号动作;或者,测试单元为短信发送单元,则其用于执行短信发送动作。

本发明的较佳的实施例中,测试单元1执行完相应的测试动作后,获取相应的测试结果并输出。

本发明的较佳的实施例中,上述自动测试系统中还包括:

测试连接单元2,分别连接上述测试单元1。本发明的较佳的实施例中,测试连接单元2中预设有多个测试任务,每个测试任务关联于多个以预设的执行顺序排列执行的测试动作。

则本发明的较佳的实施例中,上述测试连接单元2根据外部输入的测试请求,选择一个相应的测试任务,并根据该测试任务,以相应的执行顺序在多个相应的测试单元1之间建立连接,并控制上述被连接的测试单元以上述执行顺序执行其中的测试动作。例如,当执行通话过程的测试任务时,该测试任务中包括依次执行的拨号-查询是否处于通话状态-保持通话-查询是否处于通话状态-挂断电话-查询是否处于通话状态等多个测试动作组成。因此,在该实施例中,测试连接单元根据上述测试动作的先后执行顺序,将相应的测试单元1依次连接起来(具体如下文所述),并控制测试单元1,并按照相应的连接顺序依次执行上述测试单元。

本发明的较佳的实施例中,测试连接单元2还用于获取上述测试结果,并根据测试结果确定是否需要将当前执行的测试单元1与之后的测试单元1之间断开连接。

具体地,本发明的较佳的实施例中,若测试连接单元2接收到的测试结果表示相应的测试动作执行失败时,则测试连接单元2断开对应于该测试动作的测试单元1与之后的测试单元1之间的连接,即测试连接单元2控制对应该测试动作的测试单元1之后的测试单元停止执行相应的测试动作。而若测试连接单元2接收到的测试结果表示相应的测试动作执行成功时,测试连接单元2控制之后的测试单元1以预定的执行顺序继续执行相应的测试动作。例如:

在执行上述通话过程的测试任务时,若拨号动作之后反馈的测试结果表示拨号动作执行失败,则测试连接单元2断开拨号单元与后续测试单元1之间的连接,即该测试任务进行到拨号动作即告终止。此时输出的测试结果(即拨号失败的结果)即为该测试任务的测试结果。

相应地,若上述通话过程中每个测试环节的测试结果均表示该测试环节正常进行,则测试单元1按照上述执行顺序执行完一遍所有测试动作,并输出执行成功的测试结果,以表示整个通话过程测试成功。

本发明的较佳的实施例中,测试结果用于表示测试动作执行成功或者失败的方式可以有多种,例如:

若测试动作为拨号动作,则拨号动作执行失败即为测试动作执行失败;或者,

若测试动作为查看当前通话状态的动作,则可以预设一个标准的结果状态,例如此时预设的标准结果状态为移动终端处于通话状态下。将测试结果与标准结果状态进行比较,若测试结果匹配于标准结果状态(即测试结果表示移动终端当前处于通话状态下),则表示测试动作执行成功;反之,表示测试动作执行失败。

换言之,本发明的较佳的实施例中,若测试动作执行完毕后反馈的测试结果为直接反馈成功或者失败的,直接根据测试结果即可获知测试动作成功或失败;

若测试动作执行完毕后反馈的测试结果为反馈移动终端相应的状态参数的,则可以对每个测试动作预设一个标准结果状态,并将反馈的状态参数与标准结果状态进行比较,根据比较结果确定该测试动作执行成功还是失败。

本发明的较佳的实施例中,上述自动测试系统中还包括:

解析单元3,分别连接上述测试单元1。本发明的较佳的实施例中,解析单元3用于根据测试单元1执行的测试动作,解析该测试动作以得到相应的底层指令。本发明的较佳的实施例中,移动终端根据上述底层指令,控制相应的功能模块工作,以完成相应的测试动作的执行。换言之,本发明的较佳的实施例中,移动终端执行测试动作的方式不再是以模拟人在屏幕上点击或滑动操作的方式进行,而是直接调用底层的功能模块执行,例如拨号动作,则直接调用底层的通话模块执行。

本发明的较佳的实施例中,上述功能模块包括移动终端底层的硬件功能模块,和/或移动终端内部的软件功能模块。

本发明的较佳的实施例中,所谓硬件功能模块,可以为移动终端底层可以被调用以直接执行相应测试动作的硬件模块,例如通话模块,和/或短信收发模块等。

本发明的较佳的实施例中,所谓软件功能模块,可以为移动终端内部包括的可以被调用以执行相应测试动作的软件模块,例如用于查询通话状态的功能模块,和/或用于查询短信收发状态的功能模块等。

本发明的较佳的实施例中,上述自动测试系统中还包括:

结果获取单元4,分别连接上述测试单元1。本发明的较佳的实施例中,结果获取单元4用于获取测试单元1执行相应的测试动作后反馈的测试结果。进一步地,本发明的较佳的实施例中,结果获取单元4用于获取测试单元1执行测试动作失败后得到的测试结果,或者被连接的多个测试单元1以预定的执行顺序执行多个测试动作均成功后,最后一个测试单元1执行相应的测试动作后得到的测试结果。

换言之,本发明的较佳的实施例中,测试连接单元2根据被选择的测试任务将相应的多个测试单元1连接起来。则被连接的测试单元1依照预定的执行顺序执行测试动作。

本发明的较佳的实施例中,当某个测试动作执行失败时,结果获取单元4获取该表示执行失败的测试结果(例如表示拨号动作失败的测试结果),随后测试连接单元2断开该测试单元1与之后的测试单元1之间的连接关系,即停止执行后续测试单元1中的测试动作,该测试任务终止;此时结果获取单元4获取的表示测试动作执行失败的测试结果即为测试任务的测试结果;或者

当连接的所有测试单元1均成功执行完相应的测试动作,则结果获取单元4获取最后一个测试单元1执行完毕后得到的测试结果,以作为整个测试任务的测试结果。

本发明的较佳的实施例中,上述自动测试系统中还包括:

存储单元5,连接上述测试连接单元2。本发明的较佳的实施例中,存储单元5中预设有多个测试任务。测试连接单元2可以根据外部输入的测试请求,从存储单元5中提取相应的测试任务。

输入单元6,连接上述测试连接单元2。本发明的较佳的实施例中,输入单元6供使用者输入测试请求。所谓测试请求,即使用者希望移动终端执行哪项测试任务的请求,在测试请求中可以包括测试任务的名称。本发明的较佳的实施例中,测试连接单元4根据上述测试请求,选择并提取保存于存储单元5中的相应的测试任务。

本发明的一个较佳的实施例中,如图2所示,当测试连接单元2选择并提取预设的一个执行通话过程的测试任务时,测试连接单元2将相应的测试单元1以预设的执行顺序进行连接,具体如图2所示。测试单元1可以包括:

拨号单元1a,用于执行拨打电话的测试动作;

通话状态获取单元2a,用于执行获取移动终端当前通话状态的测试动作;

长保单元3a,用于执行将通话状态保持预设时段的测试动作;

挂断单元4a,用于执行挂断电话的测试动作;

本发明的较佳的实施例中,执行通话过程的测试任务中,依照预定的执行顺序:拨号-通话状态获取-长保-通话状态获取-挂断-通话状态获取执行相应的测试动作。因此,上述测试单元1以如图2所示的方式顺序连接并顺序执行相应的测试动作。图2中,一个测试单元1用于执行一个测试动作,重复的多个测试动作可以由重复的多个测试单元实现,例如图2中所示出现多次的通话状态获取单元2a,每个通话状态获取单元2a分别用于执行一次通话状态获取的测试动作。上述重复安排测试单元1的原因在下文中不再详述。

本发明的一个较佳的实施例中,如图3所示,当测试连接单元2选择并提取预设的一个执行短信收发过程的测试任务时,测试连接单元2将相应的测试单元1以预定的执行顺序进行连接,被连接的测试单元1包括:

发送短信单元1b,用于执行移动终端向自身发送短信的测试动作;

短信发送获取单元2b,用于执行获取短信发送状态的测试动作;

短信接收获取单元3b,用于执行获取短信接收状态的测试动作;

本发明的较佳的实施例中,执行短信收发过程的测试任务中,依照预定的执行顺序:发送短信-获取短信发送状态-获取短信接收状态执行相应的测试动作。因此,上述测试单元1以如图3所示的方式顺序连接并顺序执行相应的测试动作。

本发明的一个较佳的实施例中,如图4所示,当测试连接单元2选择并提取预设的一个执行彩信收发过程的测试任务时,测试连接单元2将相应的测试单元1以预定的执行顺序进行连接,被连接的测试单元1包括:

发送彩信单元1c,用于执行移动终端向自身发送彩信的测试动作;

彩信发送获取单元2c,用于执行获取彩信发送状态的测试动作;

彩信接收获取单元3c,用于执行获取彩信接收状态的测试动作;

本发明的较佳的实施例中,执行彩信收发过程的测试任务中,依照预定的执行顺序:发送彩信-获取彩信发送状态-获取彩信接收状态执行相应的测试动作。因此,上述测试单元1以如图4所示的方式顺序连接并顺序执行相应的测试动作。

本发明的一个较佳的实施例中,如图5所示,当测试连接单元2选择并提取预设的一个执行开闭数据流量过程的测试任务时,测试连接单元2将相应的测试单元1以预定的执行顺序进行连接,被连接的测试单元1包括:

数据流量开启单元1d,用于执行开启数据流量的测试动作;

流量状态获取单元2d,用于执行获取当前数据流量状态的测试动作;

数据流量关闭单元3d,用于执行关闭数据流量的测试动作;

本发明的较佳的实施例中,执行开闭数据流量过程的测试任务中,依照预定的执行顺序:开启数据流量-获取当前数据流量状态-关闭数据流量-获取数据流量状态执行相应的测试动作。因此,上述测试单元1以如图5所示的方式顺序连接并顺序执行相应的测试动作。

本发明的一个较佳的实施例中,如图6所示,当测试连接单元2选择并提取预设的一个执行开闭飞行模式过程的测试任务时,测试连接单元2将相应的测试单元1以预定的执行顺序进行连接,被连接的测试单元1包括:

飞行模式开启单元1e,用于执行开启飞行模式的测试动作;

飞行模式获取单元2e,用于执行获取当前飞行模式状态的测试动作;

飞行模式关闭单元3e,用于执行关闭飞行模式的测试动作;

用户身份注册判断单元4e,用于执行判断用户身份是否注册成功的测试动作;

本发明的较佳的实施例中,用户身份即用户身份识别信息(Subscriber Identity Module,SIM),也就是通常所说的SIM卡;则本发明的较佳的实施例中,上述用户身份注册判断单元4e用于判断SIM卡注册是否成功。

本发明的较佳的实施例中,执行开闭数据流量过程的测试任务中,依照预定的执行顺序:开启飞行模式-获取当前飞行模式状态-关闭飞行模式-获取当前飞行模式状态-判断用户身份是否注册成功执行相应的测试动作。因此,上述测试单元1以如图6所示的方式顺序连接并顺序执行相应的测试动作。

本发明的一个较佳的实施例中,如图7所示,当测试连接单元2选择并提取预设的一个执行切换网络模式过程的测试任务时,测试连接单元2将相应的测试单元1以预定的执行顺序进行连接,被连接的测试单元1包括:

网络模式切换单元1f,用于执行切换移动终端的网络模式的测试动作;

本发明的较佳的实施例中,网络模式切换单元1f用于将移动终端的网络模式在单GSM模式(GSM_ONLY)和单TD模式(TD_ONLY)之间进行切换。

网络模式获取单元2f,用于执行获取移动终端当前的网络模式状态的测试动作;

本发明的较佳的实施例中,网络模式获取单元2f用于获取移动终端当前的网络模式状态(单GSM网络状态或者单TD网络状态)。

本发明的较佳的实施例中,执行切换网络模式-获取当前的网络模式状态-切换网络模式-获取当前的网络模式状态执行相应的测试动作。因此,上述测试单元1以如图7所示的方式顺序连接并顺序执行相应的测试动作。

本发明的一个较佳的实施例中,上述多个测试单元1可以为针对每个测试动作所设置的测试接口,这些测试接口可以自定义实现,包括但不限于以下接口:

Call():拨打电话;

VTCall():拨打视频电话;

AnswerCall():接听电话;

GetCallState():获取电话的状态;

EmergencyCall():拨打紧急电话;

GetEmergencyCallState():获取紧急电话的状态;

EndCall():挂断电话;

SendSMS():短信发送;

GetSMSState():获取短信发送的结果;

IsReceivedSMS():查询是否收到了短信;

ConnectInternet():连接网页或下载;

CancelInternet():取消上网load数据;

IsInternetOver():查询数据接收是否已结束;

GetInternetResult():查询上次数据连接的结果;

SendMMS():发送彩信功能;

GetMMSState():返回上次彩信发送的结果;

IsReceivedMMS():查询移动终端是否收到了彩信;

IsDataConnOpen():获取数据连接是否打开;

CloseDataConn():关闭数据连接;

OpenDataConn():打开数据连接;

SetAirPlane():设置飞行模式;

CancelAirPlane():取消飞行模式;

IsAirPlane():获取当前飞行模式的状态;

IsSimRegistered():获取SIM卡的注册状态,可通过该测试接口获取是否驻网成功;

SwitchNetworkMode():切换网络模式;

GetNetworkMode():获取当前的网络模式;

ChangeSIMState():切换SIM卡的状态(开关SIM卡);

SendATCmd ATD():发送AT命令;

ExecPing():执行ping测试;

FtpDownload():执行ftp下载;

SetApn():设置接入点(Access Point Name,APN);

Sleep():等待时间;

Report():记录结果。

上述每个测试接口即可以作为一个测试单元1,每个测试接口对应一个测试动作。测试连接单元2根据选择的测试任务挑选相应的测试接口,并按照测试任务对应的执行顺序执行测试接口对应的测试动作,从而完成整个测试任务。本发明的较佳的实施例中,执行上述测试动作的方法为,将测试动作解析为相应的底层指令,移动终端根据底层指令调用其内部相应的功能模块执行相应的测试动作。

本发明的一个较佳的实施例中,以通话测试为例,以下述步骤顺序调用不同的测试单元(测试接口)实现:

1)利用Call()接口,进行拨打电话:若拨打动作正确方法进行下一步;否则未正确拨出,记录Fail;

2)利用GetCallState()接口获得通话状态:若通话状态变成ACTIVE,即接通状态,若已接通则进行下一步;否则,记录Fail;

3)已接通情况下,利用Sleep()保持通话状态;

4)通话状态保持时间到后(长保过后),再次利用GetCallState()接口来获取通话状态,以查看电话是否还在接通中:若还是接通则通话长保成功,并进行下一步;否则记录Fail;

5)利用EndCall()进行挂断电话:若执行了挂断电话的动作,则进行下一步;否则记录Fail

6)再次利用GetCallState()接口获得童话状态,判断通话状态是否为已挂断,:若已挂断则进行下一步;否则,记录Fail;

7)重复上述动过,进行循环测试。

上文中所述为本发明的一个较佳的实施例中执行通话过程的测试任务所需要调用的测试接口以及之间的先后执行(连接)关系,仅为便于本领域技术人员理解本发明的技术方案,并非因此限定本发明的保护范围。

综上所述,本发明的发明目的在于:预设多个对应不同测试动作的测试单元,根据外部输入的测试请求选择相应的测试任务,并根据测试任务以相应的执行顺序串联多个相应的测试单元,以顺序执行相应的测试动作。对每个测试动作执行完毕后均会返回一个测试结果。当在执行测试任务过程中,其中一个测试动作执行失败后,则整个测试任务终止,表示测试动作执行失败的测试结果即为该测试任务的测试结果;当在执行测试任务过程中,所有测试动作均执行成功,则将执行最后一个测试动作的测试结果作为测试任务的测试结果并输出。上述测试动作通过解析单元解析形成相应的底层指令,移动终端根据底层指令直接控制相应的功能模块工作,以执行测试动作。

上述技术方案中,由于采用脚本接口直接调用移动终端底层的功能模块进行自动化测试,而不是模拟人操作屏幕的行为,因此脚本编写比较简单。同时,每个测试动作执行完毕后均有比较清晰的测试结果反馈,使得测试结果清晰,对测试结果的判断能够比较准确,从而提升自动化测试的测试精度和测试效率。

本发明的较佳的实施例中,基于上述自动测试系统,现提供一种自动测试方法,同样适用于移动终端。本发明的较佳的实施例中,如上文所述,在移动终端中包括多个测试单元,每个测试单元用于执行一个相应的测试动作,并输出相应的测试结果;

本发明的较佳的实施例中,移动终端中还预设有多个测试任务。

本发明的较佳的实施例中,如图8所示,上述自动测试方法具体包括:

步骤S1,根据外部输入的测试请求,选择一个相应的测试任务;

本发明的较佳的实施例中,外部输入的测试请求可以为使用者用于选择相应测试任务的请求,移动终端根据测试请求从预设的测试任务中选择并提取一个相应的测试任务。

步骤S2,根据被选择的测试任务,按照相应的执行顺序在多个相应的测试单元之间建立连接;

本发明的较佳的实施例中,每个测试任务关联于多个依预设的执行顺序连接的测试单元。换言之,每个测试任务中包括多个依预设的执行顺序执行的测试动作。因此,本发明的较佳的实施例中,确定测试任务后,移动终端可以根据该测试任务,依照相应的执行顺序依次串联相应的多个测试单元,以按照执行顺序依次执行相应的多个测试动作。

本发明的较佳的实施例中,解析所执行的测试动作并将其转换成相应的底层指令,随后移动终端根据底层指令直接控制相应的功能模块工作,以完成上述测试动作。

步骤S3,采用测试单元执行一个相应的测试动作,并输出相应的测试结果;

步骤S4,判断测试结果是否表示测试动作执行失败:

若测试结果表示测试动作执行失败,则输出相应的测试结果,随后转至步骤S6;

本发明的较佳的实施例中,若执行一个测试动作后反馈的测试结果表示该测试动作执行失败,则直接跳至下述步骤S6,即将表示测试动作执行失败的测试结果作为该测试任务的测试结果并记录,并且该测试任务终止。

步骤S5,判断当前执行的测试单元是否为被连接的多个测试单元中的最后一个测试单元:

若不为最后一个测试单元,则按照执行顺序转向下一个测试单元,并返回步骤S3;

若为最后一个测试单元,则输出相应的测试结果;

本发明的较佳的实施例中,若当前测试单元对应的测试结果表示测试动作执行成功,但是当前的测试单元并不为最后一个测试单元,则表示测试任务尚未结束,因此转向下一个测试单元并继续执行相应的测试任务。

步骤S6,获取测试结果并记录,随后退出;

如上文所述,可以针对不同的测试动作预设许多不同的测试单元,以及可以预设许多包括不同的测试动作的测试任务。因此,为方便本领域技术人员理解本发明技术方案,下文中列举针对不同测试任务的自动测试方法。

本发明的一个较佳的实施例中,针对移动终端选择执行通话过程的测试任务,自动测试方法如图9所示,包括:

步骤S1a,执行拨号的测试动作,并判断测试动作是否执行成功:

若测试动作执行失败,则输出相应的测试动作执行失败的测试结果,并转至步骤S7a;

本发明的较佳的实施例中,拨号的测试动作以自定义的API接口表示为Call();

步骤S2a,执行获取通话状态的测试动作,判断移动终端当前是否处于通话状态;

若未处于通话状态,则输出相应的测试动作执行失败的测试结果,并转至步骤S7a;

本发明的较佳的实施例中,获取通话状态的测试动作以自定义的API接口表示为GetCallState();

步骤S3a,执行将通话状态保持预设时段的测试动作;

本发明的较佳的实施例中,保持通话状态的测试动作以自定义的API接口表示为Sleep();

步骤S4a,经过预设时段后,执行获取通话状态的测试动作,判断移动终端当前是否处于通话状态;

若未处于通话状态,则输出相应的测试动作执行失败的测试结果,并转至步骤S7a;

步骤S5a,执行挂断电话的测试动作,并判断测试动作是否执行成功:

若测试动作执行失败,则输出相应的测试动作执行失败的测试结果,并转至步骤S7a;

本发明的较佳的实施例中,挂断电话的测试动作以自定义的API接口表示为EndCall();

步骤S6a,执行获取通话状态的测试动作,判断移动终端当前是否处于通话状态:

若处于通话状态,则输出相应的测试动作执行失败的测试结果;

若未处于通话状态,则输出相应的测试任务执行成功的测试结果;

步骤S7a,获取测试结果并记录,随后退出。

本发明的较佳的实施例中,获取测试结果并记录以自定义的API接口表示为Report()。该API接口可以包括在上文中所述的结果获取单元中。下文中不再详述。

本发明的一个较佳的实施例中,针对移动终端选择执行短信收发过程的测试任务,自动测试方法如图10所示,包括:

步骤S1b,执行向自身发送短信的测试动作,并判断测试动作是否执行成功:

若测试动作执行失败,则输出相应的测试动作执行失败的测试结果,并转至步骤S4b;

本发明的较佳的实施例中,发送短信的测试动作以自定义的API接口表示为SendSMS();

步骤S2b,执行获取短信发送状态的测试动作,判断短信发送是否成功;

若短信发送失败,则输出相应的测试动作执行失败的测试结果,并转至步骤S4b;

本发明的较佳的实施例中,获取短信发送状态的测试动作以自定义的API接口表示为GetSMSState();

步骤S3b,执行获取短信接收状态的测试动作,判断短信接收是否成功;

若短信接收失败,则输出相应的测试动作执行失败的测试结果;

若短信接收成功,则输出相应的测试任务执行成功的测试结果;

本发明的较佳的实施例中,获取短信接收状态的测试动作以自定义的API接口表示为IsReceivedSMS();

步骤S4b,获取测试结果并记录,随后退出。

本发明的一个较佳的实施例中,针对移动终端选择执行彩信收发过程的测试任务,自动测试方法如图11所示,包括:

步骤S1c,执行向自身发送彩信的测试动作,并判断测试动作是否执行成功:

若测试动作执行失败,则输出相应的测试动作执行失败的测试结果,并转至步骤S4c;

本发明的较佳的实施例中,执行发送彩信的测试动作以自定义的API接口表示为SendMMS();

步骤S2c,执行获取彩信发送状态的测试动作,判断彩信发送是否成功;

若彩信发送失败,则输出相应的测试动作执行失败的测试结果,并转至步骤S4c;

本发明的较佳的实施例中,执行获取彩信发送状态的测试动作以自定义的API接口表示为GetMMSState();

步骤S3c,执行获取彩信接收状态的测试动作,判断彩信接收是否成功;

若彩信接收失败,则输出相应的测试动作执行失败的测试结果;

若彩信接收成功,则输出相应的测试任务执行成功的测试结果;

本发明的较佳的实施例中,执行获取彩信接收状态的测试动作以自定义的API接口表示为IsReceivedMMS();

步骤S4c,获取测试结果并记录,随后退出。

本发明的一个较佳的实施例中,针对移动终端选择执行开闭数据流量过程的测试任务,自动测试方法如图12所示,包括:

步骤S1d,执行打开数据流量的测试动作,并判断测试动作是否执行成功:

若测试动作执行失败,则输出相应的测试动作执行失败的测试结果,并转至步骤S5d;

本发明的较佳的实施例中,执行开启数据流量的测试动作以自定义的API接口表示为OpenDataConn();

步骤S2d,执行获取移动终端当前的数据流量状态的测试动作,判断移动终端当前是否处于数据流量开启的状态下;

若未处于数据流量开启的状态下,则输出相应的测试动作执行失败的测试结果,并转至步骤S5d;

本发明的较佳的实施例中,执行获取当前数据流量状态的测试动作以自定义的API接口表示为IsDataConnOpen();

步骤S3d,执行关闭数据流量的测试动作,判断测试动作是否执行成功;

若测试动作执行失败,则输出相应的测试动作执行失败的测试结果,并转至步骤S5d;

本发明的较佳的实施例中,执行关闭数据流量的测试动作以自定义的API接口表示为CloseDataConn();

步骤S4d,执行获取移动终端当前的数据流量状态的测试动作,判断移动终端当前是否处于数据流量开启的状态下:

若仍然处于数据流量开启的状态下,则输出相应的测试动作执行失败的测试结果;

若未处于数据流量开启的状态下,则输出相应的测试任务执行成功的测试结果;

步骤S5d,获取测试结果并记录,随后退出。

本发明的一个较佳的实施例中,针对移动终端选择致执行开闭飞行模式的测试任务,自动测试方法如图13所示,包括:

步骤S1e,执行打开飞行模式的测试动作,并判断测试动作是否执行成功:

若测试动作执行失败,则输出相应的测试动作执行失败的测试结果,并转至步骤S6e;

本发明的较佳的实施例中,执行打开飞行模式的测试动作以自定义的API接口表示为SetAirPlane();

步骤S2e,执行获取移动终端当前的飞行模式状态的测试动作,判断移动终端当前是否处于飞行模式状态下;

若未处于飞行模式状态下,则输出相应的测试动作执行失败的测试结果,并转至步骤S6e;

本发明的较佳的实施例中,执行获取当前飞行模式状态的测试动作以自定义的API接口表示为IsAirPlane();

步骤S3e,执行关闭飞行模式的测试动作,判断测试动作是否执行成功;

若测试动作执行失败,则输出相应的测试动作执行失败的测试结果,并转至步骤S6e;

本发明的较佳的实施例中,执行关闭飞行模式的测试动作以自定义的API接口表示为CancelAirPlane();

步骤S4e,执行获取移动终端当前的飞行模式状态的测试动作,判断移动终端当前是否处于飞行模式状态下:

若处于飞行模式状态下,则输出相应的测试动作执行失败的测试结果,并转至步骤S6e;

步骤S5e,执行判断用户身份是否注册成功的测试动作,判断用户身份识别信息是否注册成功;

若用户身份识别信息注册失败,则输出相应的测试任务执行失败的测试结果;

若用户身份识别信息注册成功,则输出相应的测试任务执行成功的测试结果;

本发明的较佳的实施例中,执行判断用户身份识别信息是否注册的测试动作以自定义的API接口表示为IsSimRegistered();

步骤S6e,获取测试结果并记录,随后退出。

本发明的一个较佳的实施例中,针对移动终端选择致执行切换网络模式的测试任务,自动测试方法如图14所示,包括:

步骤S1f,执行将网络模式切换至单GSM网络的测试动作,并判断测试动作是否执行成功:

若测试动作执行失败,则输出相应的测试动作执行失败的测试结果,并转至步骤S5f;

本发明的较佳的实施例中,执行切换网络模式的测试动作以自定义的API接口表示为SwitchNetworkMode();

步骤S2f,执行获取移动终端当前的网络模式状态的测试动作,判断移动终端当前是否处于单GSM网络状态下;

若未处于单GSM网络状态下,则输出相应的测试动作执行失败的测试结果,并转至步骤S5f;

本发明的较佳的实施例中,执行获取当前网络模式状态的测试动作以自定义的API接口表示为GetNetworkMode();

步骤S3f,执行将网络模式切换至单TD网络的测试动作,判断测试动作是否执行成功;

若测试动作执行失败,则输出相应的测试动作执行失败的测试结果,并转至步骤S5f;

本发明的较佳的实施例中,如上文所述,步骤S3f中执行的仍然为切换网络模式的测试动作。

步骤S4f,执行获取移动终端当前的网络模式状态的测试动作,判断移动终端当前是否处于单TD网络状态下:

若未处于单TD网络状态下,则输出相应的测试动作执行失败的测试结果;

若处于单TD网络状态下,则输出相应的测试任务执行成功的测试结果;

步骤S5f,获取测试结果并记录,随后退出。

以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。

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