应用程序的性能测试方法、设备及存储介质与流程

未命名 08-06 阅读:96 评论:0


1.本技术涉及软件测试技术领域,尤其涉及一种应用程序的性能测试方法、设备及存储介质。


背景技术:

2.当前互联网技术领域中,性能测试工具开发是比较热门的研究方向,但主流的性能测试工具多为负载型测试工具,时延相关的性能测试工具测试点主要集中在代码层,很多时候代码层的数据跟用户实际感受到的数据有很大差异,目前适配开源鸿蒙os系统(openharmony os,ohos)的时延测试工具更是寥寥无几。但随着ohos的迅速发展和广泛应用,基于ohos的时延测试工具是必不可少的,无论是开发厂商或者技术开发人员,都需要一个精准、高效且更接近用户使用场景的测试工具。
3.目前,进行时延测量的性能测试工具有deveco testing、loadrunner和jmeter等,deveco testing工具是基于ohos的一种性能测试工具,通过在软件系统的代码层添加测试接口,获取访问测试接口时的时间戳和完成测试接口登录的响应时间戳来测试软件系统相关应用的响应时延。该技术是直接在软件程序的代码层级测试应用的响应时延,并未考虑到ui刷新和页面加载对应用层的显示效果的影响,测试出的响应时间不能准确反映出软件系统在应用页面的真实响应时延,loadrunner和jmeter工具能满足对网页端系统的请求响应时间测试需求,但不能支持移动端系统和ohos系统。
4.目前移动端系统的应用响应时延测试大多是通过代码层或借助高速相机,通过传统手工/机械手操作同时使用高速相机对测试场景进行拍摄,再通过工具对视频进行解析和数据处理得到测试数据,工作量会随着系统软件规模的扩大而增加,耗费更多人力资源,并且人工操作测量的结果依赖于执行者对第一帧的选择判断,不同的操作者可能会得到不同的时延测量结果,测试结果难以重用,测试质量无法控制。而支持移动端应用时延测量的工具deveco testing是从系统程序的接口层面测量应用响应时延,当ui刷新不及时和页面加载慢时,会出现通过该工具得到的结果与实际结果差距大的情况,并且该工具目前只能测试应用启动完成时延,无法测试应用启动响应时延、页面切换时延、应用滑动时延等,工具可覆盖的测试场景少。
5.因此,如何准确地测试应用程序的性能是目前亟待解决的问题。


技术实现要素:

6.本技术的主要目的在于提供一种应用程序的性能测试方法、设备及存储介质,旨在提高应用程序性能检测的准确性和效率。
7.第一方面,本技术提供一种应用程序的性能测试方法,所述应用程序的性能测试方法包括以下步骤:
8.在接收到测试指令的情况下,运行待测应用程序执行所述测试指令对应的测试操作,同时对所述测试操作的执行过程进行录屏,得到录屏数据;
9.从所述录屏数据中确定执行所述测试操作对应的首帧图像和末帧图像;
10.根据所述首帧图像、末帧图像和录屏数据,确定执行所述测试操作所需的时长,并根据所述时长输出性能测试结果。
11.第二方面,本技术还提供一种终端设备,所述终端设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如上述的应用程序的性能测试方法的步骤。
12.第三方面,本技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如上述的应用程序的性能测试方法的步骤。
13.本技术提供一种应用程序的性能测试方法、设备及存储介质,本技术在接收到测试指令的情况下,运行待测应用程序执行测试指令对应的测试操作,同时对测试操作的执行过程进行录屏,能够准确地得到录屏数据;从录屏数据中确定执行测试操作对应的首帧图像和末帧图像;然后根据首帧图像、末帧图像和录屏数据,确定执行测试操作所需的时长,并根据时长输出性能测试结果。本方案通过确定执行测试操作所需的时长,根据时长能够准确地输出应用程序的性能测试结果,极大地提高了应用程序性能测试的效率和准确性。
附图说明
14.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
15.图1为本技术实施例提供的一种应用程序的性能测试方法的流程示意图;
16.图2为本技术实施例提供应用程序的性能测试方法的一场景示意图;
17.图3为图1中的应用程序的性能测试方法的子步骤流程示意图;
18.图4为本技术实施例提供应用程序的性能测试方法的另一场景示意图;
19.图5为本技术实施例提供的一种应用程序的性能测试方法的另一流程示意图;
20.图6为本技术实施例提供的一种终端设备的结构示意性框图。
21.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
22.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
23.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
24.本技术实施例提供一种应用程序的性能测试方法、设备及存储介质。其中,该应用程序的性能测试方法可应用于终端设备中,该终端设备可以是手机、平板电脑、台式电脑、
笔记本电脑、个人数字助理和穿戴式设备等电子设备。例如,该终端设备为手机,手机在接收到测试指令的情况下,运行待测应用程序执行测试指令对应的测试操作,同时对测试操作的执行过程进行录屏,得到录屏数据;从录屏数据中确定执行测试操作对应的首帧图像和末帧图像;根据首帧图像、末帧图像和录屏数据,确定执行测试操作所需的时长,并根据时长输出性能测试结果。
25.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
26.请参照图1,图1为本技术的实施例提供的一种应用程序的性能测试方法的流程示意图。
27.如图1所示,该应用程序的性能测试方法包括步骤s101至步骤s103。
28.步骤s101、在接收到测试指令的情况下,运行待测应用程序执行所述测试指令对应的测试操作,同时对所述测试操作的执行过程进行录屏,得到录屏数据。
29.其中,该测试操作包括所述待测应用程序的启动、退出、页面间切换、前后台切换和控件响应中的至少一种。
30.在一实施例中,在接收到测试指令的情况下,运行待测应用程序执行该测试指令对应的测试操作,在执行该测试操作时进行录屏,得到终端设备显示界面图像的录屏数据。其中,该显示界面可以根据实际情况进行设置,本发明实施例对此不做具体限定,该终端设备为手机时,该显示界面为手机屏幕,又例如,该终端设备为台式电脑时,该显示界面为台式电脑所连接的显示器。通过对终端设备的屏幕进行录屏,能够准确地得到待测应用程序在进行性能测试过程中显示界面的显示情况。
31.需要说明的是,该测试指令的触发可以根据实际情况进行设置,本发明实施例对此不做具体限定,例如,当需要对终端设备进行性能测试时,技术人员用过用户终端生成测试指令,并将该测试指令传输给终端设备,以使终端设备接收到该测试指令。又例如,设置间隔预设时间对终端设备进行性能测试,即以间隔预设时间生成测试指令,以使终端设备根据该测试指令进行性能测试,其中,该预设时间可以根据实际情况进行设置,本发明实施例对此不做具体限定,例如,该预设时间可以是为1小时。
32.示例性的,终端设备接收测试指令,该测试指令为待测应用程序的启动,运行待测应用程序,控制该待测应用程序启动,并在启动的过程中进行录屏,得到录屏数据,该录屏数据中包括待测应用程序启动过程中每一帧的图像。
33.示例性的,如图2所示,手机接收到测试指令,该测试指令为页面间切换,手机切换页面之前的页面为页面一10,页面一10包括图片区域11和文字区域12,手机执行该页面间切换的指令,得到切换后的页面二20,该页面二20包括文字区域21、图片区域一22和图片区域二23,在手机执行该页面切换指令的同时进行录屏,得到录屏数据,该录屏数据包括从页面一10到页面二20的所有图像变化帧。
34.步骤s102、从所述录屏数据中确定执行所述测试操作对应的首帧图像和末帧图像。
35.其中,首帧图像为终端设备执行测试操作前的第一帧图像,该末帧图像为终端设备执行完测试操作后的第一帧图像。
36.在一实施例中,如图3所示,步骤s102包括子步骤s1021至子步骤s1023。
37.子步骤s1021、获取所述测试操作对应的标准首帧图像和标准末帧图像。
38.其中,该标准首帧图像为执行该测试操作前的第一帧图像,该标准末帧图像为执行该测试操作的页面加载完成后的第一帧图像,该标准首帧图像和标准末帧图像为预先存在数据库中的。
39.在一实施例中,获取用户基于测试操作的上传的多张标准首帧图像,对各标准首帧图像进行缩放处理和灰度图变换,依次计算各图像中每行像素点的平均值,并对得到的所有平均值进行方差计算,得到各标准首帧图像的方差值,根据各标准首帧图像的方差值从多张标准首帧图像中确定目标标准首帧图像,并将目标标准首帧图像和目标标准首帧图像的方差值进行存储。通过从多张标准首帧图像中选取目标标准首帧图像,能够提高性能测试的准确性,通过存储目标标准首帧图像的方差值,在测试相同场景可以根据标准首帧图像的方差值从存储器中直接获取目标标准首帧图像,极大地提高了性能测试的效率。
40.在一实施例中,获取用户基于测试操作的上传的多张标准末帧图像,对各标准末帧图像进行缩放处理和灰度图变换,依次计算各图像中每行像素点的平均值,并对得到的所有平均值进行方差计算,得到各标准末帧图像的方差值,根据各标准末帧图像的方差值从多张标准末帧图像中确定目标标准末帧图像,并将目标标准末帧图像和目标标准末帧图像的方差值进行存储。通过从多张标准末帧图像中选取目标标准末帧图像,能够提高性能测试的准确性,通过存储目标标准末帧图像的方差值,在测试相同场景可以根据标准末帧图像的方差值从存储器中直接获取目标标准末帧图像,极大地提高了性能测试的效率。
41.在一实施例中,从预设的标准图像帧库匹配测试操作对应的标准首帧图像和标准末帧图像。通过测试操作能准确地获取到标准首帧图像和标准末帧图像,极大地提高了终端设备的应用程序的性能测试的效率。
42.需要说明的是,匹配测试操作对应的标准首帧图像和标准末帧图像的方式可以根据实际情况进行选择,本发明实施例对此不做具体限定,例如从预设的测试操作与图像映射关系表,查询测试操作对应的标准首帧图像和标准末帧图像,该映射关系表为预先根据测试操作、标准首帧图像和标准末帧图像建立的,通过该映射关系表能够准确地查询到测试操作匹配的标准首帧图像和标准末帧图像。
43.子步骤s1022、从所述录屏数据中筛选出与所述标准首帧图像相匹配的图像帧,得到执行所述测试操作对应的首帧图像。
44.在一实施例中,计算标准首帧图像与录屏数据中的每帧图像的相似度;将相似度大于或等于预设相似度对应的图像帧确定为执行测试操作对应的首帧图像。其中,该预设相似度可以根据实际情况进行设置,本发明实施例对此不做具体限定,例如,该预设相似度可以为98%。通过计算标准首帧图像与录屏数据中的每帧图像的相似度,能够准确地从录屏数据中筛选出首帧图像,极大地提高了应用程序性能测试的效率和准确性。
45.在一实施例中,计算标准首帧图像与录屏数据中的每帧图像的相似度的方式可以为:计算标准首帧图像与录屏图像中图像帧的余弦相似度,将标准首帧图像与图像帧的余弦相似度作为标准首帧图像与图像帧的相似度。通过计算标准首帧图像与录屏数据中的每帧图像的余弦相似度,能够准确地得到标准首帧图像与录屏数据中的每帧图像的相似度。
46.在一实施例中,将录屏数据和标准首帧图像输入至预设图像匹配模型中处理,得到执行测试操作对应的首帧图像,预设图像匹配模型为预先训练好的神经网络模型。通过
该预设图像匹配模型能够准确地筛选出执行测试操作对应的首帧图像。
47.在一实施例中,训练预设图像匹配模型的方式可以为:该预设图像匹配模型可以是神经网络模型、卷积神经网络模型和循环卷积神经网络模型等。获取样本数据,该样本数据包括多个样本录屏数据、样本标准首帧图像和各样本录屏数据对应的样本首帧图像,将样本录屏数据和样本标准首帧图像输入至预设神经网络模型中处理,得到预测首帧图像;根据预测首帧图像和样本标准首帧图像,确定预设神经网络模型的损失值,根据该损失值确定预设神经网络模型是否收敛,在该预设神经网络模型未收敛的情况下,调整该预设神经网络模型的模型参数,以更新该预设神经网络模型并继续输入样本录屏数据和样本标准首帧图像进行训练,直至该预设神经网络模型收敛,得到预设图像匹配模型。根据样本数据对预设神经网络模型进行训练,能够准确地得到预设图像匹配模型。
48.在一实施例中,根据预测首帧图像和样本标准首帧图像,确定预设神经网络模型的损失值的方式可以为:确定预测首帧图像和样本标准首帧图像是否相同,在预测首帧图像和样本标准首帧图像相同的情况下,将此次训练的损失参数赋予0,在预测首帧图像和样本标准首帧图像不相同的情况下,将此次训练的损失参数赋予1,对所有的损失参数进行累加,得到第一参数,将损失参数的数量作为第二参数,并将第一参数除以第二参数,得到第三参数,并将第三参数确定预设神经网络模型的损失值。
49.在一实施例中,根据该损失值确定预设神经网络模型是否收敛的方式可以为:确定该损失值是否小于或等于预设阈值,在该损失值小于或等于预设阈值的情况下,确定预设神经网络模型已收敛;在该损失值大于预设阈值的情况下,确定预设神经网络模型未收敛。其中,该预设阈值可以根据实际情况进行设置,本发明实施例对此不做具体限定,例如,该预设阈值可以设置为0.05。通过该损失值的大小能够准确地知晓预设神经网络模型是否收敛,极大地提高了训练预设图像匹配模型的准确性。
50.子步骤s1023、从所述录屏数据中筛选出与所述标准末帧图像相匹配的图像帧,得到执行所述测试操作对应的末帧图像。
51.在一实施例中,计算标准末帧图像与录屏数据中的每帧图像的相似度;将相似度大于或等于预设相似度对应的图像帧确定为执行测试操作对应的末帧图像。其中,该预设相似度可以根据实际情况进行设置,本发明实施例对此不做具体限定,例如,该预设相似度可以为98%。通过计算标准末帧图像与录屏数据中的每帧图像的相似度,能够准确地从录屏数据中筛选出末帧图像,极大地提高了应用程序性能测试的效率和准确性。
52.在一实施例中,计算标准末帧图像与录屏数据中的每帧图像的相似度的方式可以为:计算标准末帧图像与录屏图像中图像帧的余弦相似度,将标准末帧图像与图像帧的余弦相似度作为标准末帧图像与图像帧的相似度。通过计算标准末帧图像与录屏数据中的每帧图像的余弦相似度,能够准确地得到标准末帧图像与录屏数据中的每帧图像的相似度。
53.在一实施例中,将录屏数据和标准末帧图像输入至预设图像匹配模型中处理,得到执行测试操作对应的末帧图像,预设图像匹配模型为预先训练好的神经网络模型。通过该预设图像匹配模型能够准确地筛选出执行测试操作对应的末帧图像。
54.在一实施例中,训练预设图像匹配模型的方式可以为:该预设图像匹配模型可以是神经网络模型、卷积神经网络模型和循环卷积神经网络模型等。获取样本数据,该样本数据包括多个样本录屏数据、样本标准末帧图像和各样本录屏数据对应的样本末帧图像,将
样本录屏数据和样本标准末帧图像输入至预设神经网络模型中处理,得到预测末帧图像;根据预测末帧图像和样本标准末帧图像,确定预设神经网络模型的损失值,根据该损失值确定预设神经网络模型是否收敛,在该预设神经网络模型未收敛的情况下,调整该预设神经网络模型的模型参数,以更新该预设神经网络模型并继续输入样本录屏数据和样本标准末帧图像进行训练,直至该预设神经网络模型收敛,得到预设图像匹配模型。根据样本数据对预设神经网络模型进行训练,能够准确地得到预设图像匹配模型。
55.在一实施例中,根据预测末帧图像和样本标准末帧图像,确定预设神经网络模型的损失值的方式可以为:确定预测末帧图像和样本标准末帧图像是否相同,在预测末帧图像和样本标准末帧图像相同的情况下,将此次训练的损失参数赋予0,在预测末帧图像和样本标准末帧图像不相同的情况下,将此次训练的损失参数赋予1,对所有的损失参数进行累加,得到第一参数,将损失参数的数量作为第二参数,并将第一参数除以第二参数,得到第三参数,并将第三参数确定预设神经网络模型的损失值。
56.在一实施例中,根据该损失值确定预设神经网络模型是否收敛的方式可以为:确定该损失值是否小于或等于预设阈值,在该损失值小于或等于预设阈值的情况下,确定预设神经网络模型已收敛;在该损失值大于预设阈值的情况下,确定预设神经网络模型未收敛。其中,该预设阈值可以根据实际情况进行设置,本发明实施例对此不做具体限定,例如,该预设阈值可以设置为0.05。通过该损失值的大小能够准确地知晓预设神经网络模型是否收敛,极大地提高了训练预设图像匹配模型的准确性。
57.步骤s103、根据所述首帧图像、末帧图像和录屏数据,确定执行所述测试操作所需的时长,并根据所述时长输出性能测试结果。
58.在一实施例中,从录屏数据中获取首帧图像的时间戳,得到第一时间戳,并从录屏数据中获取末帧图像的时间戳,得到第二时间戳;将第二时间戳减去第一时间戳,得到执行测试操作所需的时长。能够准确地确定首帧图像处于录屏数据中的第一时间戳和末帧图像处于录屏数据中的第二时间戳,极大地提高了应用程序测试的准确性。
59.示例性的,从录屏数据中获取首帧图中的时间戳,得到第一时间戳为0.022,从录屏数据中获取末帧图像的时间戳,得到第二时间戳0.025,将第二时间戳0.025减去第一时间戳0.022,得到执行测试操作所需的时长0.003。
60.在一实施例中,确定时长是否大于或等于预设时长;在时长大于或等于预设时长的情况下,确定性能测试结果为未通过测试;在时长小于预设时长的情况下,确定性能测试结果为已通过测试。其中,该预设时长可以根据实际情况进行设置,本发明实施例对此不做具体限定,例如,该预设时长可以是为0.002。通过将用于程序的运行时长与预设时长进行对比,能够准确地知晓应用程序的性能测试结果。
61.示例性的,应用程序a页面切换的首帧图像的第一时间戳为0.022,页面切换完成的末帧图像的第二时间戳为0.025,将第二时间戳0.025减去第一时间戳0.022,得到页面切换的时长为0.003,其中,预设时长为0.002,页面切换的时长0.003大于预设时长0.002,确定应用程序a页面切换的性能测试结果为未通过测试。
62.示例性的,应用程序b退出程序的首帧图像的第一时间戳为0.025,退出程序完成的末帧图像的第二时间戳为0.026,将第二时间戳0.026减去第一时间戳0.025,得到页面切换的时长为0.001,其中,预设时长为0.002,页面切换的时长0.001小于预设时长0.002,确
定应用程序b退出程序的性能测试结果为已通过测试。
63.在一实施例中,在时长大于或等于预设时长的情况下,确定性能测试结果为未通过测试的情况下,获取执行测试操作的执行日志,并根据执行日志,确定执行测试操作的各线程和各线程的耗时;根据各线程的耗时,确定发生故障的线程。根据各线程的耗时,能够准确地查询出发生故障的线程。
64.示例性的,在时长大于或等于预设时长的情况下,确定性能测试结果为未通过测试的情况下,获取执行测试操作的执行日志,从执行日志抓取关键词,获取各个关键词对应的线程,并获取各个线程所消耗的时长,得到如图4所示的线程时长图,从图4中可知线程1所消耗时长最多,线程5所消耗时长最少,根据线程1消耗时长最多,可知线程1发生故障,即可优先对线程1进行优化。
65.示例性的,如图5所示,应用程序的性能测试方式包括步骤s201在接收到测试指令的情况下,运行待测应用程序执行测试指令对应的测试操作,同时对测试操作的执行过程进行录屏,得到录屏数据;步骤s202从录屏数据中确定执行测试操作对应的首帧图像和末帧图像;步骤s203根据首帧图像、末帧图像和录屏数据,确定执行测试操作所需的时长,并根据时长输出性能测试结果;步骤s204在性能测试结果为已通过测试的情况下,输出测试已通过;步骤s205在性能测试结果为未通过测试的情况下,获取执行测试操作的执行日志,并根据执行日志,确定执行测试操作的各线程和各线程的耗时;根据各线程的耗时,确定发生故障的线程。
66.上述实施例提供的应用程序的性能测试方法,在接收到测试指令的情况下,运行待测应用程序执行测试指令对应的测试操作,同时对测试操作的执行过程进行录屏,能够准确地得到录屏数据;从录屏数据中确定执行测试操作对应的首帧图像和末帧图像;然后根据首帧图像、末帧图像和录屏数据,确定执行测试操作所需的时长,并根据时长输出性能测试结果。本方案通过确定执行测试操作所需的时长,根据时长能够准确地输出应用程序的性能测试结果,极大地提高了应用程序性能测试的效率和准确性。
67.请参阅图6,图6为本技术实施例提供的一种终端设备的结构示意性框图。
68.如图6所示,该终端设备301包括通过系统总线301连接的处理器302和存储器303,其中,存储器可以包括存储介质和内存储器。
69.存储介质可存储计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器302执行任意一种应用程序的性能测试方法。
70.处理器302用于提供计算和控制能力,支撑整个终端设备的运行。
71.内存储器为存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种应用程序的性能测试方法。
72.本领域技术人员可以理解,图6中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的终端设备的限定,具体的终端设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
73.应当理解的是,处理器302可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器302、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立
门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
74.其中,在一个实施例中,所述处理器302用于运行存储在存储器中的计算机程序,以实现如下步骤:
75.在接收到测试指令的情况下,运行待测应用程序执行所述测试指令对应的测试操作,同时对所述测试操作的执行过程进行录屏,得到录屏数据;
76.从所述录屏数据中确定执行所述测试操作对应的首帧图像和末帧图像;
77.根据所述首帧图像、末帧图像和录屏数据,确定执行所述测试操作所需的时长,并根据所述时长输出性能测试结果。
78.在一个实施例中,所述处理器302用于实现所述测试操作包括所述待测应用程序的启动、退出、页面间切换、前后台切换和控件响应中的至少一种。
79.在一个实施例中,所述处理器302在实现所述从所述录屏数据中确定执行所述测试操作对应的首帧图像和末帧图像时,用于实现:
80.获取所述测试操作对应的标准首帧图像和标准末帧图像;
81.从所述录屏数据中筛选出与所述标准首帧图像相匹配的图像帧,得到执行所述测试操作对应的首帧图像;
82.从所述录屏数据中筛选出与所述标准末帧图像相匹配的图像帧,得到执行所述测试操作对应的末帧图像。
83.在一个实施例中,所述处理器302在实现所述从所述录屏数据中筛选出与所述标准首帧图像相匹配的图像帧,得到执行所述测试操作对应的首帧图像时,用于实现:
84.计算所述标准首帧图像与所述录屏数据中的每帧图像的相似度;
85.将所述相似度大于或等于预设相似度对应的图像帧确定为执行所述测试操作对应的首帧图像。
86.在一个实施例中,所述处理器302在实现所述从所述录屏数据中筛选出与所述标准首帧图像相匹配的图像帧,得到执行所述测试操作对应的首帧图像时,用于实现:
87.将所述录屏数据和所述标准首帧图像输入至预设图像匹配模型中处理,得到执行所述测试操作对应的首帧图像,所述预设图像匹配模型为预先训练好的神经网络模型。
88.在一个实施例中,所述处理器302在实现所述根据所述首帧图像、末帧图像和录屏数据,确定执行所述测试操作所需的时长时,用于实现:
89.从所述录屏数据中获取所述首帧图像的时间戳,得到第一时间戳,并从所述录屏数据中获取所述末帧图像的时间戳,得到第二时间戳;
90.将所述第二时间戳减去所述第一时间戳,得到执行所述测试操作所需的时长。
91.在一个实施例中,所述处理器302在实现所述根据所述时长输出性能测试结果时,用于实现:
92.确定所述时长是否大于或等于预设时长;
93.在所述时长大于或等于预设时长的情况下,确定所述性能测试结果为未通过测试;
94.在所述时长小于预设时长的情况下,确定所述性能测试结果为已通过测试。
95.在一个实施例中,所述处理器302在实现所述在所述时长大于或等于预设时长的
情况下,确定所述性能测试结果为未通过测试之后,还用于实现:
96.获取执行所述测试操作的执行日志,并根据所述执行日志,确定执行所述测试操作的各线程和各所述线程的耗时;
97.根据各所述线程的耗时,确定发生故障的线程。
98.需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述终端设备的具体工作过程,可以参考前述应用程序的性能测试方法实施例中的对应过程,在此不再赘述。
99.本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括程序指令,所述程序指令被执行时所实现的方法可参照本技术应用程序的性能测试方法的各个实施例。
100.其中,所述计算机可读存储介质可以是前述实施例所述的终端设备的内部存储单元,例如所述终端设备的硬盘或内存。所述计算机可读存储介质可以是非易失性的,也可以是易失性的。所述计算机可读存储介质也可以是所述终端设备的外部存储设备,例如所述终端设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
101.应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。如在本技术说明书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
102.还应当理解,在本技术说明书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
103.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。

技术特征:
1.一种应用程序的性能测试方法,其特征在于,包括:在接收到测试指令的情况下,运行待测应用程序执行所述测试指令对应的测试操作,同时对所述测试操作的执行过程进行录屏,得到录屏数据;从所述录屏数据中确定执行所述测试操作对应的首帧图像和末帧图像;根据所述首帧图像、末帧图像和录屏数据,确定执行所述测试操作所需的时长,并根据所述时长输出性能测试结果。2.如权利要求1所述的应用程序的性能测试方法,其特征在于,所述测试操作包括所述待测应用程序的启动、退出、页面间切换、前后台切换和控件响应中的至少一种。3.如权利要求1所述的应用程序的性能测试方法,其特征在于,所述从所述录屏数据中确定执行所述测试操作对应的首帧图像和末帧图像,包括:获取所述测试操作对应的标准首帧图像和标准末帧图像;从所述录屏数据中筛选出与所述标准首帧图像相匹配的图像帧,得到执行所述测试操作对应的首帧图像;从所述录屏数据中筛选出与所述标准末帧图像相匹配的图像帧,得到执行所述测试操作对应的末帧图像。4.如权利要求3所述的应用程序的性能测试方法,其特征在于,所述从所述录屏数据中筛选出与所述标准首帧图像相匹配的图像帧,得到执行所述测试操作对应的首帧图像,包括:计算所述标准首帧图像与所述录屏数据中的每帧图像的相似度;将所述相似度大于或等于预设相似度对应的图像帧确定为执行所述测试操作对应的首帧图像。5.如权利要求3所述的应用程序的性能测试方法,其特征在于,所述从所述录屏数据中筛选出与所述标准首帧图像相匹配的图像帧,得到执行所述测试操作对应的首帧图像,包括:将所述录屏数据和所述标准首帧图像输入至预设图像匹配模型中处理,得到执行所述测试操作对应的首帧图像,所述预设图像匹配模型为预先训练好的神经网络模型。6.如权利要求1所述的应用程序的性能测试方法,其特征在于,所述根据所述首帧图像、末帧图像和录屏数据,确定执行所述测试操作所需的时长,包括:从所述录屏数据中获取所述首帧图像的时间戳,得到第一时间戳,并从所述录屏数据中获取所述末帧图像的时间戳,得到第二时间戳;将所述第二时间戳减去所述第一时间戳,得到执行所述测试操作所需的时长。7.如权利要求1所述的应用程序的性能测试方法,其特征在于,所述根据所述时长输出性能测试结果,包括:确定所述时长是否大于或等于预设时长;在所述时长大于或等于预设时长的情况下,确定所述性能测试结果为未通过测试;在所述时长小于预设时长的情况下,确定所述性能测试结果为已通过测试。8.如权利要求7所述的应用程序的性能测试方法,其特征在于,所述在所述时长大于或等于预设时长的情况下,确定所述性能测试结果为未通过测试之后,还包括:获取执行所述测试操作的执行日志,并根据所述执行日志,确定执行所述测试操作的
各线程和各所述线程的耗时;根据各所述线程的耗时,确定发生故障的线程。9.一种终端设备,其特征在于,所述终端设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如权利要求1至8中任一项所述的应用程序的性能测试方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如权利要求1至8中任一项所述的应用程序的性能测试方法的步骤。

技术总结
本申请提供一种应用程序的性能测试方法、设备及存储介质,属于软件测试技术领域,该方法包括:在接收到测试指令的情况下,运行待测应用程序执行测试指令对应的测试操作,同时对测试操作的执行过程进行录屏,能够准确地得到录屏数据;从录屏数据中确定执行测试操作对应的首帧图像和末帧图像;然后根据首帧图像、末帧图像和录屏数据,确定执行测试操作所需的时长,并根据时长输出性能测试结果。本方案通过确定执行测试操作所需的时长,根据时长能够准确地输出应用程序的性能测试结果,极大地提高了应用程序性能测试的效率和准确性。了应用程序性能测试的效率和准确性。了应用程序性能测试的效率和准确性。


技术研发人员:鲁甜甜
受保护的技术使用者:深圳开鸿数字产业发展有限公司
技术研发日:2023.03.16
技术公布日:2023/7/26
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐