测试业务功能的方法、系统、装置、代理设备和存储介质转让专利

申请号 : CN201910204956.6

文献号 : CN109889410B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 卢行健胡大磊陈道光马骏孙大川

申请人 : 北京达佳互联信息技术有限公司

摘要 :

本公开是关于一种测试业务功能的方法、装置、代理设备和可读存储介质,涉及测试技术领域,方法包括:接收测试终端发送的第一测试请求,第一测试请求用于指示对目标业务功能进行测试;从预先存储的业务功能和任务的对应关系中,获取目标业务功能对应的目标任务,目标任务为测试目标业务功能之前需要执行的任务;执行第二测试请求,并获取第二测试请求的执行结果,其中,第二测试请求用于指示执行目标任务,并对目标业务功能进行测试;将执行结果中对应目标业务功能的测试结果返回至测试终端。采用本公开可以降低测试复杂度。

权利要求 :

1.一种测试业务功能的方法,其特征在于,所述方法应用于代理设备,所述方法包括:接收测试终端发送的第一测试请求,所述第一测试请求用于指示对目标业务功能进行测试;

从预先存储的业务功能和任务的对应关系中,获取所述目标业务功能对应的目标任务,所述目标任务为测试所述目标业务功能之前需要执行的任务;

执行第二测试请求,以执行所述目标任务并对所述目标业务功能进行测试,并获取所述第二测试请求的执行结果,其中,所述第二测试请求用于指示执行所述目标任务,并对所述目标业务功能进行测试;

将所述执行结果中对应所述目标业务功能的测试结果返回至所述测试终端。

2.根据权利要求1所述的方法,其特征在于,在所述执行第二测试请求,并获取所述第二测试请求的执行结果的步骤之前,所述方法还包括:生成所述第二测试请求,其中,所述第二测试请求中携带有用于执行所述目标任务和对所述目标业务功能进行测试的第一身份信息。

3.根据权利要求2所述的方法,其特征在于,所述生成所述第二测试请求的步骤包括:从预先存储的业务功能和身份信息的对应关系中,获取所述目标业务功能对应的第一身份信息;

根据所述第一身份信息对所述第一测试请求中携带的第二身份信息进行修改,并根据修改后的测试请求生成第二测试请求。

4.根据权利要求2所述的方法,其特征在于,所述将所述执行结果中对应所述目标业务功能的测试结果返回至所述测试终端的步骤,包括:判断所述执行结果中对应所述目标业务功能的测试结果是否包含所述第一身份信息;

如果所述测试结果中包含所述第一身份信息,则将所述测试结果中的所述第一身份信息修改为所述第一测试请求中携带的第二身份信息;

将修改后的测试结果返回至所述测试终端。

5.根据权利要求2所述的方法,其特征在于,所述方法还包括:接收所述测试终端发送的第一密钥;

通过所述第一密钥对本地存储的身份信息原文进行加密,得到第一身份信息,以使所述业务服务器在接收到所述第二测试请求后,根据所述第一密钥对应的第二密钥和所述第一身份信息进行身份信息验证,并在验证通过后,向所述代理设备发送所述第二测试请求对应执行结果。

6.根据权利要求1所述的方法,其特征在于,所述执行第二测试请求,并获取所述第二测试请求的执行结果的步骤包括:向所述业务服务器发送所述第二测试请求,并接收所述业务服务器返回的所述执行结果。

7.一种测试业务功能的系统,其特征在于,所述系统包括测试终端和代理设备,其中:所述测试终端,用于在接收到针对目标业务功能的测试指令后,向所述代理设备发送第一测试请求,所述第一测试请求用于指示对目标业务功能进行测试;

所述代理设备,用于从预先存储的业务功能和任务的对应关系中,获取所述目标业务功能对应的目标任务,所述目标任务为测试所述目标业务功能之前需要执行的任务;执行第二测试请求,以执行所述目标任务并对所述目标业务功能进行测试,并获取所述第二测试请求的执行结果,其中,所述第二测试请求用于指示执行所述目标任务,并对所述目标业务功能进行测试;将所述执行结果中对应所述目标业务功能的测试结果返回至所述测试终端。

8.根据权利要求7所述的系统,其特征在于,

所述代理设备,还用于生成所述第二测试请求,其中,所述第二测试请求中携带有用于执行所述目标任务和对所述目标业务功能进行测试的第一身份信息。

9.根据权利要求8所述的系统,其特征在于,

所述代理设备,还用于从预先存储的业务功能和身份信息的对应关系中,获取所述目标业务功能对应的第一身份信息;根据所述第一身份信息对所述第一测试请求中携带的第二身份信息进行修改,并根据修改后的测试请求生成第二测试请求。

10.根据权利要求8所述的系统,其特征在于,

所述代理设备,还用于判断所述执行结果中对应所述目标业务功能的测试结果是否包含所述第一身份信息;如果所述测试结果中包含所述第一身份信息,则将所述测试结果中的所述第一身份信息修改为所述第一测试请求中携带的第二身份信息;将修改后的测试结果返回至所述测试终端。

11.根据权利要求8所述的系统,其特征在于,所述系统还包括业务服务器;

所述代理设备,还用于接收所述测试终端发送的第一密钥;通过所述第一密钥对本地存储的身份信息原文进行加密,得到第一身份信息;

所述业务服务器,还用于在接收到所述第二测试请求后,根据所述第一密钥对应的第二密钥和所述第一身份信息进行身份信息验证,并在验证通过后,向所述代理设备发送所述第二测试请求对应执行结果。

12.根据权利要求7所述的系统,其特征在于,所述系统还包括业务服务器;

所述代理设备,还用于向所述业务服务器发送所述第二测试请求;

所述业务服务器,用于执行所述第二测试请求,并向所述代理设备返回所述第二测试请求的执行结果;

所述代理设备,还用于接收所述业务服务器返回的所述执行结果。

13.一种测试业务功能的装置,其特征在于,所述装置应被配置为代理设备,所述装置包括:第一接收单元,被配置为接收测试终端发送的第一测试请求,所述第一测试请求被配置为指示对目标业务功能进行测试;

获取单元,被配置为从预先存储的业务功能和任务的对应关系中,获取所述目标业务功能对应的目标任务,所述目标任务为测试所述目标业务功能之前需要执行的任务;

执行单元,被配置为执行第二测试请求,以执行所述目标任务并对所述目标业务功能进行测试,并获取所述第二测试请求的执行结果,其中,所述第二测试请求被配置为指示执行所述目标任务,并对所述目标业务功能进行测试;

发送单元,被配置为将所述执行结果中对应所述目标业务功能的测试结果返回至所述测试终端。

14.根据权利要求13所述的装置,其特征在于,所述装置还包括:生成单元,被配置为生成所述第二测试请求,其中,所述第二测试请求中携带有被配置为执行所述目标任务和对所述目标业务功能进行测试的第一身份信息。

15.根据权利要求14所述的装置,其特征在于,所述生成单元,还配置为:从预先存储的业务功能和身份信息的对应关系中,获取所述目标业务功能对应的第一身份信息;

根据所述第一身份信息对所述第一测试请求中携带的第二身份信息进行修改,并根据修改后的测试请求生成第二测试请求。

16.根据权利要求14所述的装置,其特征在于,所述发送单元,还被配置为:判断所述执行结果中对应所述目标业务功能的测试结果是否包含所述第一身份信息;

如果所述测试结果中包含所述第一身份信息,则将所述测试结果中的所述第一身份信息修改为所述第一测试请求中携带的第二身份信息;

将修改后的测试结果返回至所述测试终端。

17.根据权利要求14所述的装置,其特征在于,所述装置还包括:第二接收单元,被配置为接收所述测试终端发送的第一密钥;

加密单元,被配置为通过所述第一密钥对本地存储的身份信息原文进行加密,得到第一身份信息,以使所述业务服务器在接收到所述第二测试请求后,根据所述第一密钥对应的第二密钥和所述第一身份信息进行身份信息验证,并在验证通过后,向所述代理设备发送所述第二测试请求对应执行结果。

18.根据权利要求13所述的装置,其特征在于,所述执行单元,还被配置为:向所述业务服务器发送所述第二测试请求,并接收所述业务服务器返回的所述执行结果。

19.一种代理设备,其特征在于,所述代理设备包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。

20.一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种测试业务功能的方法,所述方法包括:接收测试终端发送的第一测试请求,所述第一测试请求用于指示对目标业务功能进行测试;

从预先存储的业务功能和任务的对应关系中,获取所述目标业务功能对应的目标任务,所述目标任务为测试所述目标业务功能之前需要执行的任务;

执行第二测试请求,以执行所述目标任务并对所述目标业务功能进行测试,并获取所述第二测试请求的执行结果,其中,所述第二测试请求用于指示执行所述目标任务,并对所述目标业务功能进行测试;

将所述执行结果中对应所述目标业务功能的测试结果返回至所述测试终端。

说明书 :

测试业务功能的方法、系统、装置、代理设备和存储介质

技术领域

[0001] 本公开涉及测试技术领域,尤其涉及一种测试业务功能的方法、装置、代理设备和可读存储介质。

背景技术

[0002] 相关技术中,随着网络业务的不断发展,各式各样的网络业务也越来越多,例如,人们可以进行网络购物、在线打卡等。为了使网络业务的安全性和可靠性得到保障,在网络业务的业务系统的开发过程中,通常需要对业务系统中的各业务功能进行测试。
[0003] 然而,由于业务系统中的安全防护机制比较复杂,因此,对业务系统中的某一特定业务功能进行测试的复杂度较大。例如,对于在线打卡业务,需要执行的任务至少包括登录账户、身份验证、选择部门、提交打卡信息,如果需要对提交打卡信息这一业务功能进行测试,则测试人员需要通过测试程序,至少依次完成登录账户、身份验证、选择部门和提交打卡信息这一系列任务,才能测试提交打卡信息这一功能是否正常。可见,基于上述技术方案,当需要对业务系统中的某一业务功能进行测试时,需要先执行多个其他任务,并且,只有在其他任务均执行成功的情况下,才能使用该业务功能、对该业务功能进行测试,测试复杂度较高。

发明内容

[0004] 为克服相关技术中存在的问题,本公开提供一种测试业务功能的方法、装置、代理设备和可读存储介质。
[0005] 根据本公开实施例的第一方面,提供一种测试业务功能的方法,所述方法应用于代理设备,所述方法包括:
[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] 如果所述测试结果中包含所述第一身份信息,则将所述测试结果中的所述第一身份信息修改为所述第一测试请求中携带的第二身份信息;
[0050] 将修改后的测试结果返回至所述测试终端。
[0051] 可选的,所述装置还包括:
[0052] 第二接收单元,被配置为接收所述测试终端发送的第一密钥;
[0053] 加密单元,被配置为通过所述第一密钥对本地存储的身份信息原文进行加密,得到第一身份信息,以使所述业务服务器在接收到所述第二测试请求后,根据所述第一密钥对应的第二密钥和所述第一身份信息进行身份信息验证,并在验证通过后,向所述代理设备发送所述第二测试请求对应执行结果。
[0054] 可选的,所述执行单元,还被配置为:
[0055] 向所述业务服务器发送所述第二测试请求,并接收所述业务服务器返回的所述执行结果。
[0056] 根据本公开实施例的第四方面,提供一种代理设备,其特征在于,所述代理设备包括:
[0057] 处理器;
[0058] 用于存储处理器可执行指令的存储器;
[0059] 其中,所述处理器被配置为执行存储器上所存放的程序时,实现第一方面任一所述的方法步骤。
[0060] 根据本公开实施例的第五方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种测试业务功能的方法,所述方法包括:
[0061] 接收测试终端发送的第一测试请求,所述第一测试请求用于指示对目标业务功能进行测试;
[0062] 从预先存储的业务功能和任务的对应关系中,获取所述目标业务功能对应的目标任务,所述目标任务为测试所述目标业务功能之前需要执行的任务;
[0063] 执行第二测试请求,并获取所述第二测试请求的执行结果,其中,所述第二测试请求用于指示执行所述目标任务,并对所述目标业务功能进行测试;
[0064] 将所述执行结果中对应所述目标业务功能的测试结果返回至所述测试终端。
[0065] 根据本公开实施例的第六方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的测试业务功能的方法。
[0066] 本公开的实施例提供的技术方案可以包括以下有益效果:代理设备可以接收测试终端发送的第一测试请求,第一测试请求用于指示对目标业务功能进行测试。然后,代理设备从预先存储的业务功能和任务的对应关系中,获取目标业务功能对应的目标任务,目标任务为测试目标业务功能之前需要执行的任务。之后,代理设备执行第二测试请求,并获取第二测试请求的执行结果,其中,第二测试请求用于指示执行目标任务,并对目标业务功能进行测试。代理设备将执行结果中对应目标业务功能的测试结果返回至测试终端。基于上述处理,测试者只需选择需要测试的目标业务功能,无需执行测试目标业务功能之前需要执行的任务,从而降低了测试复杂度。
[0067] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

[0068] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0069] 图1是根据一示例性实施例示出的一种测试业务功能的方法的流程图;
[0070] 图2是根据一示例性实施例示出的一种测试业务功能的方法示例的流程图;
[0071] 图3是根据一示例性实施例示出的一种测试业务功能的装置的框图;
[0072] 图4是根据一示例性实施例示出的一种测试业务功能的装置的框图;
[0073] 图5是根据一示例性实施例示出的一种测试业务功能的装置的框图;
[0074] 图6是根据一示例性实施例示出的一种代理设备的框图。

具体实施方式

[0075] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0076] 图1是根据一示例性实施例示出的一种测试业务功能的方法的流程图,该测试业务功能的方法可以应用于代理设备中,该代理设备可以与测试者的测试终端进行通信,还可以与提供待测试的业务功能的业务服务器进行通信。代理设备可以为服务器或终端。如图1所示,该测试业务功能的方法具体包括以下步骤。
[0077] 步骤S101,接收测试终端发送的第一测试请求。
[0078] 其中,第一测试请求用于指示对目标业务功能进行测试。
[0079] 本公开实施例中,当测试者想要对业务系统中的某业务功能进行测试时,测试者可以在测试终端中选择待测试的业务功能(即目标业务功能)。测试终端则会获取目标业务功能的标识、以及本地存储的身份信息(可称为第二身份信息)。其中,身份信息可以包括token signature(令牌标签)。可选的,身份信息也可以包括其他用于标识用户身份的信息,比如账户名等,本公开不做限定。测试终端根据第二身份信息和目标业务功能的标识,生成第一测试请求,然后可以将第一测试请求发送给代理设备。例如,该测试请求可以是HTTP (Hyper Text Transfer Protocol,超文本传输协议)请求。本公开实施例中,第一测试请求可记为Reqtx,其中,t为第二身份信息。代理设备接收到第一测试请求后,可以对第一测试请求进行解析,从而获取第一测试请求中携带的第二身份信息和目标业务功能的标识。
[0080] 可选的,测试终端中可以预先存储有密钥,该密钥可以由业务服务器生成并发送给测试终端。测试终端可以通过该密钥对本地的身份信息(即身份信息原文)进行加密,将加密后的身份信息作为第二身份信息。这样,可以对测试终端的身份信息进行加密传输,提高数据传输的安全性。
[0081] 步骤S102,从预先存储的业务功能和任务的对应关系中,获取目标业务功能对应的目标任务。
[0082] 其中,目标任务为测试目标业务功能之前需要执行的任务。
[0083] 本公开实施例中,代理设备中可以预先存储有业务功能和任务的对应关系,该对应关系可以预先设置。代理设备获取到目标业务功能的标识后,可以在该对应关系中,查找目标业务功能的标识对应的任务(即目标任务,可以记为Logic(x)任务)。该目标任务即为测试目标业务功能之前需要执行的任务。例如,对于在线打卡业务,需要执行的任务包括登录账户、身份验证、选择部门、提交打卡信息,当需要对提交打卡信息这一功能进行测试,则需要先执行登录账户、身份验证和选择部门这三个任务。
[0084] 步骤S103,执行第二测试请求,并获取第二测试请求的执行结果。
[0085] 其中,第二测试请求用于指示执行目标任务,并对目标业务功能进行测试。
[0086] 本公开实施例中,代理设备获取到目标业务功能对应的目标任务之后,可以执行第二测试请求,以执行目标任务、并对目标业务功能进行测试。然后,代理设备可以获取第二测试请求的执行结果。例如,代理设备可以通过本地的程序执行第二测试请求,获取第二测试请求的执行结果;或者,代理设备也可以通过业务服务器执行第二测试请求,具体的处理过程后续会进行详细说明。
[0087] 可选的,在执行第二测试请求,并获取第二测试请求的执行结果的步骤之前,代理设备可以先生成第二测试请求。
[0088] 其中,第二测试请求中携带有用于执行目标任务和对目标业务功能进行测试的第一身份信息。
[0089] 本公开实施例中,代理设备中可以预先存储有第一身份信息(可以记为T),该第一身份信息为具有测试目标业务功能的权限的身份信息。代理设备可以获取本地存储的第一身份信息,并生成包含第一身份信息的第二测试请求。
[0090] 可选的,第一身份信息可以是具有测试目标业务功能的权限的身份信息。在一种可行的实现方式中,第一身份信息可以是业务系统中具有最高权限的身份信息,也即,第一身份信息是具有测试业务系统中的各业务功能的权限的身份信息。在另一种可行的实现方式中,针对不同的业务功能,可以设置不同的身份信息,以便于对于业务功能的测试权限进行管理。相应的,代理设备生成第二测试请求的具体处理过程为:从预先存储的业务功能和身份信息的对应关系中,获取目标业务功能对应的第二身份信息;根据第一身份信息对第一测试请求中携带的第二身份信息进行修改,并根据修改后的测试请求生成第二测试请求。
[0091] 其中,由于第二测试请求用于指示执行目标任务,并对目标业务功能进行测试,因此,第二测试请求可以包括用于执行目标任务的任务请求和用于测试目标业务功能的测试请求。相应的,该第一身份信息可以是包括多个身份信息的集合,即,包含具有执行目标任务的权限的身份信息、以及包含具有测试目标业务功能的权限的身份信息。
[0092] 本公开实施例中,代理设备中可以预先存储有业务功能和身份信息的对应关系,该对应关系可以预先设置。代理设备获取到目标业务功能的标识后,可以在该对应关系中,查找目标业务功能的标识对应的身份信息(即第一身份信息)。
[0093] 代理设备可以根据具有执行目标任务的权限的身份信息,生成目标任务对应的任务请求。并且,代理设备还可以对第一测试请求进行解析,提取出第二身份信息,并将该第二身份信息修改为上述集合中具有测试目标业务功能的权限的身份信息,从而得到用于测试目标业务功能的测试请求。
[0094] 这样,由于代理设备中存储有符合业务要求的身份信息T,即使测试终端通过本地的身份信息执行目标业务时,该身份信息不具有执行目标业务的权限 (即不具有测试目标业务功能的权限),由于代理设备对Reqtx进行了身份劫持(即解析并提取出身份信息t,并将身份信息t替换成代理设备中具由执行目标业务的权限的身份信息T),因此,测试者仍以为自己是t,而业务提供方却认为测试者为T,从而实现了对目标业务功能的正常测试。
[0095] 可选的,对于上述第二测试请求中携带有用于执行目标任务和对目标业务功能进行测试的第一身份信息的情况,代理设备通过业务服务器执行第二测试请求的具体处理过程可以如下:代理设备向业务服务器发送Logic(x)任务对应的任务请求,该任务请求中包含身份信息T。业务服务器接收到该任务请求后,可以对该任务请求进行处理,并返回执行结果(为了便于区分,可称为第一执行结果)。业务服务器接收到第一执行结果后,如果该执行结果表示该任务执行成功,则代理设备向业务服务器发送用于测试目标业务功能的测试请求,以便对目标业务功能进行测试。如果该执行结果表示该任务执行失败,则代理设备可以通过其他身份信息执行目标任务。
[0096] 基于上述处理,由于代理设备是按照业务服务器中预设的处理流程来执行任务,因此,符合业务系统的业务逻辑,能够成功响应,从而避免测试失败。
[0097] 可选的,代理设备还可以对身份信息进行加密发送,具体的处理还可以如下:接收测试终端发送的第一密钥;通过第一密钥对本地存储的身份信息原文进行加密,得到第一身份信息,以使业务服务器在接收到第二测试请求后,根据第一密钥对应的第二密钥和第一身份信息进行身份信息验证,并在验证通过后,向代理设备发送第二测试请求对应执行结果。
[0098] 本公开实施例中,测试终端可以将本地存储的密钥(即第一密钥)发送给代理设备,代理设备则可以接收并存储第一密钥。代理设备在发送任务请求和第二测试请求之前,可以先通过第一密钥和预设的加密算法对本地存储的身份信息(即具有测试目标业务功能的权限的身份信息)原文进行加密,得到第一身份信息。例如,该身份信息为token,可以通过第一密钥计算该token的salt (盐)哈希计算值,将该salt哈希计算值作为第一身份信息。
[0099] 这样,业务服务器在接收到代理设备发送的任务请求和第二测试请求后,由于业务服务器中存储有与第一密钥对应的第二密钥,因此,业务服务器可以根据第一身份信息和第二密钥进行身份信息验证,并在身份信息验证通过后,对任务请求和第二测试请求进行处理,以提高通信和业务处理的安全性。
[0100] 步骤S104,将执行结果中对应目标业务功能的测试结果返回至测试终端。
[0101] 本公开实施例中,业务服务器对第二测试请求进行处理后,可以向业务服务器发送第二测试请求对应的执行结果。例如,对提交打卡信息这一功能进行测试时,业务服务器可以返回打卡成功或打卡失败的执行结果。
[0102] 代理设备接收到该执行结果后,可以将该执行结果中对应目标业务功能的测试结果发送给测试终端发送,以使测试终端可以获知测试结果。
[0103] 可选的,代理设备还可以对测试结果中的身份信息进行替换,具体的处理过程可以如下:判断执行结果中对应目标业务功能的测试结果是否包含第一身份信息;如果测试结果中包含第一身份信息,则将测试结果中的第一身份信息修改为第一测试请求中携带的第二身份信息;将修改后的测试结果返回至测试终端。
[0104] 本公开实施例中,代理设备在接收到业务服务器发送的执行结果之后,还可以对该执行结果进行解析,从该执行结果中提取目标业务功能的测试结果,进而判断测试结果中是否包含第一身份信息。如果该测试结果中包含第一身份信息,则将测试结果中的第一身份信息修改为第二身份信息,然后,向测试终端发送修改后的测试结果。如果测试结果中不包含第一身份信息,则可以不进行处理。
[0105] 例如,对提交打卡信息这一功能进行测试时,业务服务器可以返回测试结果“用户T打卡成功”,其中,用户T为第一身份信息,代理设备可以解析该测试结果,并将用户T修改为第二身份信息用户t,得到修改后的测试结果“用户t打卡成功”,然后将修改后的测试结果“用户t打卡成功”发送给测试终端。这样,可以使得测试终端接收到的测试结果中,均包含自身的身份信息,从而提高用户体验。
[0106] 本公开实施例中,代理设备可以接收测试终端发送的第一测试请求,第一测试请求用于指示对目标业务功能进行测试。然后,代理设备从预先存储的业务功能和任务的对应关系中,获取目标业务功能对应的目标任务,目标任务为测试目标业务功能之前需要执行的任务。之后,代理设备执行第二测试请求,并获取第二测试请求的执行结果,其中,第二测试请求用于指示执行目标任务,并对目标业务功能进行测试。代理设备将执行结果中对应目标业务功能的测试结果返回至测试终端。基于上述处理,测试者只需选择需要测试的目标业务功能,无需执行测试目标业务功能之前需要执行的任务,从而降低了测试复杂度。
[0107] 另外,测试者不再需要学习业务,而业务方无需向测试者提供过量支持,权限反射解耦合,业务分治清障碍,从而可以解决在安全测试中测试方与业务方低效配合的问题,测试者和业务方可以高速高效完成单独安全测试任务,大幅提升安全测试的速度和效率。并且,在不删除阻碍的前提下绕过不必要的阻碍,并且使绕过不当阻碍的机制可重复使用。
[0108] 图2是根据一示例性实施例示出的一种测试业务功能的方法示例的流程图。如图2所示,该测试业务功能的方法示例具体包括以下步骤。
[0109] 步骤S201,测试终端向代理设备发送第一登录请求。
[0110] 其中,第一登录请求中携带有测试终端中预先存储的身份信息A。
[0111] 本公开实施中,当测试者想要对业务系统中的某业务功能进行测试时,测试者可以先通过测试终端进行登录。测试终端可以获取本地的身份信息A,该身份信息A与上述实施例中的第二身份信息相同,此处不再赘述。测试终端可以向代理服务发送携带有身份信息A的第一登录请求。
[0112] 步骤S202,代理设备将第一登录请求中的身份信息A修改为具有登录权限的身份信息B,得到第二登录请求。
[0113] 本公开实施中,代理设备中可以预先存储有身份信息B,该身份信息B为具有登录权限的身份信息。代理设备可以对第一登录请求进行解析,然后将第一登录请求中的身份信息A修改为具有登录权限的身份信息B,得到第二登录请求。这样,可以通过具有登录权限的身份信息B进行登录,以保证能够成功登录。
[0114] 步骤S203,代理设备向业务服务器发送第二登录请求。
[0115] 其中,第二登录请求中携带有身份信息B。
[0116] 步骤S204,业务服务器向代理设备发送登录成功响应。
[0117] 本公开实施中,业务服务器接收到第二登录请求后,可以获取第二登录请求携带的身份信息B,然后可以确定身份信息B具有登录权限。
[0118] 步骤S205,代理设备将登录成功响应发送给测试终端。
[0119] 步骤S206,测试终端向代理设备发送第一测试请求。
[0120] 其中,第一测试请求携带有身份信息A和待测试的业务功能的标识X。
[0121] 该步骤的处理过程可以参照上述步骤S101的相关说明,此处不再赘述。
[0122] 步骤S207,代理设备获取具有测试业务功能X的权限的身份信息C,并确定测试业务功能X之前,需要先执行任务M。
[0123] 该步骤的处理过程可以参照上述步骤S102的相关说明,此处不再赘述。
[0124] 步骤S208,代理设备向业务服务器发送执行任务M的任务请求。
[0125] 该步骤的处理过程可以参照上述步骤S103的相关说明,此处不再赘述。
[0126] 步骤S209,业务服务器向代理设备发送任务M的执行成功的执行结果。
[0127] 该步骤的处理过程可以参照上述步骤S103的相关说明,此处不再赘述。
[0128] 步骤S210,代理设备将第一测试请求中的身份信息A修改为身份信息C,得到第二测试请求。
[0129] 该步骤的处理过程可以参照上述步骤S103的相关说明,此处不再赘述。
[0130] 步骤S211,代理设备向业务服务器发送第二测试请求。
[0131] 其中,第二测试请求中携带有身份信息B。
[0132] 该步骤的处理过程可以参照上述步骤S103的相关说明,此处不再赘述。
[0133] 步骤S212,业务服务器向代理设备发送第二测试请求对应的执行结果X’。
[0134] 该步骤的处理过程可以参照上述步骤S103的相关说明,此处不再赘述。
[0135] 步骤S213,代理设备将该执行结果X’发送给测试终端。
[0136] 该步骤的处理过程可以参照上述步骤S104的相关说明,此处不再赘述。
[0137] 本公开实施例还提供了一种测试业务功能的系统,所述系统包括测试终端和代理设备,其中:
[0138] 所述测试终端,用于在接收到针对目标业务功能的测试指令后,向所述代理设备发送第一测试请求,所述第一测试请求用于指示对目标业务功能进行测试;
[0139] 所述代理设备,用于从预先存储的业务功能和任务的对应关系中,获取所述目标业务功能对应的目标任务,所述目标任务为测试所述目标业务功能之前需要执行的任务;执行第二测试请求,并获取所述第二测试请求的执行结果,其中,所述第二测试请求用于指示执行所述目标任务,并对所述目标业务功能进行测试;将所述执行结果中对应所述目标业务功能的测试结果返回至所述测试终端。
[0140] 可选的,所述代理设备,还用于生成所述第二测试请求,其中,所述第二测试请求中携带有用于执行所述目标任务和对所述目标业务功能进行测试的第一身份信息。
[0141] 可选的,所述代理设备,还用于从预先存储的业务功能和身份信息的对应关系中,获取所述目标业务功能对应的第一身份信息;根据所述第一身份信息对所述第一测试请求中携带的第二身份信息进行修改,并根据修改后的测试请求生成第二测试请求。
[0142] 可选的,所述代理设备,还用于判断所述执行结果中对应所述目标业务功能的测试结果是否包含所述第一身份信息;如果所述测试结果中包含所述第一身份信息,则将所述测试结果中的所述第一身份信息修改为所述第一测试请求中携带的第二身份信息;将修改后的测试结果返回至所述测试终端。
[0143] 可选的,所述系统还包括业务服务器;
[0144] 所述代理设备,还用于接收所述测试终端发送的第一密钥;通过所述第一密钥对本地存储的身份信息原文进行加密,得到第一身份信息;
[0145] 所述业务服务器,还用于在接收到所述第二测试请求后,根据所述第一密钥对应的第二密钥和所述第一身份信息进行身份信息验证,并在验证通过后,向所述代理设备发送所述第二测试请求对应执行结果。
[0146] 可选的,所述系统还包括业务服务器;
[0147] 所述代理设备,还用于向所述业务服务器发送所述第二测试请求;
[0148] 所述业务服务器,用于执行所述第二测试请求,并向所述代理设备返回所述第二测试请求的执行结果;
[0149] 所述代理设备,还用于接收所述业务服务器返回的所述执行结果。
[0150] 本公开实施例中,代理设备可以接收测试终端发送的第一测试请求,第一测试请求用于指示对目标业务功能进行测试。然后,代理设备从预先存储的业务功能和任务的对应关系中,获取目标业务功能对应的目标任务,目标任务为测试目标业务功能之前需要执行的任务。之后,代理设备执行第二测试请求,并获取第二测试请求的执行结果,其中,第二测试请求用于指示执行目标任务,并对目标业务功能进行测试。代理设备将执行结果中对应目标业务功能的测试结果返回至测试终端。基于上述处理,测试者只需选择需要测试的目标业务功能,无需执行测试目标业务功能之前需要执行的任务,从而降低了测试复杂度。
[0151] 图3是根据一示例性实施例示出的一种测试业务功能的装置的框图。参照图3,该装置包括:
[0152] 第一接收单元310,被配置为接收测试终端发送的第一测试请求,所述第一测试请求被配置为指示对目标业务功能进行测试;
[0153] 获取单元320,被配置为从预先存储的业务功能和任务的对应关系中,获取所述目标业务功能对应的目标任务,所述目标任务为测试所述目标业务功能之前需要执行的任务;
[0154] 执行单元330,被配置为执行第二测试请求,并获取所述第二测试请求的执行结果,其中,所述第二测试请求被配置为指示执行所述目标任务,并对所述目标业务功能进行测试;
[0155] 发送单元340,被配置为将所述执行结果中对应所述目标业务功能的测试结果返回至所述测试终端。
[0156] 可选的,如图4所示,所述装置还包括:
[0157] 生成单元350,被配置为生成所述第二测试请求,其中,所述第二测试请求中携带有被配置为执行所述目标任务和对所述目标业务功能进行测试的第一身份信息。
[0158] 可选的,所述生成单元350,还配置为:
[0159] 从预先存储的业务功能和身份信息的对应关系中,获取所述目标业务功能对应的第一身份信息;
[0160] 根据所述第一身份信息对所述第一测试请求中携带的第二身份信息进行修改,并根据修改后的测试请求生成第二测试请求。
[0161] 可选的,所述发送单元340,还被配置为:
[0162] 判断所述执行结果中对应所述目标业务功能的测试结果是否包含所述第一身份信息;
[0163] 如果所述测试结果中包含所述第一身份信息,则将所述测试结果中的所述第一身份信息修改为所述第一测试请求中携带的第二身份信息;
[0164] 将修改后的测试结果返回至所述测试终端。
[0165] 可选的,如图5所示,所述装置还包括:
[0166] 第二接收单元360,被配置为接收所述测试终端发送的第一密钥;
[0167] 加密单元370,被配置为通过所述第一密钥对本地存储的身份信息原文进行加密,得到第一身份信息,以使所述业务服务器在接收到所述第二测试请求后,根据所述第一密钥对应的第二密钥和所述第一身份信息进行身份信息验证,并在验证通过后,向所述代理设备发送所述第二测试请求对应执行结果。
[0168] 可选的,所述执行单元330,还被配置为:
[0169] 向所述业务服务器发送所述第二测试请求,并接收所述业务服务器返回的所述执行结果。
[0170] 关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0171] 本公开实施例中,代理设备可以接收测试终端发送的第一测试请求,第一测试请求用于指示对目标业务功能进行测试。然后,代理设备从预先存储的业务功能和任务的对应关系中,获取目标业务功能对应的目标任务,目标任务为测试目标业务功能之前需要执行的任务。之后,代理设备执行第二测试请求,并获取第二测试请求的执行结果,其中,第二测试请求用于指示执行目标任务,并对目标业务功能进行测试。代理设备将执行结果中对应目标业务功能的测试结果返回至测试终端。基于上述处理,测试者只需选择需要测试的目标业务功能,无需执行测试目标业务功能之前需要执行的任务,从而降低了测试复杂度。
[0172] 图6是根据一示例性实施例示出的一种用于测试业务功能的代理设备600 的框图。例如,代理设备600可以被提供为一服务器。参照图6,代理设备600 包括处理组件610,其进一步包括一个或多个处理器,以及由存储器620所代表的存储器资源,用于存储可由处理组件610的执行的指令,例如应用程序。存储器620中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件610被配置为执行指令,以执行上述测试业务功能的方法。
[0173] 代理设备600还可以包括一个电源组件630被配置为执行代理设备600的电源管理,一个有线或无线网络接口640被配置为将代理设备600连接到网络,和一个输入输出(I/O)接口650。代理设备600可以操作基于存储在存储器 620的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM, FreeBSDTM或类似。
[0174] 本公开的实施例提供的技术方案可以包括以下有益效果:代理设备可以接收测试终端发送的第一测试请求,第一测试请求中携带有第二身份信息和待测试的目标业务功能的标识。然后,代理设备根据目标业务功能的标识,从预先存储的业务功能和任务的对应关系中获取目标业务功能对应的目标任务,目标任务为测试目标业务功能之前需要执行的任务。代理设备通过本地存储的第一身份信息执行目标任务,并向业务服务器发送第二测试请求,第二测试请求中携带有第一身份信息和目标业务功能的标识,第一身份信息为具有测试目标业务功能的权限的身份信息。代理设备接收到业务服务器发送的第二测试请求对应的执行结果后,向测试终端发送该执行结果。基于上述处理,测试者只需选择需要测试的目标业务功能,无需执行测试目标业务功能之前需要执行的任务,从而降低了测试复杂度。
[0175] 在本公开提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一测试业务功能的方法的步骤。
[0176] 在本公开提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一测试业务功能的方法。
[0177] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘 Solid State Disk(SSD))等。
[0178] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本公开旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
[0179] 应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。