软件测试方法及装置转让专利

申请号 : CN201510830032.9

文献号 : CN105320598B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈孟琪

申请人 : 广州华多网络科技有限公司

摘要 :

本发明公开了一种软件测试方法及装置,属于软件测试领域。所述方法包括:与指定服务器建立数据连接;向服务器发送测试请求,该测试请求携带测试用例标识,使得服务器获取目标测试用例并返回至少一个测试指令,该目标测试用例为测试用例标识对应的测试用例,该测试指令由指定服务器对所述目标测试用例编译得到;接收所述指定服务器发送的至少一个测试指令;执行与所述至少一个测试指令对应的测试操作。本发明通过由指定服务器提供测试用例的存储和编译,从而通过终端与指定服务器之间的数据连接,使得终端与指定服务器配合,完成在终端上软件的测试,使得服务器可以同时连接多个终端,且多个终端可以同时对软件进行测试,从而大大降低了对多个终端的测试耗时。

权利要求 :

1.一种软件测试方法,其特征在于,所述方法包括:

配置一个启动脚本,所述启动脚本包括登录信息和测试用例选择信息;

调用所述启动脚本中的登录信息,根据所述登录信息与指定服务器建立数据连接;

调用所述启动脚本中的测试用例选择信息,显示测试用例选择界面,所述测试用例选择界面上包括至少两个测试用例选项,每一个测试用例选项均对应唯一一个测试用例标识;

当终端检测到对所述至少两个测试用例选项中任一测试用例选项的触发操作后,获取所述测试用例选项对应的测试用例标识;

通过所述数据连接,向所述指定服务器发送测试请求,所述测试请求携带被触发的所述测试用例选项对应的测试用例标识,使得所述指定服务器获取目标测试用例并返回至少一个测试指令,所述指定服务器用于在接收到客户端发送的测试请求时,从所述测试请求中提取出所述测试用例标识,基于所述测试用例标识从预设测试用例数据库中获取与所述测试用例标识对应的目标测试用例,所述测试指令由所述指定服务器对所述目标测试用例编译得到;

通过所述数据连接,接收所述指定服务器发送的至少一个测试指令;

响应于所述至少一个测试指令,执行与所述至少一个测试指令对应的测试操作,以实现软件测试。

2.根据权利要求1所述的方法,其特征在于,所述与指定服务器建立数据连接包括:向所述指定服务器发送连接请求,所述连接请求携带用户标识和验证信息,使得所述指定服务器对所述连接请求进行验证;

在所述指定服务器验证通过后,与所述指定服务器建立数据连接。

3.根据权利要求1所述的方法,其特征在于,所述执行与所述至少一个测试指令对应的测试操作之后,所述方法还包括:记录每个测试操作的测试结果,将所述测试结果发送至目标设备,所述目标设备为所述指定服务器、指定客户端或所述指定服务器以外的另一服务器。

4.一种软件测试方法,其特征在于,所述方法包括:

与终端建立数据连接,所述终端用于调用启动脚本中的登录信息,根据所述登录信息建立所述数据连接,所述启动脚本包括所述登录信息和测试用例选择信息;

通过所述数据连接,接收所述终端发送的测试请求,所述测试请求携带测试用例标识,所述终端用于调用所述启动脚本中的测试用例选择信息,显示测试用例选择界面,所述测试用例选择界面上包括至少两个测试用例选项,每一个测试用例选项均对应唯一一个测试用例标识,当检测到对所述至少两个测试用例选项中任一测试用例选项的触发操作后,获取所述测试用例选项对应的所述测试用例标识,发送所述测试请求;

从所述测试请求中提取出所述测试用例标识,基于所述测试用例标识从预设测试用例数据库中获取与所述测试用例标识对应的目标测试用例,所述预设测试用例数据库用于存储测试用例;

对所述目标测试用例进行编译,得到至少一个测试指令,并向所述终端发送所述至少一个测试指令,使得所述终端响应于所述至少一个测试指令,执行与所述至少一个测试指令对应的测试操作,以实现软件测试。

5.根据权利要求4所述的方法,其特征在于,所述与终端建立数据连接包括:接收所述终端发送的连接请求,所述连接请求携带用户标识和验证信息;

根据所述用户标识和验证信息对所述连接请求进行验证;

若所述连接请求验证通过,则与所述终端建立数据连接。

6.根据权利要求4所述的方法,其特征在于,所述向所述终端发送所述至少一个测试指令之后,所述方法还包括:接收所述终端发送的测试操作的测试结果。

7.一种软件测试装置,其特征在于,所述装置包括:

连接模块,用于配置一个启动脚本,所述启动脚本包括登录信息和测试用例选择信息;

调用所述启动脚本中的登录信息,根据所述登录信息与指定服务器建立数据连接;

请求测试模块,用于调用所述启动脚本中的测试用例选择信息,显示测试用例选择界面,所述测试用例选择界面上包括至少两个测试用例选项,每一个测试用例选项均对应唯一一个测试用例标识;当终端检测到对所述至少两个测试用例选项中任一测试用例选项的触发操作后,获取所述测试用例选项对应的测试用例标识;通过所述连接模块所建立的数据连接,向所述指定服务器发送测试请求,所述测试请求携带被触发的所述测试用例选项对应的测试用例标识,使得所述指定服务器获取目标测试用例并返回至少一个测试指令,所述指定服务器用于在接收到客户端发送的测试请求时,从所述测试请求中提取出所述测试用例标识,基于所述测试用例标识从预设测试用例数据库中获取与所述测试用例标识对应的目标测试用例,所述测试指令由所述指定服务器对所述目标测试用例编译得到;

指令接收模块,用于通过所述连接模块所建立的数据连接,接收所述指定服务器发送的至少一个测试指令;

测试模块,用于响应于所述指令接收模块接收的至少一个测试指令,执行与所述至少一个测试指令对应的测试操作,以实现软件测试。

8.根据权利要求7所述的装置,其特征在于,所述连接模块用于向所述指定服务器发送连接请求,所述连接请求携带用户标识和验证信息,使得所述指定服务器对所述连接请求进行验证;在所述指定服务器验证通过后,与所述指定服务器建立数据连接。

9.根据权利要求7所述的装置,其特征在于,所述装置还包括:

测试结果发送模块,用于记录每个测试操作的测试结果,将所述测试结果发送至目标设备,所述目标设备为所述指定服务器、指定客户端或所述指定服务器以外的另一服务器。

10.一种软件测试装置,其特征在于,所述装置包括:

连接模块,用于与终端建立数据连接,所述终端用于调用启动脚本中的登录信息,根据所述登录信息建立所述数据连接,所述启动脚本包括所述登录信息和测试用例选择信息;

测试请求接收模块,用于通过所述连接模块所建立的数据连接,接收所述终端发送的测试请求,所述测试请求携带测试用例标识,所述终端用于调用所述启动脚本中的测试用例选择信息,显示测试用例选择界面,所述测试用例选择界面上包括至少两个测试用例选项,每一个测试用例选项均对应唯一一个测试用例标识,当检测到对所述至少两个测试用例选项中任一测试用例选项的触发操作后,获取所述测试用例选项对应的所述测试用例标识,发送所述测试请求;

获取模块,用于从所述测试请求中提取出所述测试用例标识,基于所述测试用例标识从预设测试用例数据库中获取与所述测试用例标识对应的目标测试用例,所述预设测试用例数据库用于存储测试用例;

编译模块,用于对所述获取模块获取的目标测试用例进行编译,得到至少一个测试指令,并向所述终端发送所述至少一个测试指令,使得所述终端响应于所述至少一个测试指令,执行与所述至少一个测试指令对应的测试操作,以实现软件测试。

11.根据权利要求10所述的装置,其特征在于,所述连接模块用于接收所述终端发送的连接请求,所述连接请求携带用户标识和验证信息;根据所述用户标识和验证信息对所述连接请求进行验证;若所述连接请求验证通过,则与所述终端建立数据连接。

12.根据权利要求10所述的装置,其特征在于,所述装置还包括:

测试结果接收模块,用于接收所述终端发送的测试操作的测试结果。

说明书 :

软件测试方法及装置

技术领域

[0001] 本发明涉及软件测试领域,特别涉及一种软件测试方法及装置。

背景技术

[0002] 软件测试是软件开发过程中的一个重要环节,主要用来判断软件的可靠性和发现软件运行过程中的缺陷和错误。当前,移动APP(Application,应用程序)已经进入每个人的生活、娱乐、学习当中,在移动APP开发的过程中,由于不同终端的操作系统、版本、分辨率等存在差异,因此,测试人员需要基于不同类型的终端对移动APP进行测试。
[0003] 现有技术中,测试人员需要通过USB(Universal Serial Bus,通用串行总线)、串口等有线连接方式将终端和测试PC(Personal Computer,个人电脑)连接,测试PC将在其上存储的测试用例编译成测试指令,并向终端发送测试指令,终端通过执行上述测试指令对应的操作,实现对终端中的移动APP的自动化测试。
[0004] 在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005] 一台测试PC往往只能连接数量较少的终端,若需要测试数量较多的终端,则往往耗时较长。

发明内容

[0006] 为了解决现有技术的问题,本发明实施例提供了一种软件测试方法及装置。所述技术方案如下:
[0007] 第一方面,提供了一种软件测试方法,所述方法包括:
[0008] 与指定服务器建立数据连接;
[0009] 通过所述数据连接,向所述指定服务器发送测试请求,所述测试请求携带测试用例标识,使得所述指定服务器获取目标测试用例并返回至少一个测试指令,所述目标测试用例为所述测试用例标识对应的测试用例,所述测试指令由所述指定服务器对所述目标测试用例编译得到;
[0010] 通过所述数据连接,接收所述指定服务器发送的至少一个测试指令;
[0011] 响应于所述至少一个测试指令,执行与所述至少一个测试指令对应的测试操作,以实现软件测试。
[0012] 可选的,所述与指定服务器建立数据连接包括:
[0013] 向所述指定服务器发送连接请求,所述连接请求携带用户标识和验证信息,使得所述指定服务器对所述连接请求进行验证;
[0014] 在所述指定服务器验证通过后,与所述指定服务器建立数据连接。
[0015] 可选的,所述执行与所述至少一个测试指令对应的测试操作之后,所述方法还包括:
[0016] 记录每个测试操作的测试结果,将所述测试结果发送至目标设备,所述目标设备为所述指定服务器、指定客户端或所述指定服务器以外的另一服务器。
[0017] 第二方面,提供了一种软件测试方法,所述方法包括:
[0018] 与终端建立数据连接;
[0019] 通过所述数据连接,接收所述终端发送的测试请求,所述测试请求携带测试用例标识;
[0020] 根据所述测试用例标识,从预设测试用例数据库中,获取目标测试用例,所述预设测试用例数据库用于存储测试用例;
[0021] 对所述目标测试用例进行编译,得到至少一个测试指令,并向所述终端发送所述至少一个测试指令,使得所述终端响应于所述至少一个测试指令,执行与所述至少一个测试指令对应的测试操作,以实现软件测试。
[0022] 可选的,所述与终端建立数据连接包括:
[0023] 接收所述终端发送的连接请求,所述连接请求携带用户标识和验证信息;
[0024] 根据所述用户标识和验证信息对所述连接请求进行验证;
[0025] 若所述连接请求验证通过,则与所述终端建立数据连接。
[0026] 可选的,所述向所述终端发送所述至少一个测试指令之后,所述方法还包括:
[0027] 接收所述终端发送的测试操作的测试结果。
[0028] 第三方面,提供了一种软件测试装置,所述装置包括:
[0029] 连接模块,用于与指定服务器建立数据连接;
[0030] 请求测试模块,用于通过所述连接模块所建立的数据连接,向所述指定服务器发送测试请求,所述测试请求携带测试用例标识,使得所述指定服务器获取目标测试用例并返回至少一个测试指令,所述目标测试用例为所述测试用例标识对应的测试用例,所述测试指令由所述指定服务器对所述目标测试用例编译得到;
[0031] 指令接收模块,用于通过所述连接模块所建立的数据连接,接收所述指定服务器发送的至少一个测试指令;
[0032] 测试模块,用于响应于所述指令接收模块接收的至少一个测试指令,执行与所述至少一个测试指令对应的测试操作,以实现软件测试。
[0033] 可选的,所述连接模块用于:
[0034] 向所述指定服务器发送连接请求,所述连接请求携带用户标识和验证信息,使得所述指定服务器对所述连接请求进行验证;在所述指定服务器验证通过后,与所述指定服务器建立数据连接。
[0035] 可选的,所述装置还包括:
[0036] 测试结果发送模块,用于记录每个测试操作的测试结果,将所述测试结果发送至目标设备,所述目标设备为所述指定服务器、指定客户端或所述指定服务器以外的另一服务器。
[0037] 第四方面,提供了一种软件测试装置,其特征在于,所述装置包括:
[0038] 连接模块,用于与终端建立数据连接;
[0039] 测试请求接收模块,用于通过所述连接模块所建立的数据连接,接收所述终端发送的测试请求,所述测试请求携带测试用例标识;
[0040] 获取模块,用于根据所述测试用例标识,从预设测试用例数据库中,获取目标测试用例,所述预设测试用例数据库用于存储测试用例;
[0041] 编译模块,用于对所述获取模块获取的目标测试用例进行编译,得到至少一个测试指令,并向所述终端发送所述至少一个测试指令,使得所述终端响应于所述至少一个测试指令,执行与所述至少一个测试指令对应的测试操作,以实现软件测试。
[0042] 可选的,所述连接模块用于:
[0043] 接收所述终端发送的连接请求,所述连接请求携带用户标识和验证信息;根据所述用户标识和验证信息对所述连接请求进行验证;若所述连接请求验证通过,则与所述终端建立数据连接。
[0044] 可选的,所述装置还包括:
[0045] 测试结果接收模块,用于接收所述终端发送的测试操作的测试结果。
[0046] 本发明实施例提供的技术方案带来的有益效果是:
[0047] 通过终端与服务器建立数据连接,并且终端执行服务器基于目标测试用例编译的测试指令,完成终端中软件的测试,使得服务器可以同时连接多个终端,且多个终端可以同时对软件进行测试,从而大大降低了对多个终端的测试耗时。

附图说明

[0048] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0049] 图1是本发明实施例提供的一种软件测试方法流程图。
[0050] 图2是本发明实施例提供的一种软件测试方法流程图。
[0051] 图3是本发明实施例提供的一种软件测试方法流程图。
[0052] 图4是本发明实施例提供的一种软件测试装置结构示意图。
[0053] 图5是本发明实施例提供的一种软件测试装置结构示意图。
[0054] 图6是本发明实施例提供的一种软件测试装置结构示意图。
[0055] 图7是本发明实施例提供的一种软件测试装置结构示意图。
[0056] 图8是本发明实施例提供的一种终端的框图。
[0057] 图9是本发明实施例提供的一种用于软件测试的装置900的框图。

具体实施方式

[0058] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0059] 请参考图1,其示出了本发明一个实施例提供的软件测试方法的流程图。如图1所示,该软件测试方法可以包括但不限于以下步骤:
[0060] 110、终端与指定服务器建立数据连接。
[0061] 120、通过上述数据连接,终端向指定服务器发送测试请求,该测试请求携带测试用例标识,使得指定服务器获取目标测试用例并返回至少一个测试指令,该目标测试用例为该测试用例标识对应的测试用例,该测试指令由指定服务器对目标测试用例编译得到。
[0062] 130、通过上述数据连接,终端接收指定服务器发送的至少一个测试指令。
[0063] 140、响应于该至少一个测试指令,终端执行与该至少一个测试指令对应的测试操作,以实现软件测试。
[0064] 综上,本实施例提供的软件测试方法,通过由指定服务器提供测试用例的存储和编译,从而通过终端与指定服务器之间的数据连接,使得终端与指定服务器配合,完成在终端上软件的测试,使得服务器可以同时连接多个终端,且多个终端可以同时对软件进行测试,从而大大降低了对多个终端的测试耗时。
[0065] 在第一种可能的实施方式中,与指定服务器建立数据连接包括:
[0066] 向指定服务器发送连接请求,该连接请求携带用户标识和验证信息,使得指定服务器对该连接请求进行验证;
[0067] 在指定服务器验证通过后,与指定服务器建立数据连接。
[0068] 在第二种可能的实施方式中,执行与至少一个测试指令对应的测试操作之后,上述软件测试方法还包括:
[0069] 记录每个测试操作的测试结果,将测试结果发送至目标设备,该目标设备为指定服务器、指定客户端或指定服务器以外的另一服务器。
[0070] 上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
[0071] 请参考图2,其示出了本发明一个实施例提供的软件测试方法的流程图。如图2所示,该软件测试方法可以包括但不限于以下步骤:
[0072] 210、服务器与终端建立数据连接。
[0073] 220、通过数据连接,服务器接收终端发送的测试请求,该测试请求携带测试用例标识。
[0074] 230、服务器根据该测试用例标识,从预设测试用例数据库中,获取目标测试用例,该预设测试用例数据库用于存储测试用例。
[0075] 240、服务器对目标测试用例进行编译,得到至少一个测试指令,并向终端发送该至少一个测试指令,使得终端响应于该至少一个测试指令,执行与该至少一个测试指令对应的测试操作,以实现软件测试。
[0076] 综上,本实施例提供的软件测试方法,通过由指定服务器提供测试用例的存储和编译,从而通过终端与指定服务器之间的数据连接,使得终端与指定服务器配合,完成在终端上软件的测试,使得服务器可以同时连接多个终端,且多个终端可以同时对软件进行测试,从而大大降低了对多个终端的测试耗时。
[0077] 在第一种可能的实施方式中,与终端建立数据连接包括:
[0078] 接收终端发送的连接请求,该连接请求携带用户标识和验证信息;
[0079] 根据用户标识和验证信息对连接请求进行验证;
[0080] 若连接请求验证通过,则与终端建立数据连接。
[0081] 在第二种可能的实施方式中,向终端发送该至少一个测试指令之后,上述软件测试方法还包括:
[0082] 接收终端发送的测试操作的测试结果。
[0083] 上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
[0084] 请参考图3,其示出了本发明一个实施例提供的软件测试方法的流程图。如图3所示,该软件测试方法可以包括但不限于以下步骤:
[0085] 301、终端向指定服务器发送连接请求,该连接请求携带用户标识和验证信息。
[0086] 上述指定服务器可以维护一预设测试用例数据库,该预设测试用例数据库用于存储至少一个软件的多个测试用例,一个测试用例对应唯一一个测试用例标识。上述测试用例指的是为了某个测试目的而编制的一组测试代码,一个测试用例可以对软件的一个功能或一个模块进行测试,例如:疲劳强度测试用例可以用来测试软件在系统资源不足的情况下是否会出现缺陷,功能测试用例可以测试软件对数据的接收、处理以及检索是否存在缺陷。
[0087] 此外,上述指定服务器还可以对测试用例进行编译,得到相应的测试指令并发送给终端,终端响应于该测试指令而执行相应的测试操作,从而实现对终端中软件的测试。
[0088] 另外,为了保护服务器的安全,防止非法用户登录服务器,终端需要在连接请求中携带用户标识和验证信息,以供指定服务器对终端的身份进行验证,该用户标识可以用来反映用户的软件测试权限。其中,用户标识可以是用户的ID(Identifier,身份标识)、用户名或者终端的设备身份标识等,验证信息可以是与用户标识对应的密码等信息,本发明对此不做具体限定。
[0089] 具体地,终端中可以配置一个启动脚本,该启动脚本可以包括登录信息和测试用例选择信息。其中登录信息可以用于登录指定服务器,例如该登录信息可以包括登录指定服务器的用户标识和验证信息,或者该登录信息可以提供用户标识和验证信息输入选项,当终端检测到该输入选项被触发后,即获取输入的用户标识和验证信息;测试用例选择信息可供测试人员选择不同的测试用例对终端中的软件进行测试。
[0090] 当测试人员需要对终端中的软件进行测试时,即调用终端中的启动脚本,终端向指定服务器发送连接请求,该连接请求携带用户标识和验证信息,后续步骤中,测试人员还可以通过启动脚本中的测试用例选择信息选择不同的测试用例以实现对终端中软件的某一模块或某一功能进行针对性的测试。
[0091] 302、该指定服务器接收终端发送的连接请求。
[0092] 303、该指定服务器根据用户标识和验证信息对连接请求进行验证。
[0093] 指定服务器接收到终端发送的连接请求后,从该连接请求中提取出用户标识和验证信息,而后对该用户标识和验证信息进行验证。验证的具体过程如下:指定服务器访问账号数据库,从该账号数据库中获取与该用户标识对应的验证信息,指定服务器将从上述账号数据库中获取的验证信息和从连接请求中提取的验证信息进行比较,若从上述账号数据库中获取的验证信息和从连接请求中提取的验证信息完全一致,则该连接请求验证通过,反之,则该连接请求未验证通过。
[0094] 304、若连接请求验证通过,则该指定服务器与终端建立数据连接。
[0095] 需要说明的是,该数据连接可以是一个长连接,也可以是一个短连接。所谓长连接指的是指定服务器与终端一直保持数据连接,而所谓短连接指的是只有在指定服务器和终端存在数据交互时,指定服务器和终端才建立连接,在一次数据传输后,即断开连接,下一次需要进行交互时,再重新建立连接,上述数据交互可以包括指定服务器向终端发送测试指令、终端向服务器发送测试请求等。
[0096] 305、通过上述数据连接,终端向该指定服务器发送测试请求,该测试请求携带测试用例标识。
[0097] 在上述数据连接建立成功后,终端调用启动脚本中的测试用例选择信息,显示测试用例选择界面,该测试用例选择界面上可以包括多个测试用例选项,每一个测试用例选项均对应唯一一个测试用例标识。当终端检测到对任一个测试用例选项的触发操作后,即获取该测试用例选项对应的测试用例标识,同时终端向服务器发送测试请求,该测试请求携带被触发的测试用例选项对应的测试用例标识。
[0098] 306、通过上述数据连接,该指定服务器接收终端发送的测试请求。
[0099] 307、该指定服务器根据测试用例标识,从预设测试用例数据库中,获取目标测试用例,该预设测试用例数据库用于存储测试用例。
[0100] 指定服务器在接收到客户端发送的测试请求后,从该测试请求中提取出测试用例标识,并基于该测试用例标识从预设测试用例数据库中检索与其对应的目标测试用例,并获取该目标测试用例。
[0101] 在本发明的一个实施例中,测试人员可以利用与指定服务器连接的测试终端,将测试用例写入该预设测试用例数据库中。
[0102] 308、该指定服务器对目标测试用例进行编译,得到至少一个测试指令,并向终端发送该至少一个测试指令。
[0103] 终端和指定服务器使用的系统并不一致,这就导致指定服务器和终端能识别的机器语言也不一致,因此,终端并不能直接识别和运行上述目标测试用例,所以在对终端中的软件进行测试之前,指定服务器需要对目标测试用例进行编译,得到至少一个测试指令,该至少一个测试指令可以被终端识别并执行。
[0104] 需要说明的是,指定服务器可以按照一定的顺序向终端发送该至少一个测试指令,例如,指定服务器可以按照编译的顺序向终端发送该至少一个测试指令,也可以按照测试人员的设置向终端发送该至少一个测试指令等。或者,指定服务器还可以向终端同时发送该至少一个测试指令,另终端对该至少一个测试指令同时响应或顺序响应。
[0105] 309、通过上述数据连接,终端接收该指定服务器发送的至少一个测试指令。
[0106] 310、终端响应于该至少一个测试指令,执行与该至少一个测试指令对应的测试操作,以实现软件测试。
[0107] 终端接收指定服务器发送的至少一个测试指令,并执行该测试指令对应的操作,例如,该测试指令对应的操作可以为对软件的某一选项连续多次触发,终端执行这一测试指令对应的操作,从而测试该选项在多次触发后软件是否会出现故障。
[0108] 在本发明的一个实施例中,上述软件测试方法还可以包括步骤311和步骤312的内容。
[0109] 311、终端记录每个测试操作的测试结果,将该测试结果发送至目标设备,该目标设备为该指定服务器、指定客户端或该指定服务器以外的另一服务器。
[0110] 每一个测试操作完成后,终端均会生成对应该测试操作的测试结果,该测试结果可以包括软件运行参数、软件运行的硬件环境参数、软件故障代号等,终端需要向目标设备发送该测试结果,以便测试人员对该软件进行针对性的调试。
[0111] 需要说明的是,终端可以仅发送软件出现故障的测试结果而不发送软件正常运行的测试结果,终端可以在每一个测试操作完成后发送相应的测试结果,也可以在对终端中的某一软件全部测试完成后发送综合测试结果,该综合测试结果包含该软件所有测试操作的测试结果,本发明对终端发送测试结果的时机和测试结果的内容不做具体限定。
[0112] 312、该指定服务器接收终端发送的测试操作的测试结果。
[0113] 进一步地,该指定服务器接收到该测试结果后,还可以对该测试结果进行分析。例如,该指定服务器可以将该测试结果按照不同终端系统类型进行分类,还可以分析测试结果中示出的软件故障代号对应的故障类型等,本发明对此也不做具体限定。
[0114] 综上,本实施例提供的软件测试方法,通过由指定服务器提供测试用例的存储和编译,从而通过终端与指定服务器之间的数据连接,使得终端与指定服务器配合,完成在终端上软件的测试,使得服务器可以同时连接多个终端,且多个终端可以同时对软件进行测试,从而大大降低了对多个终端的测试耗时。
[0115] 请参考图4,其示出了本发明一个实施例提供的软件测试装置400的结构示意图。如图4所示,该软件测试装置可以包括:连接模块410、请求测试模块420、指令接收模块430、测试模块440。
[0116] 该连接模块410,用于与指定服务器建立数据连接。
[0117] 该请求测试模块420,用于通过连接模块410所建立的数据连接,向指定服务器发送测试请求,该测试请求携带测试用例标识,使得指定服务器获取目标测试用例并返回至少一个测试指令,该目标测试用例为该测试用例标识对应的测试用例,该测试指令由指定服务器对该目标测试用例编译得到。
[0118] 该指令接收模块430,用于通过连接模块410所建立的数据连接,接收指定服务器发送的至少一个测试指令。
[0119] 该测试模块440,用于响应于指令接收模块430接收的至少一个测试指令,执行与该至少一个测试指令对应的测试操作,以实现软件测试。
[0120] 在本发明的一个实施例中,连接模块410用于:向指定服务器发送连接请求,该连接请求携带用户标识和验证信息,使得指定服务器对该连接请求进行验证;在指定服务器验证通过后,与指定服务器建立数据连接。
[0121] 参见图5,在本发明的另一个实施例中,还提供了另一种软件测试装置500,该装置基于上述图4的实施例结构,还包括:
[0122] 测试结果发送模块450,用于记录每个测试操作的测试结果,将该测试结果发送至目标设备,该目标设备为指定服务器、指定客户端或指定服务器以外的另一服务器。
[0123] 综上,本实施例提供的软件测试装置,通过由指定服务器提供测试用例的存储和编译,从而通过终端与指定服务器之间的数据连接,使得终端与指定服务器配合,完成在终端上软件的测试,使得服务器可以同时连接多个终端,且多个终端可以同时对软件进行测试,从而大大降低了对多个终端的测试耗时。
[0124] 请参考图6,其示出了本发明一个实施例提供的软件测试装置600的结构示意图。如图6所示,该软件测试装置可以包括:连接模块610、测试请求接收模块620、获取模块630、编译模块640。
[0125] 该连接模块610,用于与终端建立数据连接。
[0126] 该测试请求接收模块620,用于通过连接模块610所建立的数据连接,接收终端发送的测试请求,该测试请求携带测试用例标识。
[0127] 该获取模块630,用于根据该测试用例标识,从预设测试用例数据库中,获取目标测试用例,该预设测试用例数据库用于存储测试用例。
[0128] 该编译模块640,用于对获取模块630获取的目标测试用例进行编译,得到至少一个测试指令,并向终端发送该至少一个测试指令,使得终端响应于该至少一个测试指令,执行与该至少一个测试指令对应的测试操作,以实现软件测试。
[0129] 在本发明的一个实施例中,连接模块610用于:接收终端发送的连接请求,该连接请求携带用户标识和验证信息;根据该用户标识和验证信息对该连接请求进行验证;若该连接请求验证通过,则与终端建立数据连接。
[0130] 参见图7,在本发明的另一个实施例中,还提供了另一种软件测试装置700,该装置基于上述图6的实施例结构,还包括:
[0131] 测试结果接收模块650,用于接收终端发送的测试操作的测试结果。
[0132] 综上,本实施例提供的软件测试装置,通过由指定服务器提供测试用例的存储和编译,从而通过终端与指定服务器之间的数据连接,使得终端与指定服务器配合,完成在终端上软件的测试,使得服务器可以同时连接多个终端,且多个终端可以同时对软件进行测试,从而大大降低了对多个终端的测试耗时。
[0133] 需要说明的是:上述实施例提供的软件测试装置在进行软件测试时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的软件测试装置与软件测试方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0134] 本实施例提供了一种终端,该终端可以用于执行上述各个实施例中提供的软件测试方法。参见图8,该终端800包括:
[0135] 终端800可以包括RF(Radio Frequency,射频)电路810、包括有一个或一个以上计算机可读存储介质的存储器820、输入单元830、显示单元840、传感器850、音频电路860、WiFi(Wireless Fidelity,无线保真)模块870、包括有一个或者一个以上处理核心的处理器810、以及电源80等部件。本领域技术人员可以理解,图8中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0136] RF电路810可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器810处理;另外,将涉及上行的数据发送给基站。通常,RF电路810包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路810还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。
[0137] 存储器820可用于存储软件程序以及模块,处理器810通过运行存储在存储器820的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器820可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端800的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器820还可以包括存储器控制器,以提供处理器810和输入单元830对存储器
820的访问。
[0138] 输入单元830可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元830可包括触敏表面831以及其他输入设备832。触敏表面831,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面831上或在触敏表面831附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面831可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器810,并能接收处理器810发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面831。除了触敏表面831,输入单元830还可以包括其他输入设备832。具体地,其他输入设备832可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0139] 显示单元840可用于显示由用户输入的信息或提供给用户的信息以及终端800的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元840可包括显示面板841,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板
841。进一步的,触敏表面831可覆盖显示面板841,当触敏表面831检测到在其上或附近的触摸操作后,传送给处理器810以确定触摸事件的类型,随后处理器810根据触摸事件的类型在显示面板841上提供相应的视觉输出。虽然在图8中,触敏表面831与显示面板841是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面831与显示面板841集成而实现输入和输出功能。
[0140] 终端800还可包括至少一种传感器850,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板841的亮度,接近传感器可在终端800移动到耳边时,关闭显示面板841和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端800还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
[0141] 音频电路860、扬声器861,传声器862可提供用户与终端800之间的音频接口。音频电路860可将接收到的音频数据转换后的电信号,传输到扬声器861,由扬声器861转换为声音信号输出;另一方面,传声器862将收集的声音信号转换为电信号,由音频电路860接收后转换为音频数据,再将音频数据输出处理器810处理后,经RF电路810以发送给比如另一终端,或者将音频数据输出至存储器820以便进一步处理。音频电路860还可能包括耳塞插孔,以提供外设耳机与终端800的通信。
[0142] WiFi属于短距离无线传输技术,终端800通过WiFi模块870可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图8示出了WiFi模块870,但是可以理解的是,其并不属于终端800的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
[0143] 处理器810是终端800的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器820内的软件程序和/或模块,以及调用存储在存储器820内的数据,执行终端800的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器810可包括一个或多个处理核心;优选的,处理器810可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器810中。
[0144] 终端800还包括给各个部件供电的电源80(比如电池),优选的,电源可以通过电源管理系统与处理器810逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源80还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0145] 尽管未示出,终端800还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端的显示单元是触摸屏显示器,终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。所述一个或者一个以上程序包含用于执行以下操作的指令:
[0146] 与指定服务器建立数据连接;通过上述数据连接,向指定服务器发送测试请求,该测试请求携带测试用例标识,使得指定服务器获取目标测试用例并返回至少一个测试指令,该目标测试用例为该测试用例标识对应的测试用例,该测试指令由指定服务器对所述目标测试用例编译得到;通过上述数据连接,接收指定服务器发送的至少一个测试指令;响应于该至少一个测试指令,执行与该至少一个测试指令对应的测试操作,以实现软件测试。
[0147] 图9是根据一示例性实施例示出的一种用于软件测试的装置900的框图。例如,装置900可以被提供为一服务器。参照图9,装置900包括处理组件922,其进一步包括一个或多个处理器,以及由存储器932所代表的存储器资源,用于存储可由处理部件922的执行的指令,例如应用程序。存储器932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件922被配置为执行指令,以执行上述软件测试方法。
[0148] 装置900还可以包括一个电源组件926被配置为执行装置900的电源管理,一个有线或无线网络接口950被配置为将装置900连接到网络,和一个输入输出(I/O)接口958。装置900可以操作基于存储在存储器932的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
[0149] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0150] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。