CN115658540B - 一种智能手机应用功能测试方法及装置 - Google Patents
一种智能手机应用功能测试方法及装置 Download PDFInfo
- Publication number
- CN115658540B CN115658540B CN202211405014.2A CN202211405014A CN115658540B CN 115658540 B CN115658540 B CN 115658540B CN 202211405014 A CN202211405014 A CN 202211405014A CN 115658540 B CN115658540 B CN 115658540B
- Authority
- CN
- China
- Prior art keywords
- operable
- page
- application program
- tested
- function
- 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.)
- Active
Links
Classifications
-
- 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
Abstract
本发明提出了一种智能手机应用功能测试方法及装置,通过使用高硬件配置以及最新版本的系统平台构建虚拟机用于对待测试应用程序的功能和系统资源占用情况进行解析,以得到待测试应用程序的树状测试路径,从而可以基于该树状测试路径在不同的硬件配置参数以及不同的系统平台版本下的虚拟机中对待测试应用程序进行相应测试,自动在不同配置和版本的虚拟机中对待测应用功能进行测试,无需提前写好测试脚本,能够安全快捷地对应用程序自动进行功能测试,降低人力成本,测试全面且准确率高。
Description
技术领域
本发明涉及自动化测试技术领域,特别涉及一种智能手机应用功能测试方法及装置。
背景技术
面向知能手机的应用程序完成开发之后,需要在智能手机环境下运行以对其进行功能测试,从而确定该应用程序是否达到可用标准以及是否存在合规性问题等等。传统的测试方案是采用人工测试的方式对每个应用程序进行功能测试,即测试人员打开应用程序,对应用程序的各个功能进行操作以测试其可用性及合规性。随着全球各大应用市场的应用程序规模持续增长,各大应用市场的应用程序数量高达数百万,月增长量数以万计,加上应用程序高频的版本迭代,人工测试的速度远远跟不上应用程序的增长速度,同时大量重复性的测试工作使得测试效率低下,人力成本激增,并且容易产生漏测误测的情况。为此,人们研究出了对应用程序进行自动化测试的技术,通过将预先写好的测试脚本输入到测试设备中,测试设备即可按照脚本中的程序对应用程序进自动测试,在一定程度上提升了应用程序的测试效率,降低了测试成本。然而测试脚本的设计也极其繁琐耗时,需要投入大量人力进行制作,同时由于测试脚本的复用性差,无法在不同应用程序甚至是在不同版本的同一应用程序上进行复用,使其在效率提升方面非常有限。另一方面,测试脚本的运行依赖于测试平台的底层权限,通过调用测试平台的底层指令来操作应用程序功能,其于真实的人工操作存在一定的差异,测试结果并不能完全反映其在真实使用环境下的表现情况,同时开放测试平台的底层权限也容易带来安全隐患。
发明内容
本发明正是基于上述问题,提出了一种智能手机应用功能测试方法及装置,能够安全快捷地对应用程序自动进行功能测试,降低人力成本,测试全面且准确率高。
有鉴于此,本发明的第一方面提出了一种智能手机应用功能测试方法,包括:
在智能手机应用功能测试装置上构建第一虚拟机,所述第一虚拟机的硬件配置为待测试硬件配置清单中的预设配置,所述第一虚拟机的操作系统为待测试操作系统的预设版本;
将待测试应用程序的安装包传输至所述第一虚拟机进行安装并运行所述待测试应用程序;
通过模拟操作指令确定所述待测试应用程序每个页面中的UI元素的可操作类型和系统资源占用类型;
将对所述模拟操作指令的响应结果包括页面跳转的UI元素确定为页面跳转控件;
建立所述页面跳转控件与跳转前后两个页面的关联关系;
以所述跳转前后的页面为父节点和子节点,以所述页面跳转控件为连线构建树状测试路径;
在所述树状测试路径中标记系统资源占用类型;
在智能手机应用功能测试装置上以待测试硬件配置清单中硬件参数分别对应每一个版本的待测试操作系统构建若干个第二虚拟机;
将所述待测试应用程序的安装包传输至所述第二虚拟机进行安装;
将所述树状测试路径传输至所述第二虚拟机以在所述第二虚拟机上对所述待测试应用程序的功能进行测试。
进一步的,在上述的智能手机应用功能测试方法中,从所述待测试应用程序的默认首页开始按照所述树状测试路径对所述应用程序进行测试,每进入到一个新页面时,获取所述待测试应用程序每个页面中的UI元素的可操作类型和系统资源占用类型的步骤具体包括:
识别页面上的UI元素,将UI元素划分为可操作类UI元素和不可操作类UI元素;
对每一个可操作类UI元素执行模拟操作,所述模拟操作包括点击、滑动、长按、文本输入和/或语音输入;
记录每一个可操作类UI元素从发出模拟操作指令到响应完毕的过程中的系统资源使用情况;
将所述可操作类UI元素对应的功能划分为高资源占用型功能、中等资源占用型功能以及低资源占用型功能。
进一步的,在上述的智能手机应用功能测试方法中,以所述页面跳转控件为连线构建树状测试路径的步骤具体包括:
在打开所述待测试应用程序后显示所述应用程序的默认首页,将所述默认首页确定为所述树状测试路径的根节点;
对当前显示页面的可操作类UI元素进行遍历以确定其中的页面跳转控件;
获取所述页面跳转控件所链接的下一个页面;
当所述下一个页面已经为所述树状测试路径中的节点之一时,跳过所述下一个页面的处理,否则将所述下一个页面确定为当前显示页面的子节点;
将所述下一个页面确定为当前显示页面,并重复执行对当前显示页面的可操作类UI元素进行遍历以确定其中的页面跳转控件及其后续步骤直至所述待测试应用程序的全部页面均被列入所述树状测试路径中。
进一步的,在上述的智能手机应用功能测试方法中,记录每一个可操作类UI元素从发出模拟操作指令到响应完毕的过程中的系统资源使用情况的步骤具体包括:
建立可操作类UI元素表,所述可操作类UI元素表记录所述树状测试路径中每个节点与其所包含的可操作类UI元素的对应关系;
建立系统资源占用类型表,所述系统资源占用类型表记录所述可操作类UI元素与所述系统资源占用类型的对应关系。
进一步的,在上述的智能手机应用功能测试方法中,所述系统资源使用情况包括处理器资源使用情况、运行内存资源使用情况和通信带宽资源使用情况中的一个或多个,在记录每一个可操作类UI元素从发出模拟操作指令到响应完毕的过程中的系统资源使用情况的步骤之前还包括:
在发出所述模拟操作指令之前,获取所述应用程序的进程所使用的初始处理器资源占用百分比CPUinit、初始运行内存资源占用百分比MEMinit以及初始通信带宽资源占用百分比NETinit;
在发出所述模拟操作指令后,对所述应用程序的进程所使用的处理器资源、运行内存资源以及通信带宽资源进行持续监测;
获取所述应用程序的进程所使用的处理器资源进入稳定状态之前所述应用程序的进程所使用的峰值处理器资源占用百分比CPUtop、峰值运行内存资源占用百分比MEMtop以及峰值通信带宽资源占用百分比NETrop;
获取所述应用程序的进程所使用的处理器资源进入稳定状态之后所述应用程序的进程所使用的稳态处理器资源占用百分比CPUstable、稳态运行内存资源占用百分比MEMstable以及稳态通信带宽资源占用百分比NETstable;
计算所述可操作类UI元素的处理器资源占用百分比运行内存资源占用百分比以及通信带宽资源占用百分比
进一步的,在上述的智能手机应用功能测试方法中,将所述可操作类UI元素对应的功能划分为高资源占用型功能、中等资源占用型功能以及低资源占用型功能的步骤具体包括:
获取每个页面跳转控件对应的子节点的所有可操作类UI元素的处理器资源占用百分比ΔCPUi、运行内存资源占用百分比ΔMEMi以及通信带宽资源占用百分比ΔNETi,其中i=(1,2,…nj),nj为第j个节点的可操作类UI元素的数量;
计算所述页面操作控件对应的综合资源占用值 其中σCPU、σMEM以及σNET分别为预先配置的处理器资源占用系数、运行内存资源占用系数以及通信带宽资源占用系数且σCPU+σMEM+σNET=1;
根据所述综合资源占用值RESj将所述页面跳转控件对应的功能划分为高资源占用型功能、中等资源占用型功能以及低资源占用型功能。
进一步的,在上述的智能手机应用功能测试方法中,在所述第二虚拟机上对所述待测试应用程序的功能进行测试的步骤具体包括:
按照所述树状测试路径的节点顺序从根节点开始遍历每个节点的所述可操作类UI元素;
根据所述可操作类UI元素的系统资源占用类型确定是否在当前虚拟机中执行相应的功能测试;
确定为是,则对所述可操作类UI元素对应的功能执行测试;
否则跳过当前可操作类UI元素。
进一步的,在上述的智能手机应用功能测试方法中,对所述可操作类UI元素对应的功能执行测试的步骤具体包括:
识别可操作类UI元素的关联文本;
根据所述关联文本识别所述可操作类UI元素对应的功能;
获取所述功能的评价指标;
对所述可操作类UI执行模拟操作;
获取所述模拟操作的响应结果;
将所述响应结果与所述评价指标相匹配;
根据所述匹配结果确定所述功能的测试结果为通过或者不通过。
进一步的,在上述的智能手机应用功能测试方法中,识别可操作类UI元素的关联文本的步骤具体包括:
获取所述可操作类UI元素上显示的文本和/或获取与所述可操作类UI元素在显示位置上具有明显关联关系的不可操作类UI元素上显示的文本。
本发明的第二方面提出了一种智能手机应用功能测试装置,包括处理器和存储器,所述处理器执行所述存储器存储的计算机程序实现如本发明第一方面任一项所述的智能手机应用功能测试方法。
本发明提出了一种智能手机应用功能测试方法及装置,通过使用高硬件配置以及最新版本的系统平台构建虚拟机用于对待测试应用程序的功能和系统资源占用情况进行解析,以得到待测试应用程序的树状测试路径,从而可以基于该树状测试路径在不同的硬件配置参数以及不同的系统平台版本下的虚拟机中对待测试应用程序进行相应测试,自动在不同配置和版本的虚拟机中对待测应用功能进行测试,无需提前写好测试脚本,能够安全快捷地对应用程序自动进行功能测试,降低人力成本,测试全面且准确率高。
附图说明
图1是本发明一个实施例提供的一种智能手机应用功能测试方法的流程图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
在本发明的描述中,术语“多个”则指两个或两个以上,除非另有明确的限定,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。术语“连接”、“安装”、“固定”等均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本说明书的描述中,术语“一个实施例”、“一些实施方式”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
下面参照附图来描述根据本发明一些实施方式提供的一种智能手机应用功能测试方法及装置。
如图1所示,本发明的第一方面提出了一种智能手机应用功能测试方法,包括:
在智能手机应用功能测试装置上构建第一虚拟机,所述第一虚拟机的硬件配置为待测试硬件配置清单中的预设配置,所述第一虚拟机的操作系统为待测试操作系统的预设版本;
将待测试应用程序的安装包传输至所述第一虚拟机进行安装并运行所述待测试应用程序;
通过模拟操作指令确定所述待测试应用程序每个页面中的UI元素的可操作类型和系统资源占用类型;
将对所述模拟操作指令的响应结果包括页面跳转的UI元素确定为页面跳转控件;
建立所述页面跳转控件与跳转前后两个页面的关联关系;
以所述跳转前后的页面为父节点和子节点,以所述页面跳转控件为连线构建树状测试路径;
在所述树状测试路径中标记系统资源占用类型;
在智能手机应用功能测试装置上以待测试硬件配置清单中硬件参数分别对应每一个版本的待测试操作系统构建若干个第二虚拟机;
将所述待测试应用程序的安装包传输至所述第二虚拟机进行安装;
将所述树状测试路径传输至所述第二虚拟机以在所述第二虚拟机上对所述待测试应用程序的功能进行测试。
具体的,受各大智能手机厂商的市场战略、用户群体以及智能手机的寿命长短等因素的影响,市面上充斥着大量品牌、型号各不相同的智能手机,这些智能手机在硬件配置、操作系统版本等软硬件环境上或多或少都存在着差异,为了使得应用程序能够最大程度上兼容市面上的主流智能手机,在智能手机应用程序的功能测试时,需要面向具有不同硬件配置和不同系统版本的智能手机进行测试。在本发明的技术方案中,所述待测试硬件配置清单是在测试装置中预先配置的市面上主流智能手机的硬件配置方案,所述硬件配置包括但不限于处理器类型、运行内存大小、屏幕分辨率、键盘类型以及摄像头分辨率等。所述预设配置优选为所述待测试硬件配置清单中硬件参数最高的配置,例如选用处理性能最强的处理器类型,8G运行内存、3200x1440像素的屏幕分辨率等。所述待测试操作系统是在测试装置中预先配置的市面上主流智能手机的操作系统,例如鸿蒙系统或者安卓系统等。所述预设版本优选为所述操作系统的当前最新版本,例如鸿蒙3或者安卓12等。
所述智能手机应用功能测试装置为能够运行一个或多个所述第一虚拟机和/或所述第二虚拟机的计算机装置。优选的,在一台智能手机应用功能测试装置中同时运行多个所述第一虚拟机和/或所述第二虚拟机以对所述待测应用程序进行测试,能够同时测试多个应用程序,或者同时在不同虚拟机环境下对同一个应用程序进行测试,能够大幅提高待测试应用程序的测试效率。同时使用虚拟机对应用程序进行功能测试,无需要真实的智能手机环境中进行测试,一台测试装置即可完成多种测试环境的搭建,使测试过程更加安全,测试成本更低。
所述待测试应用程序为需要进行功能测试的应用程序,该应用程序可以运行在智能手机中实现特定的功能,例如拍照程序、音乐播放程序、日历程序等。所述UI(UserInterface,用户界面)元素为在应用程序的用户界面的每一个页面中显示的作为文字、图片、音频或视频等多媒体信息容器的人机交互控件,例如文本框、按钮、下拉菜单等。所述UI元素的可操作类型包括可操作类UI元素和不可操作类UI元素,指的是所述UI元素可以响应用户的触摸操作或不响应用户的触摸操作的类型,例如按钮为典型的可操作类UI元素,其可以接收用户的触摸操作调用关联的应用程序指令。一些纯显示类的控件如页面标题、标注等不会响应用户操作的文本框控件等为不可操作类UI元素。所述系统资源占用类型是指当该UI元素为可操作类UI元素时,其响应于用户的触摸操作所调用的功能或指令在运行过程中占用的系统资源如处理器资源、运行内存资源或者通信带宽资源等的一个或多个,按照所使用的资源占系统资源总量的百分比划分为高、中、低等类型。
所述待测试应用程序在所述第一虚拟机或所述第二虚拟机中测试过程中,所述测试装置可以通过所述虚拟机内置的控制程序向所述待测试应用程序发送模拟操作指令,用于模拟用户对所述待测试应用程序的用户界面的操作调用相应的应用程序指令。例如,所述测试装置在测试一个拍照应用过程中,通过向所述拍照应用发送一个模拟触摸其拍摄按钮的模拟操作指令,从而调用所述拍照应用的拍照指令。所述待测试应用程序的任一可操作类UI元素被触发后,虚拟机调用相应的应用程序指令以实现应用程序的其中一个功能。所述测试装置通过对执行的应用程序指令的响应结果进行监测以获得该应用程序功能的测试结果。根据待测试应用程序被操作的控件即其对应的被调用的应用程序指令的不同,其对应的响应结果也会有所不同,其响应结果可以是从本地或者从网络上的其它设备获取数据进行显示、通过摄像头/麦克风等传感器获取环境数据进行存储和显示或者对特定的文件/数据进行处理并存储或显示处理结果等。所述响应结果的显示包括在被触发的可操作类UI元素所在的同一个页面上进行显示,或者跳转到一个新的页面上进行显示等。
在本发明的技术方案中,当一个可操作类UI元素被触发后调用的应用程序指令使得所述待测试应用程序从当前显示的页面跳转到一个新的页面时,将该可操作类UI元素确定为页面跳转控件。应用程序的页面都是提前设计好的根据UI交互关系相互之间通过可操作类UI元素进行链接的对象,除了应用程序的默认首页是在打开应用程序时默认显示之外,应用程序的每一个页面均可以通过至少一个其它页面上的可操作类UI元素进行激活显示。以所述页面跳转控件为基础,可以将所述待测试应用程序的页面构建为一个树状测试路径,所述树状测试路径中的每一个节点为所述待测试应用程序的一个页面。
在上述的智能手机应用功能测试方法,通过使用高硬件配置以及最新版本的系统平台构建虚拟机用于对待测试应用程序的功能和系统资源占用情况进行解析,以得到待测试应用程序的树状测试路径,从而可以基于该树状测试路径在不同的硬件配置参数以及不同的系统平台版本下的虚拟机中对待测试应用程序进行相应测试,自动在不同配置和版本的虚拟机中对待测应用功能进行测试,无需提前写好测试脚本,能够安全快捷地对应用程序自动进行功能测试,降低人力成本,测试全面且准确率高。
在上述的智能手机应用功能测试方法中,从所述待测试应用程序的默认首页开始按照所述树状测试路径对所述应用程序进行测试,每进入到一个新页面时,获取所述待测试应用程序每个页面中的UI元素的可操作类型和系统资源占用类型的步骤具体包括:
识别页面上的UI元素,将UI元素划分为可操作类UI元素和不可操作类UI元素;
对每一个可操作类UI元素执行模拟操作,所述模拟操作包括点击、滑动、长按、文本输入和/或语音输入;
记录每一个可操作类UI元素从发出模拟操作指令到响应完毕的过程中的系统资源使用情况;
将所述可操作类UI元素对应的功能划分为高资源占用型功能、中等资源占用型功能以及低资源占用型功能。
具体的,所述待测试应用程序的默认首页是待测试应用程序预先配置的在启动待测试应用程序时默认打开的第一个页面。在测试过程中,通过模拟操作指令自动切换到所述待测试应用程序的不同页面中对其可操作类UI元素对应用功能进行测试。由于不同系统资源占用类型的功能在不同的使用环境下的响应结果可能会存在差异,在上述实施方式的技术方案中,通过监测每个可操作类UI元素的系统资源使用情况以确定其系统资源占用类型,进而在不同测试环境下对其进行测试以监测其响应结果。
在上述的智能手机应用功能测试方法中,以所述页面跳转控件为连线构建树状测试路径的步骤具体包括:
在打开所述待测试应用程序后显示所述应用程序的默认首页,将所述默认首页确定为所述树状测试路径的根节点;
对当前显示页面的可操作类UI元素进行遍历以确定其中的页面跳转控件;
获取所述页面跳转控件所链接的下一个页面;
当所述下一个页面已经为所述树状测试路径中的节点之一时,跳过所述下一个页面的处理,否则将所述下一个页面确定为当前显示页面的子节点;
将所述下一个页面确定为当前显示页面,并重复执行对当前显示页面的可操作类UI元素进行遍历以确定其中的页面跳转控件及其后续步骤直至所述待测试应用程序的全部页面均被列入所述树状测试路径中。
在一些应用程序中,页面之间的跳转关系存在一对多、多对一或者多对多的情况,即可能会存在一个页面上的多个可操作类UI元素可以分别跳转到不同页面的情况、多个页面上的可操作类UI元素可以跳转到同一个页面的情况等等,在这些情况下,应用程序的页面关系为网络结构而非简单的树状结构。在上述实施方式的技术方案中,在遍历过程中跳过重复出现的页面,进而将待测试应用程序中的页面以页面跳转控件为连线建立简单的父子节点关系,从而构建所述树状测试路径。进一步的,在上述实施方式的技术方案中,还包括识别所述可操作类UI元素的类型,当所述可操作类UI元素为返回按钮时,不将所述返回按钮确定为构建所述树状测试路径的页面跳转控件。
在上述的智能手机应用功能测试方法中,记录每一个可操作类UI元素从发出模拟操作指令到响应完毕的过程中的系统资源使用情况的步骤具体包括:
建立可操作类UI元素表,所述可操作类UI元素表记录所述树状测试路径中每个节点与其所包含的可操作类UI元素的对应关系;
建立系统资源占用类型表,所述系统资源占用类型表记录所述可操作类UI元素与所述系统资源占用类型的对应关系。
在上述实施方式的技术方案中,建立系统资源占用类型与所述树状测试路径中每个节点的关联关系,从而在将所述树状测试路径传递给第二虚拟机进行测试时,所述第二虚拟机可以根据所述关联关系执行相应的测试。
在上述的智能手机应用功能测试方法中,所述系统资源使用情况包括处理器资源使用情况、运行内存资源使用情况和通信带宽资源使用情况中的一个或多个,在记录每一个可操作类UI元素从发出模拟操作指令到响应完毕的过程中的系统资源使用情况的步骤之前还包括:
在发出所述模拟操作指令之前,获取所述应用程序的进程所使用的初始处理器资源占用百分比CPUinit、初始运行内存资源占用百分比MEMinit以及初始通信带宽资源占用百分比NETinit;
在发出所述模拟操作指令后,对所述应用程序的进程所使用的处理器资源、运行内存资源以及通信带宽资源进行持续监测;
获取所述应用程序的进程所使用的处理器资源进入稳定状态之前所述应用程序的进程所使用的峰值处理器资源占用百分比CPUtop、峰值运行内存资源占用百分比MEMtop以及峰值通信带宽资源占用百分比NETtop;
获取所述应用程序的进程所使用的处理器资源进入稳定状态之后所述应用程序的进程所使用的稳态处理器资源占用百分比CPUstable、稳态运行内存资源占用百分比MEMstable以及稳态通信带宽资源占用百分比NETstable;
计算所述可操作类UI元素的处理器资源占用百分比运行内存资源占用百分比以及通信带宽资源占用百分比
具体的,应用程序的功能有服务型功能和非服务型功能,对于服务型功能,应用程序会在启动一个服务程序长驻内存以持续执行某个任务,因此其对系统资源的使用情况是持续性的,该服务型功能在启动瞬间会占用较多的处理器资源,并在一段时间后进入稳定状态,所述待测试应用程序在进入稳定状态后的资源使用量会比启动该服务型功能之前的资源使用量更高;对于非服务型功能,其在接收到命令开始执行处理任务,并在执行完后,按照系统的内存管理规则释放所占用的系统资源,非服务型功能在启动瞬间也会占用较多的处理器资源,但由于系统在执行指令过程中同时也会释放一些等待释放的资源,因此其在执行完所述非服务型功能进入稳定状态后,其资源使用量可能会比启动该服务型功能之前的资源使用量高,也可能会比启动该服务型功能之前的资源使用低。
在上述的智能手机应用功能测试方法中,将所述可操作类UI元素对应的功能划分为高资源占用型功能、中等资源占用型功能以及低资源占用型功能的步骤具体包括:
获取每个页面跳转控件对应的子节点的所有可操作类UI元素的处理器资源占用百分比ΔCPUi、运行内存资源占用百分比ΔMEMi以及通信带宽资源占用百分比ΔNETi,其中i=(1,2,…nj),nj为第j个节点的可操作类UI元素的数量;
计算所述页面操作控件对应的综合资源占用值 其中σCPU、σMEM以及σNET分别为预先配置的处理器资源占用系数、运行内存资源占用系数以及通信带宽资源占用系数且σCPU+σMEM+σNET=1;
根据所述综合资源占用值RESj将所述页面跳转控件对应的功能划分为高资源占用型功能、中等资源占用型功能以及低资源占用型功能。
优选的,在一台测试装置中可以运行多个虚拟机同时执行测试。由于测试装置需要负载大量虚拟机的计算压力和缓存压力,过度精细化的分类会给测试设备带来大量不必要的资源负担。在上述实施方式的技术方案中,将系统资源占用类型以粗略的划分方式划分为高、中、低三种类型已经可以满足测试分类的要求,因此没有必要根据不同类型资源的占用情况再做细分。处理器资源、运行内存资源和通信带宽资源是常见的影响应用程序功能正常运行的关键资源,使用这三种资源类型计算应用程序功能的综合资源占用值用于评价功能的资源占用类型能够在一定程度上反应该应用程序功能的系统资源占用情况。
在上述的智能手机应用功能测试方法中,在所述第二虚拟机上对所述待测试应用程序的功能进行测试的步骤具体包括:
按照所述树状测试路径的节点顺序从根节点开始遍历每个节点的所述可操作类UI元素;
根据所述可操作类UI元素的系统资源占用类型确定是否在当前虚拟机中执行相应的功能测试;
确定为是,则对所述可操作类UI元素对应的功能执行测试;
否则跳过当前可操作类UI元素。
具体的,在上述实施方式的技术方案中,系统资源占用量低的应用程序功能在任意硬件配置的系统中的运行情况都不会有太大的差异,因此仅需在所述待测试硬件配置清单中选择其中一种硬件参数构建虚拟机对其进行测试即可,无需在所有配置的虚拟机中对其测试,从而节省测试时间。而系统资源占用量高的应用程序功能原则上需要在所述待测试硬件配置清单所及硬件参数对应的虚拟机中进行测试,测试顺序按硬件参数从高到低进行,当到某个硬件参数对应的虚拟机在测试过程中出现资源不足无法运行的情况时,则不再继续在硬件参数更低的虚拟机中测试该应用程序功能。
在上述的智能手机应用功能测试方法中,对所述可操作类UI元素对应的功能执行测试的步骤具体包括:
识别可操作类UI元素的关联文本;
根据所述关联文本识别所述可操作类UI元素对应的功能;
获取所述功能的评价指标;
对所述可操作类UI执行模拟操作;
获取所述模拟操作的响应结果;
将所述响应结果与所述评价指标相匹配;
根据所述匹配结果确定所述功能的测试结果为通过或者不通过。
在上述的智能手机应用功能测试方法中,识别可操作类UI元素的关联文本的步骤具体包括:
获取所述可操作类UI元素上显示的文本和/或获取与所述可操作类UI元素在显示位置上具有明显关联关系的不可操作类UI元素上显示的文本。
具体的,所述关联文本是指所述可操作类UI元素上显示的文本和/或所述可操作类UI元素在显示位置上具有明显关联关系的不可操作类UI元素上显示的文本。例如当所述可操作类UI元素为搜索框控件时,在搜索框内,或者在搜索框旁会显示“搜索”等关联文本,用于标明该控件的功能。通过从关联文本以及待测试应用程序的上下文中提取功能关键词,在预先配置的应用功能表中查询所述功能关键词对应的应用功能,即可在预先配置的评价指标表中查询所述应用功能的评价指标。
本发明的第二方面提出了一种智能手机应用功能测试装置,包括处理器和存储器,所述处理器执行所述存储器存储的计算机程序实现如本发明第一方面任一项所述的智能手机应用功能测试方法。
本发明提出了一种智能手机应用功能测试方法及装置,通过使用高硬件配置以及最新版本的系统平台构建虚拟机用于对待测试应用程序的功能和系统资源占用情况进行解析,以得到待测试应用程序的树状测试路径,从而可以基于该树状测试路径在不同的硬件配置参数以及不同的系统平台版本下的虚拟机中对待测试应用程序进行相应测试,自动在不同配置和版本的虚拟机中对待测应用功能进行测试,无需提前写好测试脚本,能够安全快捷地对应用程序自动进行功能测试,降低人力成本,测试全面且准确率高。
应当说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
依照本发明的实施例如上文所述,这些实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施例。显然,根据以上描述,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地利用本发明以及在本发明基础上的修改使用。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (8)
1.一种智能手机应用功能测试方法,其特征在于,包括:
在智能手机应用功能测试装置上构建第一虚拟机,所述第一虚拟机的硬件配置为待测试硬件配置清单中的预设配置,所述第一虚拟机的操作系统为待测试操作系统的预设版本;
将待测试应用程序的安装包传输至所述第一虚拟机进行安装并在所述虚拟机上运行所述待测试应用程序;
通过模拟操作指令确定所述待测试应用程序每个页面中的UI元素的可操作类型和系统资源占用类型;
将对所述模拟操作指令的响应结果包括页面跳转的UI元素确定为页面跳转控件;
建立所述页面跳转控件与跳转前后两个页面的关联关系;
以所述跳转前后的页面为父节点和子节点,以所述页面跳转控件为连线构建树状测试路径;
在所述树状测试路径中标记系统资源占用类型;
在智能手机应用功能测试装置上以待测试硬件配置清单中硬件参数分别对应每一个版本的待测试操作系统构建若干个第二虚拟机;
将所述待测试应用程序的安装包传输至所述第二虚拟机进行安装;
将所述树状测试路径传输至所述第二虚拟机以在所述第二虚拟机上对所述待测试应用程序的功能进行测试;
从所述待测试应用程序的默认首页开始按照所述树状测试路径对所述应用程序进行测试,每进入到一个新页面时,获取所述待测试应用程序每个页面中的UI元素的可操作类型和系统资源占用类型的步骤具体包括:
识别页面上的UI元素,将UI元素划分为可操作类UI元素和不可操作类UI元素;
对每一个可操作类UI元素执行模拟操作,所述模拟操作包括点击、滑动、长按、文本输入和/或语音输入;
记录每一个可操作类UI元素从发出模拟操作指令到响应完毕的过程中的系统资源使用情况;
将所述可操作类UI元素对应的功能划分为高资源占用型功能、中等资源占用型功能以及低资源占用型功能;
所述系统资源使用情况包括处理器资源使用情况、运行内存资源使用情况和通信带宽资源使用情况中的一个或多个,在记录每一个可操作类UI元素从发出模拟操作指令到响应完毕的过程中的系统资源使用情况的步骤之前还包括:
在发出所述模拟操作指令之前,获取所述应用程序的进程所使用的初始处理器资源占用百分比、初始运行内存资源占用百分比/>以及初始通信带宽资源占用百分比/>;
在发出所述模拟操作指令后,对所述应用程序的进程所使用的处理器资源、运行内存资源以及通信带宽资源进行持续监测;
获取所述应用程序的进程所使用的处理器资源进入稳定状态之前所述应用程序的进程所使用的峰值处理器资源占用百分比、峰值运行内存资源占用百分比/>以及峰值通信带宽资源占用百分比/>;
获取所述应用程序的进程所使用的处理器资源进入稳定状态之后所述应用程序的进程所使用的稳态处理器资源占用百分比、稳态运行内存资源占用百分比以及稳态通信带宽资源占用百分比/>;
计算所述可操作类UI元素的处理器资源占用百分比、运行内存资源占用百分比以及通信带宽资源占用百分比。
2.根据权利要求1所述的智能手机应用功能测试方法,其特征在于,以所述页面跳转控件为连线构建树状测试路径的步骤具体包括:
在打开所述待测试应用程序后显示所述应用程序的默认首页,将所述默认首页确定为所述树状测试路径的根节点;
对当前显示页面的可操作类UI元素进行遍历以确定其中的页面跳转控件;
获取所述页面跳转控件所链接的下一个页面;
当所述下一个页面已经为所述树状测试路径中的节点之一时,跳过所述下一个页面的处理,否则将所述下一个页面确定为当前显示页面的子节点;
将所述下一个页面确定为当前显示页面,并重复执行对当前显示页面的可操作类UI元素进行遍历以确定其中的页面跳转控件及其后续步骤直至所述待测试应用程序的全部页面均被列入所述树状测试路径中。
3.根据权利要求2所述的智能手机应用功能测试方法,其特征在于,记录每一个可操作类UI元素从发出模拟操作指令到响应完毕的过程中的系统资源使用情况的步骤具体包括:
建立可操作类UI元素表,所述可操作类UI元素表记录所述树状测试路径中每个节点与其所包含的可操作类UI元素的对应关系;
建立系统资源占用类型表,所述系统资源占用类型表记录所述可操作类UI元素与所述系统资源占用类型的对应关系。
4.根据权利要求3所述的智能手机应用功能测试方法,其特征在于,将所述可操作类UI元素对应的功能划分为高资源占用型功能、中等资源占用型功能以及低资源占用型功能的步骤具体包括:
获取每个页面跳转控件对应的子节点的所有可操作类UI元素的处理器资源占用百分比、运行内存资源占用百分比/>以及通信带宽资源占用百分比/>,其中,/>为第/>个节点的可操作类UI元素的数量;
计算所述页面操作控件对应的综合资源占用值,其中/>、以及/>分别为预先配置的处理器资源占用系数、运行内存资源占用系数以及通信带宽资源占用系数且/>;
根据所述综合资源占用值将所述页面跳转控件对应的功能划分为高资源占用型功能、中等资源占用型功能以及低资源占用型功能。
5.根据权利要求4所述的智能手机应用功能测试方法,其特征在于,在所述第二虚拟机上对所述待测试应用程序的功能进行测试的步骤具体包括:
按照所述树状测试路径的节点顺序从根节点开始遍历每个节点的所述可操作类UI元素;
根据所述可操作类UI元素的系统资源占用类型确定是否在当前虚拟机中执行相应的功能测试;
确定为是,则对所述可操作类UI元素对应的功能执行测试;
否则跳过当前可操作类UI元素。
6.根据权利要求5所述的智能手机应用功能测试方法,其特征在于,对所述可操作类UI元素对应的功能执行测试的步骤具体包括:
识别可操作类UI元素的关联文本;
根据所述关联文本识别所述可操作类UI元素对应的功能;
获取所述功能的评价指标;
对所述可操作类UI执行模拟操作;
获取所述模拟操作的响应结果;
将所述响应结果与所述评价指标相匹配;
根据匹配结果确定所述功能的测试结果为通过或者不通过。
7.根据权利要求6所述的智能手机应用功能测试方法,其特征在于,识别可操作类UI元素的关联文本的步骤具体包括:
获取所述可操作类UI元素上显示的文本和/或获取与所述可操作类UI元素在显示位置上具有明显关联关系的不可操作类UI元素上显示的文本。
8.一种智能手机应用功能测试装置,其特征在于,包括处理器和存储器,所述处理器执行所述存储器存储的计算机程序实现如权利要求1-7任一项所述的智能手机应用功能测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211405014.2A CN115658540B (zh) | 2022-11-10 | 2022-11-10 | 一种智能手机应用功能测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211405014.2A CN115658540B (zh) | 2022-11-10 | 2022-11-10 | 一种智能手机应用功能测试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115658540A CN115658540A (zh) | 2023-01-31 |
CN115658540B true CN115658540B (zh) | 2023-07-25 |
Family
ID=85021647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211405014.2A Active CN115658540B (zh) | 2022-11-10 | 2022-11-10 | 一种智能手机应用功能测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658540B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9262311B1 (en) * | 2013-12-03 | 2016-02-16 | Amazon Technologies, Inc. | Network page test system and methods |
CN109739764A (zh) * | 2018-12-29 | 2019-05-10 | 中国联合网络通信集团有限公司 | 一种应用程序测试方法和装置 |
CN110069407A (zh) * | 2019-04-03 | 2019-07-30 | 广州云测信息技术有限公司 | 一种应用程序的功能测试方法和装置 |
CN112214405A (zh) * | 2020-09-30 | 2021-01-12 | 维沃移动通信有限公司 | 一种软件测试方法、装置、电子设备和可读存储介质 |
-
2022
- 2022-11-10 CN CN202211405014.2A patent/CN115658540B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9262311B1 (en) * | 2013-12-03 | 2016-02-16 | Amazon Technologies, Inc. | Network page test system and methods |
CN109739764A (zh) * | 2018-12-29 | 2019-05-10 | 中国联合网络通信集团有限公司 | 一种应用程序测试方法和装置 |
CN110069407A (zh) * | 2019-04-03 | 2019-07-30 | 广州云测信息技术有限公司 | 一种应用程序的功能测试方法和装置 |
CN112214405A (zh) * | 2020-09-30 | 2021-01-12 | 维沃移动通信有限公司 | 一种软件测试方法、装置、电子设备和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115658540A (zh) | 2023-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105094783B (zh) | 安卓应用稳定性测试的方法及装置 | |
US7596546B2 (en) | Method and apparatus for organizing, visualizing and using measured or modeled system statistics | |
WO2016095554A1 (zh) | 应用程序的测试方法、设备及系统 | |
US20140366005A1 (en) | Abstract layer for automatic user interface testing | |
CN105740144B (zh) | 一种Android移动终端的自动化测试方法及系统 | |
CN111190825A (zh) | 自动测试方法、系统及机器人 | |
CN113868126A (zh) | 应用调试方法、装置、设备的存储介质 | |
TWI476587B (zh) | 測試電子裝置之功能的測試方法以及測試裝置 | |
US20220350857A1 (en) | Methods and systems for browser extension used to generate relative xpath, absolute xpath and/or css selectors | |
US9858173B2 (en) | Recording user-driven events within a computing system including vicinity searching | |
CN101030160B (zh) | 统一串行接口测试命令的测试装置及其测试方法 | |
CN107908679B (zh) | 脚本语句转换方法、装置及计算机可读存储介质 | |
CN115658529A (zh) | 用户页面的自动化测试方法以及相关设备 | |
CN115576600A (zh) | 基于代码变更的差异处理方法、装置、终端及存储介质 | |
US20190196947A1 (en) | Application Analysis with Flexible Post-Processing | |
CN115658540B (zh) | 一种智能手机应用功能测试方法及装置 | |
CN113485909A (zh) | 测试方法、装置、计算设备以及介质 | |
WO2023077932A1 (zh) | 一种自动注册楼层化代码方法及装置、存储介质 | |
CN110389886B (zh) | 一种主体应用程序的附加功能测试方法、装置及存储介质 | |
CN111459547B (zh) | 一种函数调用链路的展示方法和装置 | |
CN102316212A (zh) | 一种实现手机自动测试的方法 | |
CN109992514B (zh) | 基于可视化内容的移动应用动态分析方法 | |
CN113934644B (zh) | 版本差异对比方法、装置、智能终端及可读存储介质 | |
CN116383283A (zh) | 回归接口查询方法、装置、设备及存储介质 | |
CN111708704B (zh) | 一种云真机测试方法、装置、终端及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |