本技术实施例涉及计算机领域,具体而言,涉及一种应用程序的测试方法及装置。
背景技术:
1、对应用程序产品的测试作为产品开发中的一项重要内容越来越为人们所关注,目前随着应用程序的功能越来越多,在用户实际使用应用程序的时候往往存在多个程序功能之间的调用,因此对应用程序单一功能的自动化测试并不能完全覆盖客户的实际应用场景,相关技术中为了实现对多个程序功能的测试使用基于开源testng的自动化测试框架,在这种方式中通过按照对应用程序的程序功能的测试顺序构建多个测试用例,其中对执行各功能测试的测试用例的执行顺序强依赖自动化编写过程指定,因此这种测试智能针对固定的调用场景,导致对于应用程序产品的测试无法覆盖更多的客户实际场景,使得很多应用程序的未知问题并不能被发现,对应用程序的测试效率较低。
技术实现思路
1、本技术实施例提供了一种应用程序的测试方法及装置,以至少解决相关技术中对应用程序的测试效率较低的问题。
2、根据本技术的一个实施例,提供了一种应用程序的测试方法,应用程序测试系统中部署有调度器和服务器,所述服务器用于部署并运行测试用例,所述测试用例用于对待测试应用程序的业务性能进行测试,所述调度器用于调度所述服务器上运行的测试用例,所述方法应用于所述调度器,所述方法包括:
3、在响应目标测试请求对目标应用程序的多个业务功能之间的组合调用性能进行测试的过程中,根据所述目标应用程序的参考测试信息预测在当前时刻对每个业务功能的目标测试参数,其中,所述组合调用性能用于指示所述多个业务功能之间的运行影响关系,所述目标测试参数用于调节对每个所述业务功能的测试频率,所述参考测试信息用于指示在当前时刻之前的参考时间段内对所述目标应用程序的所述业务功能的测试情况;
4、从测试用例集合中随机筛选出符合所述目标测试参数的目标测试用例,其中,所述测试用例集合中记录了与所述多个业务功能中每个所述业务功能一一对应的测试用例;
5、向所述服务器发送目标运行指令,其中,所述目标运行指令用于指示所述服务器对所述目标应用程序运行所述目标测试用例;
6、根据所述服务器响应所述目标运行指令返回的目标运行结果确定所述目标应用程序的目标组合调用性能,其中,所述目标运行结果为所述服务器按照目标运行参数运行所述目标测试用例得到的,所述目标运行参数为根据所述参考测试信息预测得到的,所述目标运行参数用于调节所述目标测试用例的运行状态。
7、在一个示例性实施例中,所述根据所述目标应用程序的参考测试信息预测在当前时刻对每个业务功能的目标测试参数,包括:
8、按照在所述参考时间段内运行的所述测试用例的测试用例运行时间构建测试用例运行序列,其中,所述参考测试信息包括所述测试用例运行时间;
9、根据所述测试用例运行序列确定出所述测试用例集合中每个所述测试用例的筛选权重,其中,所述筛选权重用于指示所述用例集合中测试用例被筛选出来的概率,所述目标测试参数包括所述筛选权重。
10、在一个示例性实施例中,所述根据所述测试用例运行序列确定出所述测试用例集合中每个所述测试用例的筛选权重,包括以下之一:
11、统计所述测试用例运行序列中各个所述测试用例在所述参考时间段的初始运行频率;从具有对应关系的运行频率和权重中确定出与所述初始运行频率对应的所述筛选权重;
12、统计所述测试用例运行序列中各个所述测试用例在所述参考时间段的所述初始运行频率;从具有对应关系的运行频率和权重中确定出与所述初始运行频率对应的初始权重;从所述测试用例运行序列中确定出各个测试用例的连续运行次数;根据所述连续运行次数确定所述测试用例的目标修正参数;使用所述目标修正参数对所述初始权重进行修正,得到所述测试用例的所述筛选权重;
13、获取所述测试用例运行序列中每个所述测试用例的参考运行结果;按照所述测试用例运行序列中记录的所述测试用例运行时序关系构建所述参考运行结果的运行结果变化量;从具有对应关系的运行结果变化量和权重中确定出与当前运行结果变化关系对应的所述筛选权重。
14、在一个示例性实施例中,在所述从测试用例集合中随机筛选出符合所述目标测试参数的目标测试用例之前,所述方法还包括:
15、检测所述目标测试请求所请求测试的所述多个业务功能;
16、从所述服务器的用例模板库中筛选出与每个所述业务功能对应的测试用例模板,其中,所述测试用例模板中记录了用于实现对应用程序的所述业务功能进行测试的基本测试逻辑;
17、使用所述目标测试请求所携带的初始运行参数对所述测试用例模板进行配置,得到所述测试用例集合,其中,所述初始运行参数用于调节测试用例的运行状态。
18、根据本技术的另一个实施例,提供了一种应用程序的测试方法,应用程序测试系统中部署有调度器和服务器,所述服务器用于部署并运行测试用例,所述测试用例用于对待测试应用程序的业务性能进行测试,所述调度器用于调度所述服务器上运行的测试用例,所述方法应用于所述服务器,所述方法包括:
19、接收所述调度器发送的目标运行指令,其中,所述目标运行指令用于指示所述服务器当前对目标应用程序待运行的目标测试用例,所述目标测试用例为所述调度器在响应目标测试请求对所述目标应用程序的多个业务功能之间的组合调用性能进行测试的过程中,从测试用例集合中随机筛选出的符合所述目标测试参数的测试用例,所述组合调用性能用于指示所述多个业务功能之间的运行影响关系,所述目标测试参数为根据所述目标应用程序的参考测试信息预测得到的,所述目标测试参数用于调节对每个所述业务功能的测试频率,所述参考测试信息用于指示在当前时刻之前的参考时间段内对所述目标应用程序的所述业务功能的测试情况,所述测试用例集合中记录了与所述多个业务功能中每个所述业务功能一一对应的测试用例;
20、根据所述目标应用程序的所述参考测试信息预测所述目标测试用例的目标运行参数;
21、按照所述目标运行参数对所述目标应用程序运行所述目标测试用例,得到目标运行结果;
22、将所述目标运行结果发送至所述调度器,其中,所述调度器用于根据所述目标运行结果确定所述目标应用程序的目标组合调用性能。
23、在一个示例性实施例中,所述根据所述目标应用程序的所述参考测试信息预测所述目标测试用例的目标运行参数,包括:
24、根据在所述参考时间段内所述测试用例的参考运行结果构建所述参考运行结果的运行结果变化量;
25、从具有对应关系的运行结果变化量和测试用例的参数调节量中确定出与所述目标运行结果对应的所述目标测试用例的目标参数调节量;
26、使用所述目标参数调节量对所述目标测试请求中的初始运行参数进行修正,得到所述目标运行参数。
27、在一个示例性实施例中,所述按照所述目标运行参数对所述目标应用程序运行所述目标测试用例,包括:
28、调用所述服务器中配置的运行检测接口检测所述目标应用程序当前的程序运行状态;
29、在所述程序运行状态与所述目标测试用例运行所需的运行环境需求匹配一致的情况下,按照所述目标运行参数对所述目标应用程序运行所述目标测试用例。
30、根据本技术的又一个实施例,提供了一种应用程序的测试装置,应用程序测试系统中部署有调度器和服务器,所述服务器用于部署并运行测试用例,所述测试用例用于对待测试应用程序的业务性能进行测试,所述调度器用于调度所述服务器上运行的测试用例,所述装置应用于所述调度器,所述装置包括:
31、第一预测模块,用于在响应目标测试请求对目标应用程序的多个业务功能之间的组合调用性能进行测试的过程中,根据所述目标应用程序的参考测试信息预测在当前时刻对每个业务功能的目标测试参数,其中,所述组合调用性能用于指示所述多个业务功能之间的运行影响关系,所述目标测试参数用于调节对每个所述业务功能的测试频率,所述参考测试信息用于指示在当前时刻之前的参考时间段内对所述目标应用程序的所述业务功能的测试情况;
32、第一筛选模块,用于从测试用例集合中随机筛选出符合所述目标测试参数的目标测试用例,其中,所述测试用例集合中记录了与所述多个业务功能中每个所述业务功能一一对应的测试用例;
33、第一发送模块,用于向所述服务器发送目标运行指令,其中,所述目标运行指令用于指示所述服务器对所述目标应用程序运行所述目标测试用例;
34、确定模块,用于根据所述服务器响应所述目标运行指令返回的目标运行结果确定所述目标应用程序的目标组合调用性能,其中,所述目标运行结果为所述服务器按照目标运行参数运行所述目标测试用例得到的,所述目标运行参数为根据所述参考测试信息预测得到的,所述目标运行参数用于调节所述目标测试用例的运行状态。
35、根据本技术的又一个实施例,提供了一种应用程序的测试装置,应用程序测试系统中部署有调度器和服务器,所述服务器用于部署并运行测试用例,所述测试用例用于对待测试应用程序的业务性能进行测试,所述调度器用于调度所述服务器上运行的测试用例,所述装置应用于所述服务器,所述装置包括:
36、接收模块,用于接收所述调度器发送的目标运行指令,其中,所述目标运行指令用于指示所述服务器当前对目标应用程序待运行的目标测试用例,所述目标测试用例为所述调度器在响应目标测试请求对所述目标应用程序的多个业务功能之间的组合调用性能进行测试的过程中,从测试用例集合中随机筛选出的符合所述目标测试参数的测试用例,所述组合调用性能用于指示所述多个业务功能之间的运行影响关系,所述目标测试参数为根据所述目标应用程序的参考测试信息预测得到的,所述目标测试参数用于调节对每个所述业务功能的测试频率,所述参考测试信息用于指示在当前时刻之前的参考时间段内对所述目标应用程序的所述业务功能的测试情况,所述测试用例集合中记录了与所述多个业务功能中每个所述业务功能一一对应的测试用例;
37、第二预测模块,用于根据所述目标应用程序的所述参考测试信息预测所述目标测试用例的目标运行参数;
38、运行模块,用于按照所述目标运行参数对所述目标应用程序运行所述目标测试用例,得到目标运行结果;
39、第二发送模块,用于将所述目标运行结果发送至所述调度器,其中,所述调度器用于根据所述目标运行结果确定所述目标应用程序的目标组合调用性能。
40、根据本技术的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
41、根据本技术的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
42、通过本技术,在应用程序测试系统中部署了用于调度服务器上运行的测试用例的调度器,调度器会从测试用例集中随机筛选出待调用的测试用例,在每次调度器每次从测试用例集中筛选待调用的测试用例的过程中,通过根据当前时刻之前的参考时间段内对应用程序的业务功能的测试情况预测当前时刻的测试参数,从而实现对测试过程中应用程序多个业务功能的测试频率的调节,从而对业务功能调用场景的覆盖,为服务器筛选出待运行的目标测试用例,并且,在服务器运行目标测试用例之前会根据参考时间段内对目标应用程序的业务功能测试情况预测得到的当前目标测试用例的目标运行参数,实现根据历史测试结果调节当前测试用例的运行状态,从而加速对应用程序的业务功能的性能的测试进程,因此,可以解决相关技术中对应用程序的测试效率较低问题,达到提高对应用程序的测试效率的效果。