CN116048947A - 应用程序测试方法、装置、电子设备和可读存储介质 - Google Patents
应用程序测试方法、装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN116048947A CN116048947A CN202111248004.8A CN202111248004A CN116048947A CN 116048947 A CN116048947 A CN 116048947A CN 202111248004 A CN202111248004 A CN 202111248004A CN 116048947 A CN116048947 A CN 116048947A
- Authority
- CN
- China
- Prior art keywords
- current action
- target
- test
- application program
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Biophysics (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例公开了一种应用程序测试方法、装置、电子设备和可读存储介质;在本申请实施例中,通过识别测试图像,得到与测试图像对应的目标当前动作以及目标当前动作在界面上的目标位置。最后在目标位置自动执行目标当前动作,从而使得无需根据应用程序不同的界面编写不同的测试代码,进而提高应用程序的测试效率。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种应用程序测试方法、装置、电子设备和可读存储介质。
背景技术
近年来,随着互联网技术的飞速发展,各种各样的应用程序(Application,App)也越来越多。在应用程序被使用之前,需要先对应用程序的用户界面(User Interface,UI)进行测试。
在目前对应用程序的用户界面进行测试的方法中,针对应用程序的不同用户界面需编写不同的测试代码,导致测试效率较低。
发明内容
本发明实施例提供一种应用程序测试方法、装置、电子设备和可读存储介质,可以提高测试效率。
一种应用程序测试方法,包括:
获取待测试应用程序的界面的测试图像;
识别上述测试图像,得到与上述测试图像对应的目标当前动作以及上述目标当前动作在上述界面上的目标位置;
在上述目标位置执行上述目标当前动作,得到上述待测试应用程序的测试结果。
可选地,识别上述测试图像,得到与上述测试图像对应的目标当前动作以及上述目标当前动作在上述界面上的目标位置,包括:
识别上述测试图像,得到与上述测试图像对应的各个最初动作的集合以及各个上述最初动作在上述界面上的最初位置;
从上述集合中随机选取一个上述最初动作作为与上述测试图像对应的目标当前动作,并将选取的最初动作的最初位置作为上述目标当前动作在上述界面上的目标位置。
可选地,上述识别上述测试图像,得到与上述测试图像对应的目标当前动作以及上述目标当前动作在上述界面上的目标位置,包括:
通过已训练的神经网络模型识别上述测试图像,得到与上述测试图像对应的目标当前动作以及上述目标当前动作在上述界面上的目标位置。
可选地,在通过已训练的神经网络模型识别上述测试图像,得到与上述测试图像对应的目标当前动作以及上述目标当前动作在上述界面上的目标位置之前,还包括:
获取用户界面的图像训练集;
将上述图像训练集中的训练图像输入至待训练的神经网络模型中进行识别,得到上述训练图像对应的初始当前动作和上述初始当前动作在上述用户界面上的初始位置;
在上述初始位置上执行上述初始当前动作,得到执行结果;
根据上述执行结果对上述待训练的神经网络模型进行训练,得到已训练的神经网络模型。
可选地,上述根据上述执行结果对上述待训练的神经网络模型进行训练,得到已训练的神经网络模型,包括:
若上述执行结果满足预设条件,则将奖励值加1,若上述执行结果不满足预设条件,则将奖励值减1;
若上述奖励值小于预设数值,则根据上述初始当前动作、上述初始位置、真实当前动作和真实位置确定目标损失值;
根据上述目标损失值更新待训练的神经网络模型的网络参数,并返回执获取用户界面的图像训练集;
若上述奖励值等于预设数值,则停止训练,得到上述已训练的神经网络模型。
可选地,在上述在上述目标位置执行上述目标当前动作,得到上述待测试应用程序的测试结果之后,还包括:
将上述目标位置、上述目标当前动作、上述测试应用程序响应于上述目标当前动作的时间以及上述测试结果作为测试日志进行存储。
可选地,在上述将上述目标位置、上述目标当前动作、上述测试应用程序响应于上述目标当前动作的时间以及上述测试结果作为测试日志进行存储之后,还包括:
对上述测试日志进行分析,得到测试报告;
将上述测试报告输出至测试用户。
相应地,本发明实施例提供一种应用程序测试装置,包括:
获取模块,用于获取待测试应用程序的界面的测试图像;
识别模块,用于识别上述测试图像,得到与上述测试图像对应的目标当前动作以及上述目标当前动作在上述界面上的目标位置;
执行模块,用于在上述目标位置执行上述目标当前动作,得到上述待测试应用程序的测试结果。
此外,本发明实施例还提供一种电子设备,包括处理器和存储器,上述存储器存储有计算机程序,上述处理器用于运行上述存储器内的计算机程序实现本发明实施例提供的应用程序测试方法。
此外,本发明实施例还提供一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序适于处理器进行加载,以执行本发明实施例所提供的任一种应用程序测试方法中的步骤。
在本实施例中,先获取待测试应用程序的界面的测试图像。然后识别测试图像,得到与测试图像对应的目标当前动作以及目标当前动作在界面上的目标位置。最后在目标位置执行目标当前动作,得到待测试应用程序的测试结果。
即在本申请实施例中,通过识别测试图像,得到与测试图像对应的目标当前动作以及目标当前动作在界面上的目标位置。最后在目标位置自动执行目标当前动作,从而使得无需根据应用程序不同的界面编写不同的测试代码,进而提高应用程序的测试效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的应用程序测试方法的流程示意图;
图2是本发明实施例提供的用户界面的示意图;
图3是本发明实施例提供的应用程序测试装置的结构示意图;
图4是本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种应用程序测试方法、装置、电子设备和计算机可读存储介质。其中,该应用程序测试装置可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备。
其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
以下分别进行详细说明。需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本实施例将从应用程序测试装置的角度进行描述,该应用程序测试装置具体可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备。为了方便描述,从应用程序测试装置集成在终端中的角度进行描述。
如图1所示,该应用程序测试方法的具体流程如下:
S101、获取待测试应用程序的界面的测试图像。
界面指待测试应用程序的用户界面。当需要对待测试应用程序进行测试时,用户可以打开待测试应用程序,从而使得终端显示待测试应用程序的用户界面。终端在检测到待测试应用程序被打开后,可以对终端当前的显示界面,即待测试应用程序的用户界面进行截图,从而得到待测试应用程序的界面的测试图像。
或者,当用户打开待测试应用程序使得终端显示待测试应用程序的用户界面后,可以通过其他终端对待测试应用程序的用户界面进行拍摄,得到待测试应用程序的界面的测试图像,其他终端再将测试图像发送至本终端,本终端从而获取到测试图像。
S102、识别测试图像,得到与测试图像对应的目标当前动作以及目标当前动作在界面上的目标位置。
终端在获取到测试图像之后,对该测试图像进行识别,从而得到与测试图像对应的目标当前动作以及目标当前动作在界面上的目标位置。
可选地,可以先将测试图像以及目标当前动作、目标当前动作在界面上的目标位置关联存储在映射表中,然后在对测试图像进行识别之后,再从映射表中找到与测试图像对应的目标当前动作以及目标当前动作在界面上的目标位置。
或者,也可以通过已训练的神经网络模型识别测试图像,从而得到与测试图像对应的目标当前动作以及目标当前动作在界面上的目标位置。
已训练的神经网络模型可以为已训练的强化学习模型(ReinforcementLearning,RL)。强化学习模型可以包括但不限于Q-learning模型和近端策略优化模型(Proximal Policy Optimization,PPO)。
目标当前动作包括但不限于点击、长按或者滑动等。
S103、在目标位置执行目标当前动作,得到待测试应用程序的测试结果。
终端在得到目标当前动作以及目标当前动作在界面上的目标位置之后,终端再在目标位置执行目标当前动作,从而得到待测试应用程序的测试结果。
如果该测试图像存在多个目标当前动作且在执行目标当前动作之后,终端检测到待测试应用程序的界面没有发生变化,则此时可以更换目标当前动作,然后更换后的目标当前动作的目标位置上执行更换后的目标当前动作,从而得到待测试应用程序的测试结果。
在执行目标当前动作之后,终端如果检测到待测试应用程序的界面在预设时间内跳转为指定界面,或者检测到待测试应用程序的界面跳转为其他界面,或者检测到待测试应用程序的界面跳转为指定界面的时间超出预设时间,则返回执行获取待测试应用程序的界面的测试图像,直至待测试应用程序所有的用户界面均被测试完成时停止测试,从而得到待测试应用程序的测试结果。
其中,在执行目标当前动作之后,如果检测到待测试应用程序的界面在预设时间内跳转为指定界面,则测试结果可以为该待测试应用程序没有问题。如果检测到待测试应用程序的界面没有在预设时间内跳转为指定界面,即检测到待测试应用程序的界面没有发生变化,或者检测到待测试应用程序的界面跳转为其他界面,或者检测到待测试应用应用程序的界面跳转为指定界面的时间超出预设时间,则测试结果为待测试应用程序存在问题。
需要说明的是,在目标位置上执行目标当前动作之后,如果待测试应用程序没有存在其他待测试的用户界面了,则此时可以得到待测试应用程序的测试结果,如果待测试应用程序还存在其他待测试的用户界面,则此时得到的是待测试应用程序的界面的测试结果,此时,还需要对其他待测试的用户界面进行测试,直至待测试应用程序所有的用户界面均被测试完成时得到的才是待测试应用程序的测试结果。
由以上可知,在本实施例中,先获取待测试应用程序的界面的测试图像。然后识别测试图像,得到与测试图像对应的目标当前动作以及目标当前动作在界面上的目标位置。最后在目标位置执行目标当前动作,得到待测试应用程序的测试结果。
即在本申请实施例中,通过识别测试图像,得到与测试图像对应的目标当前动作以及目标当前动作在界面上的目标位置。最后在目标位置自动执行目标当前动作,从而使得无需根据应用程序不同的界面编写不同的测试代码,进而提高应用程序的测试效率。
在一些实施例中,识别测试图像,得到与测试图像对应的目标当前动作以及目标当前动作在所述界面上的目标位置,包括:
识别测试图像,得到与测试图像对应的各个最初动作的集合以及各个最初动作在界面上的最初位置;从集合中随机选取一个最初动作作为与测试图像对应的目标当前动作,并将选取的最初动作的最初位置作为目标当前动作在界面上的目标位置。
由于有些用户界面存在多个按钮,即用户界面上存在多个动作,即测试图像对应多个最初动作,比如,如图2所示,用户界面上包括推荐按钮、关注按钮、热点按钮、分类按钮以及我按钮等。则识别测试图像后,可以得到与测试图像对应的各个最初动作的集合以及各个最初动作在界面上的最初位置。然后从集合中随机选取一个最初动作作为与测试图像对应的目标当前动作,并将选取的最初动作的最初位置作为目标当前动作在界面上的目标位置。
随机选取最初动作作为目标当前动作,相对于预先设置好最初动作的顺序的方法,可以更加容易地发现待测试应用程序隐藏的问题。
在得到待测试应用程序的测试结果之后,还可以将目标位置、目标当前动作、测试应用程序响应于目标当前动作的时间以及测试结果作为测试日志进行存储,以便后续测试人员可以根据测试日志了解待测试应用程序的情况。
另外,在将目标位置、目标当前动作、测试应用程序响应于目标当前动作的时间以及测试结果作为测试日志进行存储之后,终端还可以对测试日志进行分析,得到测试报告,并将测试报告输出至测试人员。或者,也可以将测试日志发生至云端,云端再对测试日志进行分析,得到测试报告。
其中,对测试日志进行分析,得到测试报告的过程可以为:确定测试日志中的异常数据,对异常数据按照预设的规则进行标记,得到测试报告,从而以便测试人员更加快速地发现异常数据。异常数据可以包括在目标位置执行目标动作后没有响应的待测试应用程序的界面、者跳转为其他界面的待测试应用程序的界面、跳转为指定界面的时间超出预设时间的待测试应用程序的界面、目标位置或者目标动作等。
此外,如果是通过已训练的神经网络模型识别测试图像,得到与测试图像对应的目标当前动作以及目标当前动作在界面上的目标位置,则在对测试日志进行分析的过程中,还可以根据测试结果、目标位置以及目标动作进行曲线分析,从而得到已训练的神经网络模型的正确率曲线,以便后续可以根据该正确率曲线对已训练的神经网络模型进行优化。
如果是通过已训练的神经网络模型识别测试图像,得到与测试图像对应的目标当前动作以及目标当前动作在界面上的目标位置,则在通过已训练的神经网络模型识别测试图像,得到与测试图像对应的目标当前动作以及目标当前动作在界面上的目标位置之前,还包括:
获取用户界面的图像训练集;将图像训练集中的训练图像输入至待训练的神经网络模型中进行识别,得到训练图像对应的初始当前动作和初始当前动作在用户界面上的初始位置;在初始位置上执行初始当前动作,得到执行结果;根据执行结果对待训练的神经网络模型进行训练,得到已训练的神经网络模型。
初始当前动作包括但不限于点击、长按或者滑动等。
在本实施例中,训练待训练的神经网络模型对训练图像对应的初始当前动作和初始当前动作在用户界面上的初始位置进行识别,从而使得已训练的神经网络模型可以对不同系统版本的待测试应用程序进行识别,即使得已训练的神经网络模型的兼容性较强。
比如,待测试应用程序包括网页版应用程序和安卓版应用程序。由于安卓版应用程序的用户界面包括控件,一个控件对应一个执行动作(执行动作指点击或者长按等),则可以基于控件布局确定执行动作,但是网页版应用程序的执行动作并不是以控件的形式存在,不能基于控件布局确定执行动作。
因此,如果只训练待训练的神经网络模型基于控件布局对训练图像对应的初始当前动作进行识别,则通过该方法训练得到的已训练的神经网络模型只能对安卓版应用程序进行测试,不能对网页版应用程序进行测试,即通过该方法训练得到的已训练的神经网络模型的兼容性较差。
而在本实施例中,训练待训练的神经网络模型对训练图像对应的初始当前动作和初始当前动作在用户界面上的初始位置进行识别,无需训练待训练的神经网络模型基于控件布局对训练图像对应的初始当前动作进行识别,使得训练得到的已训练的神经网络模型可以同时适用于不同系统版本的待测试应用程序。
其中,根据执行结果对待训练的神经网络模型进行训练,得到已训练的神经网络模型的过程可以为:若执行结果满足预设条件,则将奖励值加1,若执行结果不满足预设条件,则将奖励值减1。
若奖励值小于预设数值,则根据初始当前动作、初始位置、真实当前动作和真实位置确定目标损失值;
根据目标损失值更新待训练的神经网络模型的网络参数,并返回执获取用户界面的图像训练集;
若奖励值等于预设数值,则停止训练,得到已训练的神经网络模型。
在初始位置上执行初始当前动作后,如果初始位置正确且初始当前动作正确,则执行结果为从当前界面跳转到指定界面,即判定执行结果满足预设条件,当前界面指训练图像对应的用户界面,此时,将奖励值加1。如果初始位置不正确和/或初始当前动作不正确,则执行结果为没有从当前界面跳转到指定界面指当前界面没有响应、当前界面跳转到其他界面或当前界面跳转到指定界面的时间查出预设时长,即判定执行结果不满足预设条件,将奖励值减1。
此外,由于过拟合导致识别的准确率较低的问题,一般一个已训练的神经网络模型只用于测试同种待测试应用程序,比如,已训练的神经网络模型只用于测试待测试应用程序A,不可以同时用于测试待测试应用程序B。
在本实施例中,图像训练集可以包括不同待测试应用程序的训练图像。然后在奖励值等于预设数值,停止训练,得到已训练的神经网络模型后,采用图像测试集对已训练的神经网络模型进行测试,得到各个损失值,如果各个损失值的平均值满足条件,则将已训练的神经网络模型作为最终的已训练的神经网络模型。如果各个损失值的平均值不满足条件,则根据各个损失值更新已训练的神经网络模型的网络模型参数,并返回执行获取用户界面的图像训练集。
在本实施例中,在根据图像训练集对待训练的神经网络模型的训练停止后,采用图像测试集对已训练的神经网络模型进行测试,使得可以减少过拟合的程度,提高对测试图像进行识别的准确率,进而使得已训练的神经网络模型可以用于测试不同的待测试应用程序。
为了更好地实施以上方法,本发明实施例还提供一种应用程序测试装置,该应用程序测试装置可以集成在电子设备,比如服务器或终端等设备中。
例如,如图3所示,该应用程序测试装置可以包括:
获取模块301,用于获取待测试应用程序的界面的测试图像;
识别模块302,用于识别测试图像,得到与测试图像对应的目标当前动作以及目标当前动作在所述界面上的目标位置;
执行模块303,用于在目标位置执行目标当前动作,得到待测试应用程序的测试结果。
可选地,识别模块302具体用于执行:
识别测试图像,得到与测试图像对应的各个最初动作的集合以及各个最初动作在界面上的最初位置;
从集合中随机选取一个最初动作作为与测试图像对应的目标当前动作,并将选取的最初动作的最初位置作为目标当前动作在界面上的目标位置。
可选地,识别模块302具体用于执行:
通过已训练的神经网络模型识别测试图像,得到与测试图像对应的目标当前动作以及目标当前动作在界面上的目标位置。
可选地,该应用程序测试装置还包括:
训练模块,用于:
获取用户界面的图像训练集;
将图像训练集中的训练图像输入至待训练的神经网络模型中进行识别,得到训练图像对应的初始当前动作和初始当前动作在用户界面上的初始位置;
在初始位置上执行初始当前动作,得到执行结果;
根据执行结果对待训练的神经网络模型进行训练,得到已训练的神经网络模型。
可选地,训练模块具体用于执行:
若执行结果满足预设条件,则将奖励值加1,若执行结果不满足预设条件,则将奖励值减1;
若奖励值小于预设数值,则根据初始当前动作、初始位置、真实当前动作和真实位置确定目标损失值;
根据目标损失值更新待训练的神经网络模型的网络参数,并返回执获取用户界面的图像训练集;
若奖励值等于预设数值,则停止训练,得到已训练的神经网络模型。
可选地,该应用程序测试装置还包括:
存储模块,用于将目标位置、目标当前动作、测试应用程序响应于目标当前动作的时间以及测试结果作为测试日志进行存储。
可选地,该应用程序测试装置还包括:
分析模块,用于对测试日志进行分析,得到测试报告;将测试报告输出至测试用户。
具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块的具体实施以及对应的有益效果可参见前面的方法实施例,在此不再赘述。
本发明实施例还提供一种电子设备,如图4所示,其示出了本发明实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的计算机程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储计算机程序以及模块,处理器401通过运行存储在存储器402的计算机程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的计算机程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
电子设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的计算机程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的计算机程序,从而实现各种功能,比如:
获取待测试应用程序的界面的测试图像;
识别测试图像,得到与测试图像对应的目标当前动作以及目标当前动作在界面上的目标位置;
在目标位置执行目标当前动作,得到待测试应用程序的测试结果。
以上各个操作的具体实施以及对应的有益效果可参见前面的实施例,在此不作赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过计算机程序来完成,或通过计算机程序控制相关的硬件来完成,该计算机程序可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种计算机可读存储介质,其中存储有计算机程序,该计算机程序能够被处理器进行加载,以执行本发明实施例所提供的任一种应用程序测试方法中的步骤。例如,该计算机程序可以执行如下步骤:
获取待测试应用程序的界面的测试图像;
识别测试图像,得到与测试图像对应的目标当前动作以及目标当前动作在界面上的目标位置;
在目标位置执行目标当前动作,得到待测试应用程序的测试结果。
以上各个操作的具体实施以及对应的有益效果可参见前面的实施例,在此不作赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的计算机程序,可以执行本发明实施例所提供的任一种应用程序测试方法中的步骤,因此,可以实现本发明实施例所提供的任一种应用程序测试方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
其中,根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述应用程序测试方法。
以上对本发明实施例所提供的一种应用程序测试方法、装置、电子设备和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种应用程序测试方法,其特征在于,包括:
获取待测试应用程序的界面的测试图像;
识别所述测试图像,得到与所述测试图像对应的目标当前动作以及所述目标当前动作在所述界面上的目标位置;
在所述目标位置执行所述目标当前动作,得到所述待测试应用程序的测试结果。
2.根据权利要求1所述的应用程序测试方法,其中,所述识别所述测试图像,得到与所述测试图像对应的目标当前动作以及所述目标当前动作在所述界面上的目标位置,包括:
识别所述测试图像,得到与所述测试图像对应的各个最初动作的集合以及各个所述最初动作在所述界面上的最初位置;
从所述集合中随机选取一个所述最初动作作为与所述测试图像对应的目标当前动作,并将选取的最初动作的最初位置作为所述目标当前动作在所述界面上的目标位置。
3.根据权利要求1或2任一项所述的应用程序测试方法,其中,所述识别所述测试图像,得到与所述测试图像对应的目标当前动作以及所述目标当前动作在所述界面上的目标位置,包括:
通过已训练的神经网络模型识别所述测试图像,得到与所述测试图像对应的目标当前动作以及所述目标当前动作在所述界面上的目标位置。
4.根据权利要求3所述的应用程序测试方法,其特征在于,在所述通过已训练的神经网络模型识别所述测试图像,得到与所述测试图像对应的目标当前动作以及所述目标当前动作在所述界面上的目标位置之前,还包括:
获取用户界面的图像训练集;
将所述图像训练集中的训练图像输入至待训练的神经网络模型中进行识别,得到所述训练图像对应的初始当前动作和所述初始当前动作在所述用户界面上的初始位置;
在所述初始位置上执行所述初始当前动作,得到执行结果;
根据所述执行结果对所述待训练的神经网络模型进行训练,得到已训练的神经网络模型。
5.根据权利要求4所述的应用程序测试方法,其中,所述根据所述执行结果对所述待训练的神经网络模型进行训练,得到已训练的神经网络模型,包括:
若所述执行结果满足预设条件,则将奖励值加1,若所述执行结果不满足预设条件,则将奖励值减1;
若所述奖励值小于预设数值,则根据所述初始当前动作、所述初始位置、真实当前动作和真实位置确定目标损失值;
根据所述目标损失值更新待训练的神经网络模型的网络参数,并返回执获取用户界面的图像训练集;
若所述奖励值等于预设数值,则停止训练,得到所述已训练的神经网络模型。
6.根据权利要求1所述的应用程序测试方法,其特征在于,在所述在所述目标位置执行所述目标当前动作,得到所述待测试应用程序的测试结果之后,还包括:
将所述目标位置、所述目标当前动作、所述测试应用程序响应于所述目标当前动作的时间以及所述测试结果作为测试日志进行存储。
7.根据权利要求6所述的应用程序测试方法,其特征在于,在所述将所述目标位置、所述目标当前动作、所述测试应用程序响应于所述目标当前动作的时间以及所述测试结果作为测试日志进行存储之后,还包括:
对所述测试日志进行分析,得到测试报告;
将所述测试报告输出至测试用户。
8.一种应用程序测试装置,其特征在于,包括:
获取模块,用于获取待测试应用程序的界面的测试图像;
识别模块,用于识别所述测试图像,得到与所述测试图像对应的目标当前动作以及所述目标当前动作在所述界面上的目标位置;
执行模块,用于在所述目标位置执行所述目标当前动作,得到所述待测试应用程序的测试结果。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器用于运行所述存储器内的计算机程序,以执行权利要求1至7任一项所述的应用程序测试方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行权利要求1至7任一项所述的应用程序测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111248004.8A CN116048947A (zh) | 2021-10-26 | 2021-10-26 | 应用程序测试方法、装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111248004.8A CN116048947A (zh) | 2021-10-26 | 2021-10-26 | 应用程序测试方法、装置、电子设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116048947A true CN116048947A (zh) | 2023-05-02 |
Family
ID=86116887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111248004.8A Pending CN116048947A (zh) | 2021-10-26 | 2021-10-26 | 应用程序测试方法、装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116048947A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116627848A (zh) * | 2023-07-24 | 2023-08-22 | 成都中科合迅科技有限公司 | 应用程序的自动化测试方法和系统 |
-
2021
- 2021-10-26 CN CN202111248004.8A patent/CN116048947A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116627848A (zh) * | 2023-07-24 | 2023-08-22 | 成都中科合迅科技有限公司 | 应用程序的自动化测试方法和系统 |
CN116627848B (zh) * | 2023-07-24 | 2023-09-29 | 成都中科合迅科技有限公司 | 应用程序的自动化测试方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105765528B (zh) | 具有可配置原点定义的应用执行路径跟踪的方法、系统和介质 | |
CN109817312A (zh) | 一种就诊引导方法及计算机设备 | |
CN111563158B (zh) | 文本排序方法、排序装置、服务器和计算机可读存储介质 | |
CN112995690B (zh) | 直播内容品类识别方法、装置、电子设备和可读存储介质 | |
CN116561542A (zh) | 模型的优化训练系统、方法以及相关装置 | |
CN113868126A (zh) | 应用调试方法、装置、设备的存储介质 | |
CN114996103A (zh) | 页面异常检测方法、装置、电子设备和存储介质 | |
CN112950218A (zh) | 一种业务风险评估方法、装置、计算机设备和存储介质 | |
CN116048947A (zh) | 应用程序测试方法、装置、电子设备和可读存储介质 | |
CN114036501A (zh) | 一种app的检测方法、系统、装置、设备及存储介质 | |
CN114048024A (zh) | 任务部署方法、装置、设备、存储介质及产品 | |
CN117234505A (zh) | 一种交互页面生成方法、装置、设备及其存储介质 | |
CN117251761A (zh) | 数据对象分类方法、装置、存储介质及电子装置 | |
CN112559343A (zh) | 测试路径生成方法及相关设备 | |
CN115712571A (zh) | 一种交互服务测试、装置、计算机设备及存储介质 | |
CN115328786A (zh) | 一种基于区块链的自动化测试方法、装置和存储介质 | |
CN114998985A (zh) | 一种智能实验台的预警控制方法及智能实验台 | |
CN115712719A (zh) | 数据处理方法、装置、计算机可读存储介质和计算机设备 | |
CN108958929B (zh) | 应用算法库的方法、装置、存储介质及电子设备 | |
CN111427874A (zh) | 医疗数据生产的质控方法、装置以及电子设备 | |
CN116992031B (zh) | 数据处理方法、装置、电子设备、存储介质及程序产品 | |
KR102529245B1 (ko) | 얼굴 표정 및 환경 분석을 통한 감정 분석에 따른 맞춤형 디지털 헬스케어 명상 컨텐츠 제공 방법, 장치 및 컴퓨터-판독가능 기록매체 | |
CN116340864B (zh) | 一种模型漂移检测方法、装置、设备及其存储介质 | |
KR101036885B1 (ko) | 로봇 정보 제공 시스템 및 방법 | |
EP4024405A1 (en) | An apparatus and method for moderating a skin lesion detection model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |