本申请涉及it及计算机,具体而言,涉及一种应用程序测试方法、装置、程序产品及电子设备。
背景技术:
1、目前,开发人员在开发应用程序完成之后,一般需要对应用程序进行测试。现有方案通常是在加载有应用程序的应用服务器中构建测试环境,基于构建的测试环境对应用程序进行测试。然而,这种应用程序的测试方案往往需要具备较强专业知识的测试人员来完成,并且,每一次在一个新的应用服务器加载应用程序之后,都需要测试人员重新构建测试环境才能对应用程序进行测试,这样一来,测试工作费时费力,效率低下。基于此,如何提高对应用程序进行测试的效率是亟待解决的技术问题。
技术实现思路
1、本申请的实施例提供了一种应用程序测试方法、装置、计算机程序产品或计算机程序、计算机可读存储介质及电子设备,进而至少在一定程度上可以提高对应用程序进行测试的效率。
2、本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
3、根据本申请实施例的一个方面,提供了一种应用程序测试方法,在至少一个应用服务器中分别加载有应用程序,所述方法执行于测试服务器,获取运行数据采集工具,并基于所述运行数据采集工具,生成目标远程测试任务,所述运行数据采集工具用于代理采集应用程序在被测试过程中的运行数据;获取目标应用服务器的访问参数,并将所述访问参数写入所述目标远程测试任务,所述目标应用服务器中加载有待测应用程序;响应于用户触发的针对所述目标远程测试任务的执行指令,基于所述目标远程测试任务,启动对所述目标应用服务器中的所述待测应用程序进行测试,并采集所述待测应用程序在被测试过程中的目标运行数据;基于所述目标运行数据,生成针对所述待测应用程序的测试报告。
4、在本申请的一些实施例中,基于前述方案,所述基于所述目标远程测试任务,启动对所述目标应用服务器中的所述待测应用程序进行测试,包括:获取目标测试用例,所述目标测试用例包括至少一个测试项目,其中,一个测试项目用于测试所述待测应用程序的一项应用功能;通过所述目标远程测试任务中的访问参数,访问所述目标应用服务器,以基于所述目标测试用例,测试所述目标应用服务器中所述待测应用程序的至少一项应用功能。
5、在本申请的一些实施例中,基于前述方案,所述获取目标测试用例,包括:获取预先写入所述目标远程测试任务中的代码仓库地址,所述代码仓库地址指向的代码仓库用于保存预先设计的测试用例;基于所述代码仓库地址,访问所述代码仓库,以从所述代码仓库中读取目标测试用例。
6、在本申请的一些实施例中,基于前述方案,所述获取目标测试用例,包括:显示测试用例上传窗口;响应于用户在本地将预先设计的目标测试用例拖拽至所述测试用例上传窗口,获取目标测试用例。
7、在本申请的一些实施例中,基于前述方案,其特征在于,所述采集所述待测应用程序在被测试过程中的目标运行数据,包括:监测所述待测应用程序中各个代码单元是否被执行;如果所述待测应用程序中的任意一个代码单元被执行,则对所述任意一个代码单元进行记录,并将被记录的代码单元作为所述待测应用程序在被测试过程中的目标运行数据。
8、在本申请的一些实施例中,基于前述方案,所述基于所述目标运行数据,生成针对所述待测应用程序的测试报告,包括:统计所述目标运行数据中的各个代码单元,确定所述待测应用程序在至少一个测试指标上的统计值;基于所述待测应用程序在至少一个测试指标上的统计值,生成针对所述待测应用程序的测试报告。
9、在本申请的一些实施例中,基于前述方案,所述测试指标至少包括代码覆盖率。
10、根据本申请实施例的一个方面,提供了一种应用程序测试装置,在至少一个应用服务器中分别加载有应用程序,所述装置设置于测试服务器,所述装置包括:第一获取单元,用于获取运行数据采集工具,并基于所述运行数据采集工具,生成目标远程测试任务,所述运行数据采集工具用于代理采集应用程序在被测试过程中的运行数据;第二获取单元,用于获取目标应用服务器的访问参数,并将所述访问参数写入所述目标远程测试任务,所述目标应用服务器中加载有待测应用程序;启动单元,用于响应于用户触发的针对所述目标远程测试任务的执行指令,基于所述目标远程测试任务,启动对所述目标应用服务器中的所述待测应用程序进行测试,并采集所述待测应用程序在被测试过程中的目标运行数据;生成单元,用于基于所述目标运行数据,生成针对所述待测应用程序的测试报告。
11、根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中所述的方法。
12、根据本申请实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的方法。
13、根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的方法。
14、本申请提出的技术方案,基于用于代理采集应用程序在被测试过程中的运行数据的运行数据采集工具,通过在测试服务器中生成目标远程测试任务,并将目标应用服务器的访问参数写入所述目标远程测试任务,可以基于所述目标远程测试任务,启动对所述目标应用服务器中的所述待测应用程序进行远程测试,最后可以基于采集的所述待测应用程序在被测试过程中的目标运行数据,生成针对所述待测应用程序的测试报告。如此一来,一方面,通过本申请的技术方案,降低了测试人员专业性的门槛,用户只需要将应用服务器的访问参数写入所述目标远程测试任务,就可以实现对应用程序的测试,间接提高了应用程序测试的效率。另一方面,通过本申请的技术方案,改变了现有方案中只能在单机上对应用程序进行测试问题,通过一次性在测试服务器中生成目标远程测试任务,可以多次对加载在不同应用服务器中的应用程序进行测试,无需在每个应用服务器中都构建测试环境,增强了应用程序测试的可移植性,进而直接提高了应用程序测试的效率。
15、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
1.一种应用程序测试方法,其特征在于,在至少一个应用服务器中分别加载有应用程序,所述方法执行于测试服务器,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标远程测试任务,启动对所述目标应用服务器中的所述待测应用程序进行测试,包括:
3.根据权利要求2所述的方法,其特征在于,所述获取目标测试用例,包括:
4.根据权利要求2所述的方法,其特征在于,所述获取目标测试用例,包括:
5.根据权利要求1至4任一项所述的方法,其特征在于,所述采集所述待测应用程序在被测试过程中的目标运行数据,包括:
6.根据权利要求5所述的方法,其特征在于,所述基于所述目标运行数据,生成针对所述待测应用程序的测试报告,包括:
7.根据权利要求6所述的方法,其特征在于,所述测试指标至少包括代码覆盖率。
8.一种应用程序测试装置,其特征在于,在至少一个应用服务器中分别加载有应用程序,所述装置设置于测试服务器,所述装置包括:
9.一种计算机程序产品或计算机程序,其特征在于,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中,且适于由处理器读取并执行,以使得具有所述处理器的计算机设备执行如权利要求1至7任一项所述的方法。
10.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述至少一条程序代码由所述一个或多个处理器加载并执行以实现如权利要求1至7任一项所述的方法所执行的操作。