应用程序的性能测试方法、装置、设备及存储介质与流程
未命名
09-10
阅读:251
评论:0

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.可选地,所述第四处理模块包括处理子模块一和处理子模块二;
43.所述处理子模块一,用于将各所述剩余的性能数据集合输入预设人工智能模型中进行特征提取,得到各目标性能指标的数据特征信息;其中,数据特征信息表征目标性能指标下各测试数据的特征;
44.所述处理子模块二,用于基于预设人工智能模型对各目标性能指标的数据特征信息进行处理,得到综合评分信息。
45.可选地,所述处理单元还包括去除模块;
46.所述去除模块,用于确定每个性能数据集合中各目标性能指标的测试数据与各目标性能指标的预设标准数据之间的偏差值;
47.所述去除模块,还用于若任一所述偏差值大于对应预设阈值,则确定对应的性能数据集合不符合预设要求,并去除该性能数据集合。
48.可选地,所述装置还包括测试单元,所述测试单元包括确定模块和控制模块;
49.所述确定模块,用于确定待测试操作和目标测试场景,并基于所述待测试操作和预设对应关系,确定与所述待测试操作对应的性能指标为目标性能指标;所述预设对应关系表征待测试操作与性能指标之间的对应关系;
50.所述控制模块,用于根据预设定时测试任务,依据预设调取频率,自动调用自动化
测试工具,控制待测试应用程序在目标测试设备的所述目标测试场景中,重复执行待测试操作多次。
51.可选地,所述获取单元包括发送模块和采集模块;
52.所述发送模块,用于测试周期内,向所述目标测试设备发送调用请求;其中,所述调用请求用于请求调用所述目标测试设备上与所述目标性能指标对应的预设接口;
53.所述采集模块,用于通过所述预设接口,采集每次执行所述待测试操作时所述目标性能指标的测试数据。
54.可选地,所述装置还包括传输单元,所述传输单元包括报告加密模块和报告传输模块;
55.所述报告加密模块,用于对所述性能测试报告进行加密处理,获取加密后的性能测试报告;
56.所述报告传输模块,用于通过预设数据传输方式,将所述加密后的性能测试报告发送给测试人员;其中,所述预设数据传输方式包括以下一种或多种:电子邮件、文件传输协议、超文本传输协议。
57.可选地,所述目标性能指标包括以下一种或多种:启动时长、中央处理器的占用信息、内存占用信息、流量耗用信息以及每秒传输帧数信息。
58.第三方面,本技术提供一种电子设备,所述电子设备包括:处理器,以及与所述处理器通信连接的存储器;
59.所述存储器存储计算机执行指令;
60.所述处理器执行所述存储器存储的计算机执行指令,以实现如前任一项所述的方法。
61.第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如前任一项所述的方法。
62.第五方面,本技术提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时用于实现如前任一项所述的方法。
63.本技术提供的应用程序的性能测试方法、装置、设备及存储介质,方法包括:获取测试周期内目标测试设备的多个性能数据集合;其中,所述性能数据集合包括待测试应用程序在所述目标测试设备的目标测试场景中执行待测试操作时所采集到的目标性能指标的测试数据;去除所述多个性能数据集合中不符合预设条件的性能数据集合,并根据剩余的性能数据集合,获取性能测试报告;其中,所述不符合预设条件的性能数据集合为目标性能指标的测试数据与目标性能指标的预设标准数据之间的偏差值,大于目标性能指标的预设阈值的性能数据集合;所述性能测试报告中包括综合评分信息,所述综合评分信息用于指示所述待测试应用程序在所述目标测试设备的目标测试场景中执行待测试操作时的整体性能;显示所述性能测试报告。本技术的方案,实现了自动、快速的对应用程序进行测试,提升了移动端性能测试的效率和准确率;另外,通过去除不符合预设条件的性能数据集合,再根据剩余的性能数据集合获取能够体现整体性能的综合评分信息的性能测试报告,在提高性能测试结果的准确性的同时,也使性能测试结果更直观地,更便于测试人员后续优化应用程序,从而为用户提供更好的使用体验。
附图说明
64.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
65.图1为本技术实施例提供的一种应用程序的性能测试方法的流程示意图;
66.图2为本技术实施例提供的一种获取性能测试报告的方法的流程示意图;
67.图3为本技术实施例提供的又一种获取性能测试报告的方法的流程示意图;
68.图4为本技术实施例提供的一种应用程序的性能测试装置的结构示意图;
69.图5为本技术实施例提供的又一种应用程序的性能测试装置的结构示意图;
70.图6为本技术实施例提供的一种电子设备的结构示意图。
71.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
72.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
73.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
74.需要说明的是,本技术的技术方案中,所涉及的金融数据或用户数据等信息的收集、存储、使用、加工、传输、提供和公开等处理(如果存在),均符合相关法律法规的规定,且不违背公序良俗。
75.性能测试在应用程序的质量保证中起着重要的作用,它包括的测试内容丰富多样。尤其在网民数量庞大的现今,应用程序在客户端尤其是移动端的性能表现直接反映了用户的使用体验,这也使得应用程序在移动端的性能测试尤为重要。
76.一个示例中,通过手动控制的方式完成测试,再获取待测试应用程序在目标设备中对应性能指标的性能数据,进而对性能指标的性能数据进行分析以获取测试结果。这种方式不仅会消耗巨大的人力投入,同时通过手动测试也会产生人为误差,致使测试数据不够准确。此外,目前在进行数据分析时也通常是以单一的性能指标分别确定对应测试结果,而每个性能指标的标准各不相同,这种方式不仅不能体现应用程序的整体性能,数据表现形式也不够直观,不利于测试人员优化应用程序。
77.为了解决上述问题,本技术提供一种应用程序的性能测试方法、装置、设备及存储介质。在每次测试时,都通过自动化测试工具自动进行重复测试,并通过设置在被测试的目
标测试设备上的api接口采集每次测试时的目标性能指标的测试数据,还对重复测试所得到的测试数据进行处理,删除明显不准确的数据,才确定最终的性能测试结果,并且通过综合评分信息来体现待测试应用程序的整体性能。一方面,通过自动化测试的方式,去除了手动测试带来的数据误差,提高测试数据的准确性;另一方面,通过综合评分信息来评价应用程序的测试结果,也能更直观地体现应用程序在目标测试设备中的整体性能,更便于测试人员后续优化应用程序,从而也能为用户提供更好的使用体验。
78.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
79.图1为本技术实施例提供的一种应用程序的性能测试方法的流程示意图。本技术实施例的执行主体可以为应用程序的性能测试装置,该应用程序的性能测试装置可以位于电子设备上,电子设备可以为如手机、平板、电脑等移动终端设备,本技术不做限制。本技术实施例以执行主体为应用程序的性能测试装置为例进行详细说明。
80.如图1所示,本实施例提供的应用程序的性能测试方法,包括:
81.s101、获取测试周期内目标测试设备的多个性能数据集合;其中,性能数据集合包括待测试应用程序在目标测试设备的目标测试场景中执行待测试操作时所采集到的目标性能指标的测试数据。
82.示例性地,为了减小偶然误差对测试数据所带来的影响,本技术在每次进行自动化性能测试时,都会进行重复测试。也即:在每个测试周期内,会重复执行同一测试多次,每执行一次性能测试可以得到一个性能数据集合,而每个性能数据集合中都包括了待测试应用程序也即被测试的应用程序,在被测试的目标测试设备的目标测试场景中执行待测试操作时,所采集到的目标性能指标的测试数据。每个性能数据集合中的目标性能指标可以为一种或多种。
83.其中,本技术对目标测试设备、目标测试场景、待测试操作以及目标性能指标的具体内容均不做限制,其可以根据实际测试需求确定。例如,目标测试设备可以为手机、平板等。目标测试场景可以为具体地任意使用场景,比如并发性测试下的并发测试场景等。待测试操作可以为具体操作待测试应用程序的一个实际操作,比如登录、搜索、结果浏览等等。目标性能指标可以为待测试应用程序在目标测试设备上可能会产生的任意性能指标,比如应用程序在不同状态下的耗电信息、响应时长、响应速度和准确度等等。
84.一个示例中,目标性能指标包括以下一种或多种:启动时长、中央处理器的占用信息、内存占用信息、流量耗用信息以及每秒传输帧数信息。
85.示例性地,启动时长是指待测试应用程序在目标测试设备的目标测试场景中执行待测试操作时的响应时长。例如,当启动时长<1s为优,<5s为良好,根据待测试应用程序的不同其对启动时长的需求也不同。若启动时长过长,用户需要等待的时间也就变长,会影响用户使用体验。
86.中央处理器的占用信息是指待测试应用程序在目标测试设备的目标测试场景中执行待测试操作时,所占用的目标测试设备的中央处理器(cpu)的信息。内存占用信息是指待测试应用程序在目标测试设备的目标测试场景中执行待测试操作时,所占用的目标测试设备的内存的信息。若应用程序的资源利用不合理,占用过多本就有的目标测试设备的cpu
或者内存,都会影响用户的整体使用效果。
87.流量耗用信息是指待测试应用程序在目标测试设备的目标测试场景中执行待测试操作时,所消耗的流量信息。其中,流量信息包括上行流量信息和下行流量信息,流量信息的耗用也应在正常范围内。
88.每秒传输帧数信息是指待测试应用程序在目标测试设备的目标测试场景中执行待测试操作时,在目标测试设备的每秒传输帧数(frames per second,fps)。一般为30~60帧/s,当小于30帧/s时显示界面可能会卡顿,当大于75帧/s时目标测试设备又难以识别,可能会浪费图形处理器(graphics processing unit,gpu)的能力。
89.示例性地,本技术应用程序的性能测试装置通过获取每个测试周期内的目标测试设备的多个性能数据集合,来获取最终的性能测试结果,可以提高数据准确性,减小偶然误差带来的影响。测试周期和重复测试次数可以根据实际需求设定。例如,每天都进行10次重复测试,通过这10次重复测试所得到的10个性能数据集合来获取最终的性能测试结果。
90.一个示例中,获取测试周期内目标测试设备的多个性能数据集合,包括:
91.s1011、测试周期内,向目标测试设备发送调用请求;其中,调用请求用于请求调用目标测试设备上与目标性能指标对应的预设接口。
92.s1012、通过预设接口,采集每次执行待测试操作时目标性能指标的测试数据。
93.示例性地,安卓系统中一般设置有各种api接口,以实现各种功能。在测试周期内,本技术应用程序的性能测试装置向目标测试设备发送调用请求,以请求调用目标测试设备上与目标性能指标对应的预设api接口,并通过该预设api接口采集每次执行待测试操作时目标性能指标的测试数据。
94.例如,若目标性能指标为启动时长,则调用目标测试设备上用于获取启动时长的预先设置的api接口;若目标性能指标为中央处理器(cpu)的占用信息,则调用目标测试设备上用于获取cpu的占用信息的api接口;以此类推,通过目标测试设备上与目标性能指标对应的预设api接口,获取目标测试设备每次在目标测试场景中执行待测试操作时目标性能指标的测试数据。
95.在一些可能的示例中,在获取测试周期内目标测试设备的多个性能数据集合之前,本技术的方案还可以包括:
96.s1、确预设对应关系,确定与待测试操作对应定待测试操作和目标测试场景,并基于待测试操作和的性能指标为目标性能指标;预设对应关系表征待测试操作与性能指标之间的对应关系。
97.s2、根据预设定时测试任务,依据预设调取频率,自动调用自动化测试工具,控制待测试应用程序在目标测试设备的目标测试场景中,重复执行待测试操作多次。
98.示例性地,在进行测试之前,先根据实际测试需求,确定想要测试的待测试操作和目标测试场景,该待测试操作和目标测试场景可以测试人员根据测试需求人为输入的。在确定待测试操作和目标测试场景之后,本技术应用程序的性能测试装置可以调取预先存储的待测试操作与性能指标之间的对应关系,并根据待测试操作和该对应关系,确定与待测试操作对应的性能指标为目标性能指标;然后,根据预先设置的定时测试任务,依据预设调取频率,自动调用自动化测试工具,控制待测试应用程序在目标测试设备的目标测试场景中,重复执行待测试操作多次。在进行测试的同时,获取每次执行待测试操作时的目标性能
指标的测试数据,每次测试都得到一个性能数据集合,在一个测试周期结束后就可以得到多个性能数据集合。通过多个性能数据集合获得的性能测试报告相对于单一测试获得的性能测试报告更准确,可以提高数据准确性,也能减小偶然误差带来的影响。
99.例如,自动化测试工具可以为appium等,可以每天定时触发性能测试,通过每天反复迭代的测试和优化,使应用程序在目标测试设备中的性能表现越来越好,也能进一步提高用户体验。
100.s102、去除多个性能数据集合中不符合预设条件的性能数据集合,并根据剩余的性能数据集合,获取性能测试报告;其中,不符合预设条件的性能数据集合为目标性能指标的测试数据与目标性能指标的预设标准数据之间的偏差值,大于目标性能指标的预设阈值的性能数据集合;性能测试报告中包括综合评分信息,综合评分信息用于指示待测试应用程序在目标测试设备的目标测试场景中执行待测试操作时的整体性能。
101.示例性地,在获取到多个性能数据集合之后,本技术应用程序的性能测试装置,可以根据预先设置的一些规则信息删除部分不符合预设条件的性能数据集合,再根据剩余的性能数据集合,获取性能测试报告。例如,可以去除性能数据集合中目标性能指标的测试数据与目标性能指标的预设标准数据之间的偏差值,大于目标性能指标的预设阈值的性能数据集合。
102.示例性地,去除多个性能数据集合中不符合预设条件的性能数据集合,可以包括:确定每个性能数据集合中各目标性能指标的测试数据与各目标性能指标的预设标准数据之间的偏差值;若任一偏差值大于对应预设阈值,则确定对应的性能数据集合不符合预设要求,并去除该性能数据集合。
103.举例来说,若每个性能数据集合中包括的目标性能指标包括启动时长、中央处理器的占用信息、内存占用信息、流量耗用信息以及每秒传输帧数信息。每个测试周期内共执行10次重复测试,可得到10个性能数据集合,它们的测试数据可以分别记为(a1、b1、c1、d1、e1)、(a2、b2、c2、d2、e2)、...、(a10、b10、c10、d10、e10)。分别计算启动时长的测试数据a1、a2、a3、...、a10与启动时长的预设标准数据a之间的偏差值,以此类推,也计算中央处理器的占用信息、内存占用信息、流量耗用信息以及每秒传输帧数信息各自的测试数据与对应的预设标准数据之间的偏差值。若任一偏差值大于对应的预设阈值,则确定该对应的性能数据集合不符合预设要求,并去除该性能数据集合。例如,若性能数据集合1中启动时长的测试数据a1与启动时长的预设标准数据a之间的偏差值大于启动时长的预设阈值,则去除性能数据集合1;若性能数据集合5中内存占用信息的测试数据c5与内存占用信息的预设标准数据c之间的偏差值大于内存占用信息的预设阈值,则去除性能数据集合5。
104.示例性地,当根据上述方式去除多个性能数据集合中不符合预设条件的性能数据集合1和5后,再根据剩余的性能数据集合2-4以及6-10这8个性能数据集合,获取性能测试报告,以使性能测试报告中包括用于指示待测试应用程序在目标测试设备的目标测试场景中执行待测试操作时的整体性能的综合评分信息。例如,根据剩余的8个性能数据集合,计算每个目标性能指标的测试数据的平均值,并根据其平均值确定其评分信息,再根据其评分信息获取最终的综合评分信息,再将综合评分信息写入性能测试报告中。
105.s103、显示性能测试报告。
106.示例性地,本技术应用程序的性能测试装置还显示性能测试报告,以便于测试人
员查看性能测试结果。
107.本技术实施例提供的应用程序的性能测试方法,包括:获取测试周期内目标测试设备的多个性能数据集合;其中,性能数据集合包括待测试应用程序在目标测试设备的目标测试场景中执行待测试操作时所采集到的目标性能指标的测试数据;去除多个性能数据集合中不符合预设条件的性能数据集合,并根据剩余的性能数据集合,获取性能测试报告;其中,不符合预设条件的性能数据集合为目标性能指标的测试数据与目标性能指标的预设标准数据之间的偏差值,大于目标性能指标的预设阈值的性能数据集合;性能测试报告中包括综合评分信息,综合评分信息用于指示待测试应用程序在目标测试设备的目标测试场景中执行待测试操作时的整体性能;显示性能测试报告。本技术的方案,实现了自动、快速的对应用程序进行测试,提升了移动端性能测试的效率和准确率;另外,通过去除不符合预设条件的性能数据集合,再根据剩余的性能数据集合获取能够体现整体性能的综合评分信息的性能测试报告,在提高性能测试结果的准确性的同时,也使性能测试结果更直观地,更便于测试人员后续优化应用程序,从而为用户提供更好的使用体验。
108.以下对本技术如何根据剩余的性能数据集合,获取性能测试报告进行详细介绍。
109.示例性地,图2为本技术实施例提供的一种获取性能测试报告的方法的流程示意图。如图2所示,本实施例提供的根据剩余的性能数据集合,获取性能测试报告的过程,可以包括:
110.s201、根据各剩余的性能数据集合中目标性能指标的测试数据,确定目标性能指标的数据平均值信息;其中,数据平均值信息表征目标性能指标下的各测试数据的平均值。
111.s202、调取目标性能指标的映射表,并根据目标性能指标的映射表和目标性能指标的数据平均值信息,确定目标性能指标的指标评分信息;其中,目标性能指标的映射表表征目标性能指标的数据平均值信息与目标性能指标的指标评分信息之间的映射关系。
112.s203、根据各目标性能指标的指标评分信息和各目标性能指标的预设权重参数,确定综合评分信息;并将综合评分信息加入性能测试报告中。
113.示例性地,若每个性能数据集合中包括的目标性能指标包括启动时长、中央处理器的占用信息、内存占用信息、流量耗用信息以及每秒传输帧数信息,每个测试周期内共执行10次重复测试,可得到10个性能数据集合,去除2个不符合预设条件的性能数据集合后,还剩余8个性能数据集合。
114.本技术应用程序的性能测试装置可以根据各剩余的8个性能数据集合中各目标性能指标的测试数据,确定表征各目标性能指标下的各测试数据的平均值的数据平均值信息。例如,可以将剩余的8个性能数据集合中启动时长的8个测试数据求和,再求平均值,得到启动时长的数据平均值信息;以此类推,也可以得到其他目标性能指标下的测试数据的数据平均值信息。然后,再调取表征目标性能指标的数据平均值信息与目标性能指标的指标评分信息之间的映射关系,以确定各目标性能指标的指标评分信息;最后,再根据各目标性能指标的指标评分信息和各目标性能指标的预设权重参数,计算综合评分信息,并将综合评分信息写入性能测试报告中,以得到包括综合评分信息的性能测试报告。
115.其中,本技术对各目标性能指标的指标评分信息和各目标性能指标的预设权重参数不做限制,其可以根据其各自的重要性预先设置。一方面,通过将各目标性能指标的数据平均值信息以指标评分信息的形式体现,以一个统一的指标来评估测试结果,使得评价参
数更直观;另一方面,引入权重参数,也能更准确地体现性能测试结果,更便于测试人员后续优化应用程序。
116.此外,在性能数据报告中除了综合评分信息,还可以包括各目标性能指标的测试数据、数据平均值信息、对应的指标评分信息等参数,各参数以文字、图表等方式存在于性能数据报告,以便于测试人员进行针对性分析,进而针对性改进被测试的应用程序。进一步,还可以对各超过阈值的参数进行突出标记,以提示测试人员重点关注。例如,对各目标性能指标设置对应的性能锚定数值,设为参考值,若对应测试数据超过设置的参考值,则触发报警等,本技术都不限制。
117.又一示例性地,图3为本技术实施例提供的又一种获取性能测试报告的方法的流程示意图。如图3所示,本实施例提供的根据剩余的性能数据集合,获取性能测试报告的过程,可以包括:
118.s301、将各剩余的性能数据集合输入预设人工智能模型中,输出综合评分信息;并将综合评分信息加入性能测试报告中;其中,人工智能模型为预先训练好的用于确定综合评分信息的卷积神经网络模型。
119.示例性地,本技术应用程序的性能测试装置在去除多个性能数据集合中不符合预设条件的性能数据集合后,可以将剩余的性能数据集合全部输入预设人工智能模型中,其中,预设人工智能模型是预先训练好的用于确定综合评分信息的卷积神经网络模型,以输出综合评分信息,并将综合评分信息加入性能测试报告中,就得到了包括综合评分信息的性能测试报告。
120.示例性地,将各剩余的性能数据集合输入预设人工智能模型中,输出综合评分信息,可以包括:
121.将各剩余的性能数据集合输入预设人工智能模型中进行特征提取,得到各目标性能指标的数据特征信息;其中,数据特征信息表征目标性能指标下各测试数据的特征;再基于预设人工智能模型对各目标性能指标的数据特征信息进行处理,得到综合评分信息。
122.示例性地,将各剩余的性能数据集合输入预设人工智能模型中后,预设人工智能模型可以对各剩余的性能数据集合中各目标性能指标的测试数据进行特征提取,以得到各目标性能指标的数据特征信息,再对提取到的各目标性能指标的数据特征信息进行处理,得到综合评分信息。
123.其中,数据特征信息表征了目标性能指标下各测试数据的特征。例如,数据特征信息可以是各目标性能指标的测设数据对应的指标评分信息与该目标性能指标对应的预设权重参数相乘所得到的特征;将各目标性能指标对应的数据特征信息分别求平均值后再求和,或者,将各目标性能指标对应的数据特征信息求和后再求平均,以得到最后的综合评分信息。本技术对此不做限制,只需能够将各剩余的性能数据集合输入预设人工智能模型中,输出准确的综合评分信息即可。通过人工智能模型获取综合评分信息,不仅得到的评价参数更准确,也使性能测试向更加智能、更加自动化的方向发展。
124.在上述任一实施例的基础上,在获取性能测试报告后,本技术的方案还可以包括:
125.s10、对性能测试报告进行加密处理,获取加密后的性能测试报告。
126.s20、通过预设数据传输方式,将加密后的性能测试报告发送给测试人员;其中,预设数据传输方式包括以下一种或多种:电子邮件、文件传输协议、超文本传输协议。
127.示例性地,为了提高数据传输过程的安全性,保证数据安全,本技术应用程序的性能测试装置还可以通过国密算法等加密算法对性能测试报告进行加密处理,以获取加密后的性能测试报告,并将加密后的性能测试报告通过电子邮件、文件传输协议、超文本传输协议等中的任意一种发送给测试人员,以便于测试人员查看性能测试报告,进而优化应用程序,以为用户提供更好的使用体验。
128.本技术的方案,通过完善的报告发送机制、每天定时触发机制、自动的运行性能测试,获取包括综合评分信息的性能测试报告,还通过邮件等方式将性能测试报告发送给相关人员,还在性能指标超出基于经验值的历史阈值时,触发报警机制,极大的提升了移动端性能测试的效率和准确率,便于后续优化应用程序,也能为用户提供更好的使用体验。
129.下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
130.图4为本技术实施例提供的一种应用程序的性能测试装置的结构示意图。如图4所示,本技术实施例提供的应用程序的性能测试装置40包括:获取单元401、处理单元402以及显示单元403。
131.其中,获取单元401,用于获取测试周期内目标测试设备的多个性能数据集合;其中,性能数据集合包括待测试应用程序在目标测试设备的目标测试场景中执行待测试操作时所采集到的目标性能指标的测试数据。
132.处理单元402,用于去除多个性能数据集合中不符合预设条件的性能数据集合,并根据剩余的性能数据集合,获取性能测试报告;其中,不符合预设条件的性能数据集合为目标性能指标的测试数据与目标性能指标的预设标准数据之间的偏差值,大于目标性能指标的预设阈值的性能数据集合;性能测试报告中包括综合评分信息,综合评分信息用于指示待测试应用程序在目标测试设备的目标测试场景中执行待测试操作时的整体性能。
133.显示单元403,用于显示性能测试报告。
134.本实施例提供的装置,可用于执行上述实施例的方法,其实现原理和技术效果类似,此处不再赘述。
135.图5为本技术实施例提供的又一种应用程序的性能测试装置的结构示意图。如图5所示,本技术实施例提供的应用程序的性能测试装置50包括:获取单元501、处理单元502以及显示单元503。
136.其中,获取单元501,用于获取测试周期内目标测试设备的多个性能数据集合;其中,性能数据集合包括待测试应用程序在目标测试设备的目标测试场景中执行待测试操作时所采集到的目标性能指标的测试数据。
137.处理单元502,用于去除多个性能数据集合中不符合预设条件的性能数据集合,并根据剩余的性能数据集合,获取性能测试报告;其中,不符合预设条件的性能数据集合为目标性能指标的测试数据与目标性能指标的预设标准数据之间的偏差值,大于目标性能指标的预设阈值的性能数据集合;性能测试报告中包括综合评分信息,综合评分信息用于指示待测试应用程序在目标测试设备的目标测试场景中执行待测试操作时的整体性能。
138.显示单元503,用于显示性能测试报告。
139.一个示例中,处理单元502包括第一处理模块5021、第二处理模块5022以及第三处理模块5023。
140.第一处理模块5021,用于根据各剩余的性能数据集合中目标性能指标的测试数据,确定目标性能指标的数据平均值信息;其中,数据平均值信息表征目标性能指标下的各测试数据的平均值。
141.第二处理模块5022,用于调取目标性能指标的映射表,并根据目标性能指标的映射表和目标性能指标的数据平均值信息,确定目标性能指标的指标评分信息;其中,目标性能指标的映射表表征目标性能指标的数据平均值信息与目标性能指标的指标评分信息之间的映射关系。
142.第三处理模块5023,用于根据各目标性能指标的指标评分信息和各目标性能指标的预设权重参数,确定综合评分信息;并将综合评分信息加入性能测试报告中。
143.一个示例中,处理单元502包括第四处理模块5024。
144.第四处理模块5024,用于将各剩余的性能数据集合输入预设人工智能模型中,输出综合评分信息;并将综合评分信息加入性能测试报告中;其中,人工智能模型为预先训练好的用于确定综合评分信息的卷积神经网络模型。
145.一个示例中,第四处理模块5024包括处理子模块一50241和处理子模块二50242。
146.处理子模块一50241,用于将各剩余的性能数据集合输入预设人工智能模型中进行特征提取,得到各目标性能指标的数据特征信息;其中,数据特征信息表征目标性能指标下各测试数据的特征。
147.处理子模块二50242,用于基于预设人工智能模型对各目标性能指标的数据特征信息进行处理,得到综合评分信息。
148.一个示例中,处理单元502还包括去除模块5025。
149.去除模块5025,用于确定每个性能数据集合中各目标性能指标的测试数据与各目标性能指标的预设标准数据之间的偏差值。
150.去除模块5025,还用于若任一偏差值大于对应预设阈值,则确定对应的性能数据集合不符合预设要求,并去除该性能数据集合。
151.一个示例中,装置50还包括测试单元500,测试单元500包括确定模块5001和控制模块5002。
152.确定模块5001,用于确定待测试操作和目标测试场景,并基于待测试操作和预设对应关系,确定与待测试操作对应的性能指标为目标性能指标;预设对应关系表征待测试操作与性能指标之间的对应关系。
153.控制模块5002,用于根据预设定时测试任务,依据预设调取频率,自动调用自动化测试工具,控制待测试应用程序在目标测试设备的目标测试场景中,重复执行待测试操作多次。
154.一个示例中,获取单元501包括发送模块5011和采集模块5012。
155.发送模块5011,用于测试周期内,向目标测试设备发送调用请求;其中,调用请求用于请求调用目标测试设备上与目标性能指标对应的预设接口。
156.采集模块5012,用于通过预设接口,采集每次执行待测试操作时目标性能指标的测试数据。
157.一个示例中,装置50还包括传输单元504,传输单元504包括报告加密模块5041和报告传输模块5042。
158.报告加密模块5041,用于对性能测试报告进行加密处理,获取加密后的性能测试报告。
159.报告传输模块5042,用于通过预设数据传输方式,将加密后的性能测试报告发送给测试人员;其中,预设数据传输方式包括以下一种或多种:电子邮件、文件传输协议、超文本传输协议。
160.一个示例中,目标性能指标包括以下一种或多种:启动时长、中央处理器的占用信息、内存占用信息、流量耗用信息以及每秒传输帧数信息。
161.本实施例提供的装置,可用于执行上述实施例的方法,其实现原理和技术效果类似,此处不再赘述。
162.需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上数据处理模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
163.图6为本技术实施例提供的一种电子设备的结构示意图。如图6所示,该电子设备60,包括:处理器601,以及与处理器通信连接的存储器602。
164.其中,存储器602存储计算机执行指令;处理器601执行存储器602存储的计算机执行指令,以实现如前述任一项的方法。
165.在上述电子设备的具体实现中,应理解,处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
166.本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,该计算机执行指令被处理器执行时用于实现如前述任一项的方法。
167.本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
168.本技术实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时用于实现如前述任一项的方法。
169.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识
或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求书指出。
170.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求书来限制。
技术特征:
1.一种应用程序的性能测试方法,其特征在于,所述方法包括:获取测试周期内目标测试设备的多个性能数据集合;其中,所述性能数据集合包括待测试应用程序在所述目标测试设备的目标测试场景中执行待测试操作时所采集到的目标性能指标的测试数据;去除所述多个性能数据集合中不符合预设条件的性能数据集合,并根据剩余的性能数据集合,获取性能测试报告;其中,所述不符合预设条件的性能数据集合为目标性能指标的测试数据与目标性能指标的预设标准数据之间的偏差值,大于目标性能指标的预设阈值的性能数据集合;所述性能测试报告中包括综合评分信息,所述综合评分信息用于指示所述待测试应用程序在所述目标测试设备的目标测试场景中执行待测试操作时的整体性能;显示所述性能测试报告。2.根据权利要求1所述的方法,其特征在于,根据剩余的性能数据集合,获取性能测试报告,包括:根据各所述剩余的性能数据集合中目标性能指标的测试数据,确定所述目标性能指标的数据平均值信息;其中,所述数据平均值信息表征目标性能指标下的各测试数据的平均值;调取所述目标性能指标的映射表,并根据所述目标性能指标的映射表和所述目标性能指标的数据平均值信息,确定所述目标性能指标的指标评分信息;其中,所述目标性能指标的映射表表征目标性能指标的数据平均值信息与目标性能指标的指标评分信息之间的映射关系;根据各所述目标性能指标的指标评分信息和各所述目标性能指标的预设权重参数,确定所述综合评分信息;并将所述综合评分信息加入所述性能测试报告中。3.根据权利要求1所述的方法,其特征在于,根据剩余的性能数据集合,获取性能测试报告,包括:将各所述剩余的性能数据集合输入预设人工智能模型中,输出所述综合评分信息;并将所述综合评分信息加入所述性能测试报告中;其中,所述人工智能模型为预先训练好的用于确定所述综合评分信息的卷积神经网络模型。4.根据权利要求3所述的方法,其特征在于,将各所述剩余的性能数据集合输入预设人工智能模型中,输出所述综合评分信息,包括:将各所述剩余的性能数据集合输入预设人工智能模型中进行特征提取,得到各目标性能指标的数据特征信息;其中,数据特征信息表征目标性能指标下各测试数据的特征;基于预设人工智能模型对各目标性能指标的数据特征信息进行处理,得到综合评分信息。5.根据权利要求1所述的方法,其特征在于,去除所述多个性能数据集合中不符合预设条件的性能数据集合,包括:确定每个性能数据集合中各目标性能指标的测试数据与各目标性能指标的预设标准数据之间的偏差值;若任一所述偏差值大于对应预设阈值,则确定对应的性能数据集合不符合预设要求,并去除该性能数据集合。6.根据权利要求1所述的方法,其特征在于,在获取测试周期内目标测试设备的多个性
能数据集合之前,所述方法还包括:确定待测试操作和目标测试场景,并基于所述待测试操作和预设对应关系,确定与所述待测试操作对应的性能指标为目标性能指标;所述预设对应关系表征待测试操作与性能指标之间的对应关系;根据预设定时测试任务,依据预设调取频率,自动调用自动化测试工具,控制待测试应用程序在目标测试设备的所述目标测试场景中,重复执行待测试操作多次。7.根据权利要求6所述的方法,其特征在于,获取测试周期内目标测试设备的多个性能数据集合,包括:测试周期内,向所述目标测试设备发送调用请求;其中,所述调用请求用于请求调用所述目标测试设备上与所述目标性能指标对应的预设接口;通过所述预设接口,采集每次执行所述待测试操作时所述目标性能指标的测试数据。8.根据权利要求1所述的方法,其特征在于,所述方法还包括:对所述性能测试报告进行加密处理,获取加密后的性能测试报告;通过预设数据传输方式,将所述加密后的性能测试报告发送给测试人员;其中,所述预设数据传输方式包括以下一种或多种:电子邮件、文件传输协议、超文本传输协议。9.根据权利要求1-8中任一项所述的方法,其特征在于,所述目标性能指标包括以下一种或多种:启动时长、中央处理器的占用信息、内存占用信息、流量耗用信息以及每秒传输帧数信息。10.一种应用程序的性能测试装置,其特征在于,所述装置包括:获取单元,用于获取测试周期内目标测试设备的多个性能数据集合;其中,所述性能数据集合包括待测试应用程序在所述目标测试设备的目标测试场景中执行待测试操作时所采集到的目标性能指标的测试数据;处理单元,用于去除所述多个性能数据集合中不符合预设条件的性能数据集合,并根据剩余的性能数据集合,获取性能测试报告;其中,所述不符合预设条件的性能数据集合为目标性能指标的测试数据与目标性能指标的预设标准数据之间的偏差值,大于目标性能指标的预设阈值的性能数据集合;所述性能测试报告中包括综合评分信息,所述综合评分信息用于指示所述待测试应用程序在所述目标测试设备的目标测试场景中执行待测试操作时的整体性能;显示单元,用于显示所述性能测试报告。11.一种电子设备,其特征在于,所述电子设备包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-9中任一项所述的方法。12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-9中任一项所述的方法。13.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时用于实现如权利要求1-9中任一项所述的方法。
技术总结
本申请提供一种应用程序的性能测试方法、装置、设备及存储介质,涉及性能测试技术领域。该方法包括:获取测试周期内目标测试设备的多个性能数据集合;其中,性能数据集合包括待测试应用程序在目标测试设备的目标测试场景中执行待测试操作时所采集到的目标性能指标的测试数据;去除多个性能数据集合中不符合预设条件的性能数据集合,并根据剩余的性能数据集合,获取性能测试报告;其中,性能测试报告中包括综合评分信息,综合评分信息用于指示待测试应用程序在目标测试设备的目标测试场景中执行待测试操作时的整体性能;显示性能测试报告。本申请的方法,实现了自动、快速的对应用程序进行测试,提升了移动端性能测试的效率和准确率。确率。确率。
技术研发人员:郝有健 朱珊珊 张伟龙
受保护的技术使用者:建信金融科技有限责任公司
技术研发日:2023.06.16
技术公布日:2023/9/7
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/