CN104794050B - 应用程序的测试方法、装置及系统 - Google Patents
应用程序的测试方法、装置及系统 Download PDFInfo
- Publication number
- CN104794050B CN104794050B CN201410028162.6A CN201410028162A CN104794050B CN 104794050 B CN104794050 B CN 104794050B CN 201410028162 A CN201410028162 A CN 201410028162A CN 104794050 B CN104794050 B CN 104794050B
- Authority
- CN
- China
- Prior art keywords
- test
- tested
- control
- page
- information
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种应用程序的测试方法、装置及系统。其中,测试方法包括:获取用于测试被测应用程序的测试信息,其中,测试信息包括测试被测应用程序时使用的被测控件的描述信息和被测控件执行的操作;在被测应用程序的页面上获取与描述信息对应的被测控件;控制被测控件执行操作;记录被测控件在执行操作的过程中产生的测试数据,生成测试结果。采用本发明,解决了现有技术中对软件测试时耗时长的问题,实现了高效、快速完成对应用程序的测试,从而高效快速获取测试结果的效果。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种应用程序的测试方法、装置及系统。
背景技术
现有技术中可以通过对应用程序作竞品对比测试来了解市场上同类产品和本品的相对位置,并且可以选取竞品可借鉴的地方,对本品做出改进。
上述的竞品对比测试:竞品是竞争产品,竞争对手的产品,竞品对比测试是一种横向的对产品性能进行测试的方法,具体是指从竞争对手或市场相关产品中,圈定一些需要考察的角度(如测试产品本身关注的指标),从这些需要考察的角度进行产品测试,分析总结出竞品或者自己产品的优势与不足。
上述的测试产品本身关注的指标包括:操作情况(如刷新、页面跳转、查询等)、界面情况(如视觉、布局)、产品的详细功能点(如常规功能、特色功能、实现程度如何等)以及流程分析(如网站可用性、易用性)等。
现有技术中,不论是对应用程序的简单性能测试还是在竞品对比测试中,获取测试结果一般有如下两种方法:
(1)手动记录测试过程数据,并根据过程数据获取测试结果。例如,在测试某个功能的执行时间时,可以在开始测试该功能时启动计时装置(如按下秒表),并在结束对该功能的测试时,结束计时装置的计时(如再按一下秒表),也即手动使用秒表计时,秒表记录的时间即为执行该功能的执行时间,通过这种方式可以得到对应该功能的时间性能指标。
(2)通过录制Android屏幕分帧技术获取测试结果。具体地,采用录制工具录制对软件的整个操作过程,形成录像文件。在上述的录制过程中,可以对录制工具进行设定,如,可以设定每隔预设时间截取一张操作界面的图片,然后对获取的录像文件进行分帧处理得到测试结果,必要时可以结合截取的操作界面的图片进行分析,得到测试结果。例如,在测试某个功能的执行时间时,对获取到的录像文件进行分帧处理,获取不同帧出现的时间差值,得到执行该功能的执行时间,从而得到时间性能指标。在测试某个功能是否执行成功时,需要将获取到的录像文件进行分帧处理并且分析截取的操作界面的图片,人工判断该功能是否执行成功,以得到测试结果。
Android:Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,是目前市面上使用率最高的移动终端操作系统。该操作系统目前尚未有统一的中文名称,中国大陆地区较多人使用“安卓”。
综上,现有的测试方法具有如下缺点:
使用第一种方法,由于手动操作(如手动操作计时装置),误差很大,并且在进行竞品对比测试时,需要对不同的产品进行对比测试,上述的手动测试需要重复进行多次,测试效率很低;使用第二种方法,由于录像分析的帧数达到上千张,并且图像分析是人工进行的,分析繁琐,人工分析容易出错,尤其是在面对大量的帧数和截取的图片时分析效率很低。另外,在现有技术中测试应用程序时,需要使用应用程序的源码或者在测试时需要校验签名,这种方式均具有局限性,使用这些测试方法获取源码或者校验签名也比较浪费时间,从而在测试被测应用程序的速度慢,测试过程时间长。
针对上述对软件测试时耗时长的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种应用程序的测试方法、装置及系统,以至少解决对软件测试时耗时长的技术问题。
根据本发明实施例的一个方面,提供了一种应用程序的测试方法,该测试方法包括:获取用于测试被测应用程序的测试信息,其中,测试信息包括测试被测应用程序时使用的被测控件的描述信息和被测控件执行的操作;在被测应用程序的页面上获取与描述信息对应的被测控件;控制被测控件执行操作;记录被测控件在执行操作的过程中产生的测试数据,生成测试结果。
根据本发明实施例的另一方面,还提供了一种应用程序的测试装置,该测试装置包括:信息获取模块,用于获取用于测试被测应用程序的测试信息,其中,测试信息包括测试被测应用程序时使用的被测控件的描述信息和被测控件执行的操作;控件获取模块,用于在被测应用程序的页面上获取与描述信息对应的被测控件;控制模块,用于控制被测控件执行操作;结果生成模块,用于记录被测控件在执行操作的过程中产生的测试数据,生成测试结果。
根据本发明实施例的另一方面,还提供了一种应用程序的测试系统,该测试系统包括:测试终端,用于获取用于测试被测应用程序的测试信息,在被测应用程序的页面上获取与描述信息对应的被测控件,然后控制被测控件执行操作,并记录被测控件在执行操作的过程中产生的测试数据,生成测试结果,其中,测试信息包括测试被测应用程序时使用的被测控件的描述信息和被测控件执行的操作。
在本发明的实施例中在控制被测控件执行操作中产生的测试数据均可以被记录下来,根据该测试数据生成测试结果,而不需要人工干预,可以自动获取测试结果,快速、准确,解决了现有技术中对软件测试时耗时长的问题,实现了高效、快速完成对应用程序的测试,从而高效快速获取测试结果的效果;并且在上述实施例中使用描述信息获取被测控件,不需要使用被测应用程序的源码,不需要校验签名,可以快速准确地获取到被测控件。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例一的应用程序的测试方法的流程图;
图2是根据本发明实施例一的使用测试用例测试应用程序的流程图;
图3是根据本发明实施例一的执行测试用例的流程图;
图4是根据本发明实施例一的获取操作执行时间的流程图;
图5是根据本发明实施例一的输出测试结果的示意图;
图6是根据本发明实施例一的页面跳转示意图;
图7是根据本发明实施例二的应用程序的测试装置的流程图;以及
图8是根据本发明实施例三的应用程序的测试系统的架构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种用于实施应用程序的测试方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
如图1所示,该方法可以包括如下步骤:
步骤S102:获取用于测试被测应用程序的测试信息,其中,测试信息包括测试被测应用程序时使用的被测控件的描述信息和被测控件执行的操作。
步骤S104:在被测应用程序的页面上获取与描述信息对应的被测控件。
步骤S106:控制被测控件执行操作。
步骤S108:记录被测控件在执行操作的过程中产生的测试数据,生成测试结果。
在本发明的实施例中在控制被测控件执行操作中产生的测试数据均可以被记录下来,根据该测试数据生成测试结果,而不需要人工干预,可以自动获取测试结果,快速、准确,解决了现有技术中对软件测试时耗时长的问题,实现了高效、快速完成对应用程序的测试,从而高效快速获取测试结果的效果;并且在上述实施例中使用描述信息获取被测控件,不需要使用被测应用程序的源码,不需要校验签名,可以快速准确地获取到被测控件。
其中,在步骤S102中获取到的测试信息可以从测试支持库中获取,具体地,可以在获取测试请求之后,从测试支持库中提取与测试请求对应的测试信息。在该实施例中,测试信息可以是测试支持库中预先定义好的数据。
本发明的上述方法可以运行在被测终端上,在对被测应用程序的功能或性能进行测试的时候可以使用上述方法,在通过上述方法对被测应用程序进行测试之前,在被测终端上安装并运行该被测应用程序,并可以在接收到测试请求之后,启动对被测应用程序的测试,获取测试信息。具体地,测试终端可以是移动终端设备(如手机、平板电脑),可选地可以将本发明的上述测试方法应用于Android手机的软件测试中。例如,可以将本发明的上述测试方法应用于Android手机的竞品对比测试中。
其中,被测控件为被测终端运行被测应用程序的界面(或页面)上的按钮、下拉菜单和下拉框等,通过控制被测控件执行操作可以启动被测应用程序的某个数据处理方法(如对系统垃圾的扫描、对系统插件的清理等数据处理方法),也可以通过被测控件表征被测应用程序对应的数据处理方法的处理状态(如:启动该数据处理方法、结束该数据处理方法或者正在处理中等状态)。当然上述的被测控件的类型、对应的处理方法以及处理状态仅仅是作举例说明,上述实施例中涉及的被测控件不仅限于上述的名称、对应的处理方法以及处理状态。
根据本发明的上述实施例,被测控件的描述信息是指描述被测控件的名称、类型、被测控件指示的数据处理方法以及被测控件代表的处理状态中的至少一种属性信息;而测试信息中携带的被测控件执行的操作可以为执行被测控件指示的数据处理方法需要的测试动作。如,点击被测控件启动清理垃圾,则被测控件执行的操作即为:点击,当然在对被测应用程序进行性能或功能测试的时候,可能涉及到的不仅仅是一个被测控件,对应的操作也不仅仅包括一个测试动作。
例如,测试请求为测试手机管家的深度清理功能,则从测试支持库中提取与该测试请求对应的测试信息,该测试信息包括:点击按钮[深度清理],然后点击按钮[深度扫描]。在该测试场景中,按钮[深度清理]和[深度扫描]即为上述实施例中的被测控件,测试信息中携带着对该两个控件的描述信息,该测试信息可以包括被测控件的名称(如深度清理和深度扫描)、类型(如按钮)、指示的数据处理方法(如:启动对系统垃圾文件的全面扫描),“点击”即为上述实施例中的操作。
具体地,图1中示出的步骤S104和步骤S106可以通过如下方法实现:获取被测控件的预设的查找指令和预设的控制指令,使用该预设的查找指令在被测应用程序的页面上获取与描述信息对应的被测控件,并且使用预设的控制指令控制被测控件执行操作。
图2是根据本发明实施例一的使用测试用例测试应用程序的流程图。
如图2所示,使用测试用例测试应用程序可以包括如下步骤:
步骤S202:生成测试用例。
具体地,如上述的将执行图1中所示实施例的流程进行脚本化处理得到测试用例,在得到测试用例之后,将测试用例保存入用例库中,以供后续对应用程序进行测试时调用。
具体地,在对上述流程就行脚本化处理的过程中,可以将被测控件的描述信息和被测控件的操作写入测试用例,控制被测控件执行操作的预设控制指令以及控制路径等基本信息写入测试用例。每个测试用例均可以包括一个简介,简介中包括下列详细信息:用例编号、用例名称、测试等级、入口准则、验证步骤、期望结果(含判断标准)、出口准则、注释等,以上内容涵盖了测试用例的基本元素:测试索引,测试环境(如安卓4.0的系统),测试输入(如上述的测试信息),测试操作(如上述被测控件执行的操作),预期结果以及评价标准。
步骤S204:执行测试用例。
具体地,在用例库中选择与测试请求对应的产品和测试用例,然后对产品执行该对应的测试用例。可选地,用户在对被测应用程序测试时,可以从用例库中选择执行一条测试用例或者同时执行多条测试用例。在对被测应用程序测试时,同时执行多条测试用例可以进一步地节省测试时间。
更具体地,在确定同时执行多条测试用例的情况下,则每条测试用例是串行执行,这里的同时是指在进行测试时可以同时选择多条测试用例,在实际执行时仍然按照选择的先后顺序串行执行,最后生成一份总的测试报告。在上述实施例中,可以使用Python(一种面向对象、直译式计算机程序设计语言)构建测试用例的执行引擎,执行引擎根据测试请求将相关的测试套和测试用例库中导出并保存为一个执行脚本,然后在测试支持库的支持下将它加载到被测试应用程序中执行。
步骤S206:记录测试结果。
具体地,在测试用例执行完成后,将测试结果保存入与测试终端连接的SD卡(即安全数码)上,在SD卡的测试目录下存储上述测试用例的执行结果和测试项的数据结果。
本发明上述实施例的测试方法可以应用于移动终端上,移动终端(如手机)上的SD卡的存储控件比移动终端上的存储控件大,SD卡保存的数据更加完整,并且不影响移动终端其他程序的运行;并且SD卡可以方便的从移动终端上取下来,从而可以方便的进行数据传输,以便后续对测试结果的查看和深度分析。
具体地,上述实施例中的测试方法可以应用于基于Android平台的移动终端设备(如手机、平板电脑),可选地可以将本发明的上述测试方法应用于Android手机的软件测试中。例如,可以将本发明的上述测试方法应用于Android手机的竞品对比测试中。
图3是根据本发明实施例一的执行测试用例的流程图。如图3所示,图2中的步骤S204:执行测试用例具体可以通过如下方法实现:
步骤S302:获取与测试请求对应的被测产品。
其中,被测产品即为上述的被测应用程序。具体地,测试请求可以为竞品测试请求,如,对第一手机管家和第二手机管家的对比测试,则需要在上述的两个产品(如第一手机管家和第二手机管家)上分别测试,可以通过在通过一个测试终端上运行两个被测应用程序来实现对产品的测试,也可以在不同的测试终端(可选地,不同的测试终端的运行环境相同)上分别运行两个被测应用程序来进行测试。
步骤S304:选择待执行测试用例。
具体地,测试请求可以为对被测应用程序的全部功能进行测试,也可以仅仅对其中的一个功能进行测试。在对被测应用程序的全部功能进行测试的情况下,测试用例可以为一个或多个;在对被测应用程序的某个功能进行测试的情况下,测试用例可以为一个。
步骤S306:判断是否成功执行该测试用例。
其中,在成功执行该测试用例的情况下,执行步骤S308;在没有成功执行该测试用例的情况下,返回执行步骤S302。
步骤S308:判断是否存在未执行的其他测试用例。
其中,在存在未执行的其他测试用例的情况下,返回执行步骤S304;在不存在未执行的其他测试用例的情况下,结束测试。
具体地,在执行步骤S304中获取到的测试用例可能不止一个,执行步骤S308的过程中,可以通过检测获取到的测试用例的数量来确定是否还存在未执行的其他测试用例,并通过检测步骤S304中获取到的测试用例的顺序确定下一个待执行的测试用例。
需要进一步说明的是,在该实施例中,每个操作可能包括一个或多个动作,每个动作可以分别对应一个被测控件。
根据本发明的上述实施例,描述信息可以包括层级位置信息,其中,在被测应用程序的页面上获取与描述信息对应的被测控件可以包括:获取页面的配置文件;对配置文件进行可视化处理得到页面层级文件;在页面层级文件中查找与层级位置信息对应的被测控件。
在上述实施例中,可以从控件库中调用预设的被测控件的查找方法,还以采用上述的方法确定被测控件。具体地,可以通过界面自动监控器抓取测试终端上运行的被测应用程序的当前页面的配置文件,从配置文件中提取层级信息,并将当前页面的层级信息进行可视化处理得到页面层级文件。该页面层级文件可以是树状结构的文档,由于在每个页面上页面控件的层级位置信息是唯一的,通过遍历该页面层级文件可以在页面层级文件中查找到与层级位置信息对应的被测控件,从而唯一地确定被测控件。
其中,将当前页面的层级信息进行可视化处理即为使用计算机图形技术将层级信息转换为图形在屏幕上显示出来,以供用户查看。具体地,通过层级信息确定网页的层次结构,并根据链接的线路(如线性结构、树状结构和网状结果)不同,将网页的层次结构使用其链接的线路结构展示出来。
Uiautomator即界面自动监控器,该自动监控器包含用来做UI测试的测试包和一系列的测试接口。
UI:User Interface(即用户界面)的简称,也称人机界面,是指用户和某些系统进行交互方法的集合,这些系统不单单指电脑程序,还包括某种特定的机器、设备及复杂的工具等。
根据本发明的上述实施例,描述信息可以包括第一文字信息,其中,在被测应用程序的页面上获取与描述信息对应的被测控件可以包括:获取页面的配置文件,从配置文件中获取与第一文字信息对应的被测控件;或获取页面上所有页面控件的第二文字信息得到文字信息集,通过文字信息集查找与第一文字信息对应的第三文字信息,将第三文字信息对应的页面控件作为被测控件。
在上述实施例中提供了两种通过第一文字信息确定被测控件的方法,其中,第一种是通过界面自动监控器抓取到的当前页面的配置文件,直接在配置文件搜索与第一文字信息对应的被测控件。
例如,测试信息中携带的被测控件的描述信息包括对“确定”按钮的描述,操作为:点击,则确定第一文字信息为确定二字,则在配置文件中搜索第二文字信息为确定的页面控件,将文字描述为“确定”的页面控件确定为被测控件。其中,第二文字信息可以用字符表示。
根据本发明的上述实施例,还提供了一种可选的确定被测控件的方法。具体地,获取页面上所有页面控件的第二文字信息,将第二文字信息保存在文字信息集中,通过文字信息集查找与第一文字信息对应的第三文字信息,并将第三文字信息对应的页面控件作为被测控件。
例如,测试信息中携带的被测控件的描述信息包括对“确定”按钮的描述,操作为:点击,则确定第一文字信息为确定二字。提取当前页面上所有页面控件的第二文字信息(如:开始、扫描、暂停、确定等信息)得到文字信息集,在该文字信息集中查找对应“确定”的第三文字信息,将查找到的第三文字信息对应的页面控件作为被测控件。
在本发明的上述实施例中,由于不同的应用程序在相似或相同的功能上,对控件的描述可能是不一致的,如:深层扫描和深度扫描,对测试终端上的扫描范围和扫描结果的分析程度类似,然而在进行竞品对比测试时,可能需要将上述测试流程在不同的产品(即相似或相同功能的应用程序)上执行,为了保证测试的完整性和准确性,在本发明上述的两种确定被测控件的方法中,提供了进一步地被测控件的确定方案。
本发明提供了一种可选的通过文字信息集查找与第一文字信息对应的第三文字信息的实现方法,具体地:提取第一文字信息中的第一字符和第二文字信息中的第二字符;计算第一字符和第二字符的相似度;在相似度大于或等于预设阈值的情况下,从文字信息集中提取与第二字符对应的第三文字信息;在相似度小于预设阈值的情况下,从预设文字信息对应表中提取第三文字信息。
在该可选的方案中,可以适用于直接在配置文件搜索与第一文字信息对应的被测控件的方法。具体地,从配置文件中提取当前页面的页面控件的第二文字信息,然后提取第一文字信息中的第一字符和第二文字信息中的第二字符;计算第一字符和第二字符的相似度;在相似度大于或等于预设阈值的情况下,从文字信息集中提取与第二字符对应的第三文字信息。
可选地,计算第一字符和第二字符的相似度可以通过拼音编码和五笔编码计算两个字符的编辑距离、矩阵算法、或者余弦距离算法计算得到该相似度。由于每个页面上的页面控件至少为一个,在当前页面上的页面控件的数量大于一个的情况下,需要分别计算第一字符和每个第二字符的相似度;在计算得到的第一字符和第二字符的相似度之后,检测相似度是否大于等于预设阈值,在该相似度大于或等于预设阈值的情况下,确定该第二字符对应的页面控件即为被测控件。
例如,上述实施例中提及的深层扫描和深度扫描两个控件,点击这两个控件实际上完成的功能是一致(或相似)的,但是这两个控件的文字描述信息不完全一致,从两个文字描述信息中提取表征“深度扫描”的第一字符和表征“深层扫描”的第二字符,该实施例中的第一字符和第二字符应该是不一致的,计算第一字符和第二字符的相似度S,判断该相似度是否大于或等于预设阈值(该预设阈值可以是经验值,并且该预设阈值可以使用百分比表示,如75%),若S≧75%,则确定表征“深层扫描”的第二字符对应的页面控件为被测控件。
由于不同的应用程序在相似或相同的功能上,对控件的描述可能是不一致的,通过上述方案中比较相似度与预设阈值的大小,从而确定被测控件,可以减少对被测控件的漏判或误判,从而进一步地保证对应用程序的测试的完整性和准确性。
需要进一步地说明的是,在上述实施例中,计算得到的第一字符和第二字符的相似度小于预设阈值的情况下,可以调用匹配库,该匹配库中预存着被测控件的文字信息匹配表,通过在该匹配库中进行匹配确定被测控件。其中,该文字信息匹配表中即为上述的预设文字信息对应表,表中保存着相似度很低但是表征同一控件的文字信息。
例如,控件“完成”和控件“结束”,这两个控件实际对应的功能是一致的,但是通过上述相似度确定被测控件的方法可能无法确定描述“完成”的第二文字信息对应的页面控件即为描述“结束”的第一文字信息的被测控件。采用本发明的上述方法可以从文字信息匹配表中匹配得到与“结束”的描述信息对应的文字描述信息可以为“完成”或“OK”,从而可以确定被测控件。从而可以在对应相似或相同的功能而文字描述完全不同的情况下,从文字信息匹配表中读取对应的文字信息,从而可以进一步地减少对被测控件的漏判或误判,保证对应用程序的测试的完整性和准确性。
本发明还提供可一种在被测应用程序的页面上获取与描述信息对应的被测控件的方法,具体地,描述信息包括坐标描述信息,其中,在被测应用程序的页面上获取与描述信息对应的被测控件可以包括:获取测试信息中携带的页面的页面图片;确定被测控件在页面图片中的坐标描述信息;将页面上对应坐标描述信息的页面控件作为被测控件。
在该实施例中,可以通过图像处理器提取测试信息中的测试页面的页面图片,确定被测控件在该页面图片的坐标,获取该坐标的坐标描述信息,在被测应用程序的当前页面上通过坐标确定被测控件。
在本发明的上述确定被测控件的方法中,均不需要通过被测应用程序的源码,也不需要校验签名即可准确确认被测控件,从而脱离了源码和签名的限制,不仅可以提高测试效率,还可以适用于不同的应用程序的测试和不同产品的测试,具有更好的扩展性。
根据本发明的上述实施例,测试数据包括时间数据,测试结果包括被测控件执行操作的执行时间,其中,记录被测控件在执行操作的过程中产生的测试数据,生成测试结果可以包括:监测被测控件的测试状态;记录测试状态发生变化时的时间数据,其中,时间数据包括:在被测控件开始执行操作时的开始时间和在被测控件执行完成操作时的完成时间;计算开始时间和完成时间的时间差得到执行时间。
需要进一步说明的是,可以将本发明的上述测试方法应用于确定某个功能的执行时间的场景中。
图4是根据本发明实施例一的获取操作执行时间的流程图。具体地,如图4所示,可以通过如下方法获取执行时间:
步骤S402:获取界面上的被测控件。
在该步骤中可以通过上述实施例中确定被测应用程序的页面上被测控件的方法来实现,在此不再赘述。其中,在本申请文件中的页面即为界面。
步骤S404:控制被测控件执行操作。
具体地,在该实施例中操作可以包括一系列的动作,动作可以为点击、滑动、拖动等控件执行的动作。在执行该步骤的过程中,可以按照被测请求依次对不同(或相同)的控件执行不同的动作,以实现对被测应用程序的全部或部分功能的测试,并获取测试结果。
步骤S406:记录被测控件开始执行操作的开始时间。
具体地,可以通过实时抓取内存中记录的控件状态来实现对被测控件的测试状态的实时监测,然后根据被测控件的测试状态确定被测控件开始执行操作的开始状态,记录该状态的系统时间。
步骤S408:检测操作是否执行完成。
其中,在该操作执行完成的情况下,执行步骤S410;在该操作未执行完成的情况下,继续控制被测控件执行操作。
具体地,在对被测应用程序的测试过程中均需要实时监测被测控件的测试状态,通过实时监测的测试状态确定操作是否完成。
更具体地,在很多应用程序中完成某个功能时,会显示完成页面,在该完成页面上一般会有某个页面控件的描述信息中有指示该功能完成的信息。通过完成页面的抓取或页面控件的描述信息可以确定操作是否执行完成。
例如,在对手机管家进行深度扫描的测试时,一旦扫描完成,控件“开始”的文字描述信息就会转变成“结束”的描述信息,因此,在测试过程中,检测被测控件“开始”的测试状态,一旦该控件的描述信息转变为“结束”,则确定该被测控件的操作完成。
步骤S410:记录被测控件执行完成该操作的完成时间。
具体地,记录被测控件执行完成操作的系统时间,将该时间作为完成时间。
步骤S412:计算开始时间和完成时间的时间差得到执行时间。
步骤S414:将执行时间保存入SD卡。
在上述实施例中采用Uiautomator(即界面自动监控器)来获取相关的控件(即被测控件)并控制相关的控件,通过打时间的桩点(即记录开始时间和完成时间),在得到相关功能的开始和结束的时间点,再通过时间的差值计算相关耗时功能的时间性能指标(即执行时间),使得在不需要人工干预的情况下,自动被测应用程序的测试指标(即测试结果),从而高效、快速的获取目标值。
下面将以将本发明应用于对手机管家的测试为应用场景详细介绍本发明:
获取对手机管家的深度扫描的执行时间性能的测试请求,从用例库中获取对应该测试请求的测试信息,该测试信息可以包括测试被测应用程序时使用的被测控件的描述信息和被测控件执行的操作,如图5所示的实施例中测试信息中包括:点击[深度清理],点击[深度扫描],由此可见,在该测试信息中操作包括两个点击动作,两个点击动作分别对应两个控件,为方便下文描述将两个控件分别记作第一控件和第二控件。获取到测试信息之后,调用UI(即界面)库,在测试终端上启动被测应用程序,在进入被测应用程序的页面(即界面)之后,获取第一页面上的被测控件(具体可以通过上述方法实施例中的确定被测控件的方法,在此不再赘述),自动点击[深度清理],在自动点击第一控件[深度清理]的同时,记录第一系统时间,将该第一系统时间作为开始时间;在点击第一控件[深度清理]之后,被测应用程序的页面发生跳转进入第二页面,在第二页面上获取第二控件,点击第二控件[深度扫描],被测应用程序的页面再次发生跳转进入第三页面,第三页面上会显示执行[深度扫描]对应的功能的整个过程(如过程进度条),获取第三页面上的第三控件,图5中示出的第三控件[停止]指示的是该功能正在执行中,一旦执行完成,第三控件的层级位置关系不会变,但是此时第三控件的文字描述信息将由“停止”变为“完成”,一旦监控装置检测到的第三控件的测试状态改变,则确认该测试过程完成,记录此时系统的第二系统时间作为完成时间,计算开始时间和完成时间之间的时间差即为执行时间,从而自动获取并记录扫描垃圾性能耗时值数据(即执行时间)。
需要进一步说明的是,在整个测试过程中产生的各个测试数据均可以记录下来,也可以根据测试请求有选择地记录。如图6所示,该表是在进行竞品测试时记录的上各个动作(即表中的测试项目)的执行时间。
具体地,图6中的Test Mode/TestProduct为测试类型/测试产品,StartTime为开始时间,EndTime为完成时间,CostTime为执行时间,TestItems为测试项目。
在本发明的上述实施例中,获取页面上的被测控件的方法不需要源码、不需要签名,从而在整个测试过程中脱离被测试对象(即被测应用程序)的源码,测试方便快捷;在将本发明的上述方法实施例进行脚本化处理得到测试用例之后,可以多次被执行,并且可以适用于基于Android的产品的功能和性能测试,从而本发明的上述实施例,测试可重复使用、扩展性强。另外,在本发明的上述实施例中,测试结果可以通过用户可见的状态定量衡量,以供用户查看和检查测试结果,从而进一步提高测试结果的准确性,并提升用户体验。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述方法实施例的应用程序的测试装置,该装置可以通过在实施例一中涉及的测试方法来实现,下面对本申请的实施过程进行详细描述。
图7是根据本发明实施例的应用程序的测试装置的示意图。如图7所示,该装置可以包括:信息获取模块10、控件获取模块20、控制模块30、以及结果生成模块40。
其中,信息获取模块10,用于获取用于测试被测应用程序的测试信息,其中,测试信息包括测试被测应用程序时使用的被测控件的描述信息和被测控件执行的操作。
控件获取模块20,用于在被测应用程序的页面上获取与描述信息对应的被测控件。
控制模块30,用于控制被测控件执行操作。
结果生成模块40,用于记录被测控件在执行操作的过程中产生的测试数据,生成测试结果。
采用本发明,在信息获取模块10获取测试被测应用程序时使用的被测控件的描述信息和被测控件执行的操作之后,控件获取模块20在被测应用程序的页面上获取与描述信息对应的被测控件,然后通过控制模块30控制被测控件执行操作,并使用结果生成模块40记录被测控件在执行操作的过程中产生的测试数据,生成测试结果。在上述实施例中使用描述信息获取被测控件,可以快速准确地获取到被测控件,不需要使用被测应用程序的源码,不需要校验签名,节省了获取被测应用程序的源码和测试被测应用程序时签名的时间;在上述实施例中在控制被测控件执行操作中产生的测试数据均可以被记录下来,根据该测试数据生成测试结果,而不需要人工干预,可以自动获取测试结果,快速、准确,解决了现有技术中对软件测试时耗时长的问题,实现了高效、快速完成对应用程序的测试,从而实现高效快速获取测试结果的效果。
其中,信息获取模块10可以从测试支持库中获取测试信息,具体地,可以在获取测试请求之后,从测试支持库中提取与测试请求对应的测试信息。在该实施例中,测试信息可以是测试支持库中预先定义好的数据。
本发明的上述方法可以运行在被测终端上,在对被测应用程序的功能或性能进行测试的时候可以使用上述方法,在通过上述方法对被测应用程序进行测试之前,在被测终端上安装并运行该被测应用程序,并可以在接收到测试请求之后,启动对被测应用程序的测试,获取测试信息。具体地,测试终端可以是移动终端设备(如手机、平板电脑),可选地可以将本发明的上述测试方法应用于Android手机的软件测试中。例如,可以将本发明的上述测试方法应用于Android手机的竞品对比测试中。
其中,被测控件为被测终端运行被测应用程序的界面(或页面)上的按钮、下拉菜单和下拉框等,通过控制被测控件执行操作可以启动被测应用程序的某个数据处理方法(如对系统垃圾的扫描、对系统插件的清理等数据处理方法),也可以通过被测控件表征被测应用程序对应的数据处理方法的处理状态(如:启动该数据处理方法、结束该数据处理方法或者正在处理中等状态)。当然上述的被测控件的类型、对应的处理方法以及处理状态仅仅是作举例说明,上述实施例中涉及的被测控件不仅限于上述的名称、对应的处理方法以及处理状态。
根据本发明的上述实施例,被测控件的描述信息是指描述被测控件的名称、类型、被测控件指示的数据处理方法以及被测控件代表的处理状态中的至少一种属性信息;而测试信息中携带的被测控件执行的操作可以为执行被测控件指示的数据处理方法需要的测试动作。如,点击被测控件启动清理垃圾,则被测控件执行的操作即为:点击,当然在对被测应用程序进行性能或功能测试的时候,可能涉及到的不仅仅是一个被测控件,对应的操作也不仅仅包括一个测试动作。
例如,测试请求为测试手机管家的深度清理功能,则从测试支持库中提取与该测试请求对应的测试信息,该测试信息包括:点击按钮[深度清理],然后点击按钮[深度扫描]。在该测试场景中,按钮[深度清理]和[深度扫描]即为上述实施例中的被测控件,测试信息中携带着对该两个控件的描述信息,“点击”即为上述实施例中的操作。当然上述仅仅是作举例说明,上述实施例中涉及的被测控件还可以包括:下拉菜单、下拉框等控件。
具体地,图7中示出的控件获取模块20和控制模块30可以通过如下方法实现:获取被测控件的预设的查找指令和预设的控制指令,使用该预设的查找指令在被测应用程序的页面上获取与描述信息对应的被测控件,并且使用预设的控制指令控制被测控件执行操作。
通过上述的信息获取模块10、控件获取模块20、控制模块30、以及结果生成模块40,分别对应方法实施例中的步骤S102至步骤S108的实现方法。上述的信息获取模块10、控件获取模块20、控制模块30、以及结果生成模块40与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。上述四个模块可以运行在计算机终端或移动终端,可以通过软件或硬件实现。
可选地,上述实施例中的测试装置可以在测试终端上运行,测试终端可以是基于Android平台的移动终端设备(如手机、平板电脑),具体地可以将本发明的上述测试装置应用于Android手机的软件测试中。
可选地,可以将信息获取模块10、控件获取模块20、控制模块30、以及结果生成模块40执行的流程进行脚本化处理得到测试用例。
在本发明的上述实施例中,得到测试用例之后,可以使用测试用例按照下述方法实现对应用程序的测试:在得到测试用例之后,将测试用例保存入用例库中,以供后续对应用程序进行测试时调用;具体地,在用例库中选择与测试请求对应的产品和测试用例,然后对产品执行该对应的测试用例。可选地,用户在对被测应用程序测试时,可以从用例库中选择执行一条测试用例或者同时执行多条测试用例。在对被测应用程序测试时,同时执行多条测试用例可以进一步地节省测试时间。
需要进一步地说明的是,在测试用例执行完成后,将测试结果保存入与测试终端连接的SD卡(即安全数码)上,在SD卡的测试目录下存储上述测试用例的执行结果和测试项的数据结果。
本发明上述实施例的测试方法可以应用于移动终端上,移动终端(如手机)上的SD卡的存储控件比移动终端上的存储控件大,SD卡保存的数据更加完整,并且不影响移动终端其他程序的运行;并且SD卡可以方便的从移动终端上取下来,从而可以方便的进行数据传输,以便后续对测试结果的查看和深度分析。
在将本发明的上述实施例应用于竞品对比测试中时,被测对象(被测产品)即为上述的被测应用程序。如,对第一手机管家和第二手机管家的对比测试,则需要在上述的两个产品(如第一手机管家和第二手机管家)上分别测试,可以通过在通过一个测试终端上运行两个被测应用程序来实现对产品的测试,也可以在不同的测试终端(可选地,不同的测试终端的运行环境相同)上分别运行两个被测应用程序来进行测试。
具体地,在从用例库中选择与测试请求对应的测试用例之后,判断是否成功执行该测试用例,在成功执行该测试用例的情况下,判断是否存在未执行的其他测试用例;在没有成功执行该测试用例的情况下,返回获取被测对象。
其中,测试请求可以为对被测应用程序的全部功能进行测试,也可以仅仅对其中的一个功能进行测试。在对被测应用程序的全部功能进行测试的情况下,测试用例可以为一个或多个;在对被测应用程序的某个功能进行测试的情况下,测试用例可以为一个。进一步地,可以通过检测获取到的测试用例的数量来确定是否还存在未执行的其他测试用例,并通过检测获取到的测试用例的顺序确定下一个待执行的测试用例。
在将该装置实施例应用于对被测应用程序的功能和性能测试中时,操作中可能包括一个或多个动作,每个动作可以分别对应一个被测控件,虽然操作中可以包括不止一个动作,且控制对象可以是不同的被测控件,但是获取页面上被测控件和控制被测控件执行操作均可以通过本发明上述方法实施例中详细介绍的方法实现。
根据本发明的上述实施例,控件获取模块20可以包括:第一文件获取模块,用于获取页面的配置文件;可视化处理模块,用于对配置文件进行可视化处理得到页面层级文件;第一查找模块,用于在页面层级文件中查找与层级位置信息对应的被测控件;其中,描述信息包括层级位置信息。
在上述实施例中,第一文件获取模块可以从控件库中调用预设的被测控件的查找方法,还以采用上述的方法确定被测控件。具体地,可以通过界面自动监控器抓取测试终端上运行的被测应用程序的当前页面的配置文件,从配置文件中提取层级信息,并将当前页面的层级信息进行可视化处理得到页面层级文件。该页面层级文件可以是树状结构的文档,由于在每个页面上页面控件的层级位置信息是唯一的,通过遍历该页面层级文件可以在页面层级文件中查找到与层级位置信息对应的被测控件,从而唯一地确定被测控件。
根据本发明的上述实施例,控件获取模块可以包括:第二文件获取模块和第一控件获取子模块,其中,第二文件获取模块用于获取页面的配置文件,第一控件获取子模块用于从配置文件中获取与第一文字信息对应的被测控件;或集合获取模块、第二查找模块和控件确定模块,其中,集合获取模块用于获取页面上所有页面控件的第二文字信息得到文字信息集,第二查找模块用于通过文字信息集查找与第一文字信息对应的第三文字信息,控件确定模块用于将第三文字信息对应的页面控件作为被测控件;其中,描述信息包括第一文字信息。
在上述实施例中提供了两种通过第一文字信息确定被测控件的方法,其中,第一种是通过界面自动监控器抓取到的当前页面的配置文件,直接在配置文件搜索与第一文字信息对应的被测控件。
根据本发明的上述实施例,还提供了一种可选的确定被测控件的方法。具体地,获取页面上所有页面控件的第二文字信息,将第二文字信息保存在文字信息集中,通过文字信息集查找与第一文字信息对应的第三文字信息,并将第三文字信息对应的页面控件作为被测控件。
上述实施例中的第一文件获取模块、可视化处理模块、第一查找模块、第二文件获取模块、第一控件获取子模块、集合获取模块、第二查找模块和控件确定模块均与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容,且上述模块可以运行在计算机终端或移动终端,可以通过软件或硬件实现。
在本发明的上述实施例中,由于不同的应用程序在相似或相同的功能上,对控件的描述可能是不一致的,如:深层扫描和深度扫描,对测试终端上的扫描范围和扫描结果的分析程度类似,然而在进行竞品对比测试时,可能需要将上述测试流程在不同的产品(即相似或相同功能的应用程序)上执行,为了保证测试的完整性和准确性,本发明提供了字符提取模块、相似度计算模块和信息提取模块来通过文字信息集查找与第一文字信息对应的第三文字信息。
其中,字符提取模块,用于提取第一文字信息中的第一字符和第二文字信息中的第二字符。
相似度计算模块,用于计算第一字符和第二字符的相似度。
信息提取模块,用于在相似度大于或等于预设阈值的情况下,从文字信息集中提取与第二字符对应的第三文字信息;在相似度小于预设阈值的情况下,从预设文字信息对应表中提取第三文字信息。
在该可选的方案中,可以适用于第一控件获取子模块。具体地,第一控件获取子模块可以从配置文件中提取当前页面的页面控件的第二文字信息,然后提取第一文字信息中的第一字符和第二文字信息中的第二字符;计算第一字符和第二字符的相似度;在相似度大于或等于预设阈值的情况下,从文字信息集中提取与第二字符对应的第三文字信息。
可选地,相似度计算模块可以通过拼音编码和五笔编码计算两个字符的编辑距离、矩阵算法、或者余弦距离算法等算法计算得到该相似度。由于每个页面上的页面控件至少为一个,在当前页面上的页面控件的数量大于一个的情况下,需要分别计算第一字符和每个第二字符的相似度;在计算得到的第一字符和第二字符的相似度之后,检测相似度是否大于等于预设阈值,在该相似度大于或等于预设阈值的情况下,确定该第二字符对应的页面控件即为被测控件。
由于不同的应用程序测试相似或相同的功能时,不同的被测应用程序对控件的描述可能不一致,通过上述方案中比较相似度与预设阈值的大小,从而确定被测控件,可以减少对被测控件的漏判或误判,从而进一步地保证对应用程序的测试的完整性和准确性。
需要进一步地说明的是,在上述实施例中,计算得到的第一字符和第二字符的相似度小于预设阈值的情况下,可以调用匹配库,该匹配库中预存着被测控件的文字信息匹配表,通过在该匹配库中进行匹配确定被测控件。其中,该文字信息匹配表中即为上述的预设文字信息对应表,表中保存着相似度很低但是表征同一控件的文字信息。
本发明上述实施例中的控件获取模块还可以包括:图片获取模块,用于获取测试信息中携带的页面的页面图片;坐标确定模块,用于确定被测控件在页面图片中的坐标描述信息;控件确定模块,用于将页面上对应坐标描述信息的页面控件作为被测控件;其中,描述信息包括坐标描述信息。
在该实施例中,可以通过图像处理器提取测试信息中的测试页面的页面图片,确定被测控件在该页面图片的坐标,获取该坐标的坐标描述信息,在被测应用程序的当前页面上通过坐标确定被测控件。
在本发明的上述确定被测控件的方法中,均不需要通过被测应用程序的源码,也不需要校验签名即可准确确认被测控件,从而脱离了源码和签名的限制,不仅可以提高测试效率,还可以适用于不同的应用程序的测试和不同产品的测试,具有更好的扩展性。
本实施例中所提供的图片获取模块、坐标确定模块以及控件确定模块与实施例一所提供的使用方法相同、应用场景也可以相同。当然,需要注意的是,上述模块涉及的方案可以不限于上述实施例一中的内容和场景。
本发明的测试装置可以应用于可以将本发明的上述测试方法应用于确定某个功能的执行时间的场景中。具体地,结果生成模块可以包括:监测被测控件的测试状态;记录测试状态发生变化时的时间数据,其中,时间数据包括:在被测控件开始执行操作时的开始时间和在被测控件执行完成操作时的完成时间;计算开始时间和完成时间的时间差得到执行时间;其中,测试数据包括时间数据,测试结果包括被测控件执行操作的执行时间。
下面将以将本发明应用于对手机管家的测试为应用场景详细介绍本发明:
获取对手机管家的深度扫描的执行时间性能的测试请求,从用例库中获取对应该测试请求的测试信息,该测试信息可以包括测试被测应用程序时使用的被测控件的描述信息和被测控件执行的操作,如图6所示的实施例中测试信息中包括:点击[深度清理],点击[深度扫描],由此可见,在该测试信息中操作包括两个点击动作,两个点击动作分别对应两个控件,为方便下文描述将两个控件分别记作第一控件和第二控件。获取到测试信息之后,调用UI(即界面)库,在测试终端上启动被测应用程序,在进入被测应用程序的页面(即界面)之后,获取第一页面上的被测控件(具体可以通过上述方法实施例中的确定被测控件的方法,在此不再赘述),自动点击[深度清理],在自动点击第一控件[深度清理]的同时,记录第一系统时间,将该第一系统时间作为开始时间;在点击第一控件[深度清理]之后,被测应用程序的页面发生跳转进入第二页面,在第二页面上获取第二控件,点击第二控件[深度扫描],被测应用程序的页面再次发生跳转进入第三页面,第三页面上会显示执行[深度扫描]对应的功能的整个过程,获取第三页面上的第三控件,图6中示出的第三控件[停止]指示的是该功能正在执行中,一旦执行完成,第三控件的层级位置关系不会变,但是此时第三控件的文字描述信息将由“停止”变为“完成”,一旦监控装置检测到的第三控件的测试状态改变,则确认该测试过程完成,记录此时系统的第二系统时间作为完成时间,计算开始时间和完成时间之间的时间差即为执行时间,从而自动获取并记录扫描垃圾性能耗时值数据(即执行时间)。
实施例3
在其最基本的配置中,本发明还提供了一种应用程序的测试系统。出于描述的目的,该体系结构仅为合适环境的一个示例,并非对本申请的使用范围或功能提出任何局限。也不应将该计算系统解释为对该系统的任一组件或其组合具有任何依赖或需求。
该测试系统可以包括:测试终端。
其中,测试终端用于获取用于测试被测应用程序的测试信息,在被测应用程序的页面上获取与描述信息对应的被测控件,然后控制被测控件执行操作,并记录被测控件在执行操作的过程中产生的测试数据,生成测试结果,其中,测试信息包括测试被测应用程序时使用的被测控件的描述信息和被测控件执行的操作。
采用本发明,在信息获取模块获取测试被测应用程序时使用的被测控件的描述信息和被测控件执行的操作之后,控件获取模块在被测应用程序的页面上获取与描述信息对应的被测控件,然后通过控制模块控制被测控件执行操作,并使用结果生成模块记录被测控件在执行操作的过程中产生的测试数据,生成测试结果。在上述实施例中使用描述信息获取被测控件,可以快速准确地获取到被测控件,不需要使用被测应用程序的源码,不需要校验签名,节省了获取被测应用程序的源码和测试被测应用程序时签名的时间;在上述实施例中在控制被测控件执行操作中产生的测试数据均可以被记录下来,根据该测试数据生成测试结果,而不需要人工干预,可以自动获取测试结果,快速、准确,解决了现有技术中对软件测试时耗时长的问题,实现了高效、快速完成对应用程序的测试,从而实现了高效快速获取测试结果的效果。
本发明上述实施例二的图7中示出的信息获取模块10、控件获取模块20、控制模块30、以及结果生成模块40可以设置在该测试终端上。
如图8所示,该测试终端上不仅可以包括上述模块,还可以包括用例库和测试支持库。
具体地,测试支持库中分别包含文件处理支持库、数据处理支持库、图像处理支持库、网络支持库、测试报告支持库、以及控件抓取支持库。
其中,文件处理支持库:用于支持处理相关的文件生成、文件格式等文件处理操作;数据处理支持库:用于支持处理测试记录的保存格式和配置文件处理模块;图像处理支持库:用于支持处理一些图像的操作、包括截图等;测试报告支持库:用于生成测试报告;控件抓取支持库:用于处理控件的抓取方法和时间戳记录相关方法。
上述的各个支持库用于在对被测应用程序的测试中提供测试数据支持。
根据本发明的上述实施例,测试终端可以从测试支持库中获取测试信息,具体地,可以在获取测试请求之后,从测试支持库中提取与测试请求对应的测试信息。在该实施例中,测试信息可以是测试支持库中预先定义好的数据。
例如,测试请求为测试手机管家的深度清理功能,则从测试支持库中提取与该测试请求对应的测试信息,该测试信息包括:点击按钮[深度清理],然后点击按钮[深度扫描]。在该测试场景中,按钮[深度清理]和[深度扫描]即为上述实施例中的被测控件,测试信息中携带着对该两个控件的描述信息,“点击”即为上述实施例中的操作。当然上述仅仅是作举例说明,上述实施例中涉及的被测控件还可以包括:下拉菜单、下拉框等控件。
可选地,可以将信息获取模块10、控件获取模块20、控制模块30、以及结果生成模块40执行的流程进行脚本化处理得到测试用例。
在本发明的上述实施例中,得到测试用例之后,可以使用测试用例按照下述方法实现对应用程序的测试:在得到测试用例之后,将测试用例保存入用例库中,以供后续对应用程序进行测试时调用;具体地,在用例库中选择与测试请求对应的产品和测试用例,然后对产品执行该对应的测试用例。可选地,用户在对被测应用程序测试时,可以从用例库中选择执行一条测试用例或者同时执行多条测试用例。在对被测应用程序测试时,同时执行多条测试用例可以进一步地节省测试时间。
需要进一步地说明的是,在测试用例执行完成后,将测试结果保存入与测试终端连接的SD卡(即安全数码)上,在SD卡的测试目录下存储上述测试用例的执行结果和测试项的数据结果。
本发明上述实施例的测试方法可以应用于移动终端上,移动终端(如手机)上的SD卡的存储控件比移动终端上的存储控件大,SD卡保存的数据更加完整,并且不影响移动终端其他程序的运行;并且SD卡可以方便的从移动终端上取下来,从而可以方便的进行数据传输,以便后续对测试结果的查看和深度分析。
在将本发明的上述实施例应用于竞品对比测试中时,被测对象(被测产品)即为上述的被测应用程序。如,对第一手机管家和第二手机管家的对比测试,则需要在上述的两个产品(如第一手机管家和第二手机管家)上分别测试,可以通过在通过一个测试终端上运行两个被测应用程序来实现对产品的测试,也可以在不同的测试终端(可选地,不同的测试终端的运行环境相同)上分别运行两个被测应用程序来进行测试。
具体地,在从用例库中选择与测试请求对应的测试用例之后,判断是否成功执行该测试用例,在成功执行该测试用例的情况下,判断是否存在未执行的其他测试用例;在没有成功执行该测试用例的情况下,返回获取被测对象。
其中,测试请求可以为对被测应用程序的全部功能进行测试,也可以仅仅对其中的一个功能进行测试。在对被测应用程序的全部功能进行测试的情况下,测试用例可以为一个或多个;在对被测应用程序的某个功能进行测试的情况下,测试用例可以为一个。进一步地,可以通过检测获取到的测试用例的数量来确定是否还存在未执行的其他测试用例,并通过检测获取到的测试用例的顺序确定下一个待执行的测试用例。
在将该装置实施例应用于对被测应用程序的功能和性能测试中时,操作中可能包括一个或多个动作,每个动作可以分别对应一个被测控件,虽然操作中可以包括不止一个动作,且控制对象可以是不同的被测控件,但是获取页面上被测控件和控制被测控件执行操作均可以通过本发明上述方法实施例中详细介绍的方法实现。
如图8所示,测试支持库用于支持测试用例,用例库中可以包括多个测试用例,如图8中示出的对应第一被测应用程序(如QQ手机管家)和第二被测应用程序(如X60手机管家)的一个或多个测试用例(如测试用例1、测试用例2和扩展测试用例),当然在用例库中还可以包括扩展被测应用程序。
在图8示出的测试终端可以为移动终端,用户可以通过移动终端的界面与用例库进行交互,以选择或者确定测试用例。具体地,在用户与用例库进行交互之前,可以先初始化测试终端的测试环境,并执行测试用例的入口和界面(即页面)。
根据本发明的上述实施例,测试终端可以包括:界面自动监控器,用于获取页面的配置文件,并对配置文件进行可视化处理得到页面层级文件,然后在页面层级文件中查找与层级位置信息对应的被测控件;其中,描述信息包括层级位置信息。
如图8所示,控件抓取支持库用于为界面自动监控器。具体地,第一文件获取模块、可视化处理模块以及第一查找模块可以设置在界面自动监控器上,界面自动监控器通过第一文件获取模块、可视化处理模块以及第一查找模块确定被测控件。
在本发明的测试系统中,界面自动监控器还可以用于从配置文件中获取与描述信息中的第一文字信息对应的被测控件;或测试终端还包括数据处理器,用于获取页面上所有页面控件的第二文字信息得到文字信息集,在通过文字信息集查找与第一文字信息对应的第三文字信息之后,将第三文字信息对应的页面控件作为被测控件;其中,描述信息包括第一文字信息。其中,如图8所示的数据处理支持库用于支持数据处理器的工作。
根据本发明的上述实施例,数据处理器可以包括:子处理器,用于提取第一文字信息中的第一字符和第二文字信息中的第二字符;计算器,用于计算第一字符和第二字符的相似度;子处理器还用于在相似度大于或等于预设阈值的情况下,从文字信息集中提取与第二字符对应的第三文字信息。
需要进一步地说明的是,测试终端还可以包括:图像处理器,用于获取测试信息中携带的页面的页面图片,并在确定被测控件在页面图片中的坐标描述信息之后,将页面上对应坐标描述信息的页面控件作为被测控件;其中,描述信息包括坐标描述信息。
本发明上述实施例中的图像处理器使用装置实施例中的图片获取模块、坐标确定模块以及控件确定模块确定被测控件;以及数据处理器使用装置实施例中的集合获取模块、第二查找模块和控件确定模块确定被测控件。其与上述的装置实施例中涉及的使用方法相同、应用场景也可以相同。
本发明提供的测试终端还可以包括:监测装置,用于监测被测控件的测试状态,并记录测试状态发生变化时的时间数据,其中,时间数据包括:在被测控件开始执行操作时的开始时间和在被测控件执行完成操作时的完成时间,在获取开始时间和完成时间之后,计算开始时间和完成时间的时间差得到执行时间;其中,测试数据包括时间数据,测试结果包括被测控件执行操作的执行时间。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
从以上描述中,可以看出本发明实现了如下技术效果:
在本发明的上述实施例中在控制被测控件执行操作中产生的测试数据均可以被记录下来,根据该测试数据生成测试结果,而不需要人工干预,可以自动获取测试结果,快速、准确,解决了现有技术中对软件测试时耗时长的问题,实现了高效、快速完成对应用程序的测试,从而高效快速获取测试结果的效果;在上述实施例中使用描述信息获取被测控件,可以快速准确地获取到被测控件,不需要使用被测应用程序的源码,不需要校验签名。
在本申请所提供的几个实施例中,应该理解到,所揭露的终端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种应用程序的测试方法,其特征在于,包括:
获取用于测试被测应用程序的测试信息,其中,所述测试信息包括测试所述被测应用程序时使用的被测控件的描述信息和所述被测控件执行的操作;
在所述被测应用程序的页面上获取与所述描述信息对应的所述被测控件;
控制所述被测控件执行所述操作;
记录所述被测控件在执行所述操作的过程中产生的测试数据,生成测试结果;
其中,所述测试数据包括时间数据,所述测试结果包括所述被测控件执行所述操作的执行时间,其中,记录所述被测控件在执行所述操作的过程中产生的测试数据,生成测试结果包括:
监测所述被测控件的测试状态;
记录所述测试状态发生变化时的所述时间数据,其中,所述时间数据包括:在所述被测控件开始执行所述操作时的开始时间和在所述被测控件执行完成所述操作时的完成时间;
计算所述开始时间和所述完成时间的时间差得到所述执行时间。
2.根据权利要求1所述的测试方法,其特征在于,所述描述信息包括层级位置信息,其中,在所述被测应用程序的页面上获取与所述描述信息对应的所述被测控件包括:
获取所述页面的配置文件;
对所述配置文件进行可视化处理得到页面层级文件;
在所述页面层级文件中查找与所述层级位置信息对应的所述被测控件。
3.根据权利要求1所述的测试方法,其特征在于,所述描述信息包括第一文字信息,其中,在所述被测应用程序的页面上获取与所述描述信息对应的所述被测控件包括:
获取所述页面的配置文件,从所述配置文件中获取与所述第一文字信息对应的所述被测控件;或
获取所述页面上所有页面控件的第二文字信息得到文字信息集,通过所述文字信息集查找与所述第一文字信息对应的第三文字信息,将所述第三文字信息对应的所述页面控件作为所述被测控件。
4.根据权利要求3所述的测试方法,其特征在于,通过所述文字信息集查找与所述第一文字信息对应的第三文字信息包括:
提取所述第一文字信息中的第一字符和所述第二文字信息中的第二字符;
计算所述第一字符和所述第二字符的相似度;
在所述相似度大于或等于预设阈值的情况下,从所述文字信息集中提取与所述第二字符对应的所述第三文字信息;
在所述相似度小于所述预设阈值的情况下,从预设文字信息对应表中提取所述第三文字信息。
5.根据权利要求1所述的测试方法,其特征在于,所述描述信息包括坐标描述信息,其中,在所述被测应用程序的页面上获取与所述描述信息对应的所述被测控件包括:
获取所述测试信息中携带的所述页面的页面图片;
确定所述被测控件在所述页面图片中的所述坐标描述信息;
将所述页面上对应所述坐标描述信息的页面控件作为所述被测控件。
6.一种应用程序的测试装置,其特征在于,包括:
信息获取模块,用于获取用于测试被测应用程序的测试信息,其中,所述测试信息包括测试所述被测应用程序时使用的被测控件的描述信息和所述被测控件执行的操作;
控件获取模块,用于在所述被测应用程序的页面上获取与所述描述信息对应的所述被测控件;
控制模块,用于控制所述被测控件执行所述操作;
结果生成模块,用于记录所述被测控件在执行所述操作的过程中产生的测试数据,生成测试结果;
其中,所述结果生成模块包括:
监测所述被测控件的测试状态;
记录所述测试状态发生变化时的时间数据,其中,所述时间数据包括:在所述被测控件开始执行所述操作时的开始时间和在所述被测控件执行完成所述操作时的完成时间;
计算所述开始时间和所述完成时间的时间差得到执行时间;
其中,所述测试数据包括所述时间数据,所述测试结果包括所述被测控件执行所述操作的所述执行时间。
7.根据权利要求6所述的测试装置,其特征在于,所述控件获取模块包括:
第一文件获取模块,用于获取所述页面的配置文件;
可视化处理模块,用于对所述配置文件进行可视化处理得到页面层级文件;
第一查找模块,用于在所述页面层级文件中查找与层级位置信息对应的所述被测控件;
其中,所述描述信息包括所述层级位置信息。
8.根据权利要求6所述的测试装置,其特征在于,所述控件获取模块包括:
第二文件获取模块和第一控件获取子模块,其中,所述第二文件获取模块用于获取所述页面的配置文件,所述第一控件获取子模块用于从所述配置文件中获取与第一文字信息对应的所述被测控件;或
集合获取模块、第二查找模块和控件确定模块,其中,所述集合获取模块用于获取所述页面上所有页面控件的第二文字信息得到文字信息集,所述第二查找模块用于通过所述文字信息集查找与所述第一文字信息对应的第三文字信息,所述控件确定模块用于将所述第三文字信息对应的所述页面控件作为所述被测控件;
其中,所述描述信息包括所述第一文字信息。
9.根据权利要求8所述的测试装置,其特征在于,所述第二查找模块包括:
字符提取模块,用于提取所述第一文字信息中的第一字符和所述第二文字信息中的第二字符;
相似度计算模块,用于计算所述第一字符和所述第二字符的相似度;
信息提取模块,用于在所述相似度大于或等于预设阈值的情况下,从所述文字信息集中提取与所述第二字符对应的所述第三文字信息;在所述相似度小于所述预设阈值的情况下,从预设文字信息对应表中提取所述第三文字信息。
10.根据权利要求6所述的测试装置,其特征在于,所述控件获取模块包括:
图片获取模块,用于获取所述测试信息中携带的所述页面的页面图片;
坐标确定模块,用于确定所述被测控件在所述页面图片中的坐标描述信息;
控件确定模块,用于将所述页面上对应所述坐标描述信息的页面控件作为所述被测控件;
其中,所述描述信息包括所述坐标描述信息。
11.一种应用程序的测试系统,其特征在于,包括:
测试终端,用于获取用于测试被测应用程序的测试信息,在所述被测应用程序的页面上获取与描述信息对应的被测控件,然后控制所述被测控件执行操作,并记录所述被测控件在执行所述操作的过程中产生的测试数据,生成测试结果,
其中,所述测试信息包括测试所述被测应用程序时使用的被测控件的所述描述信息和所述被测控件执行的所述操作;
其中,所述测试终端包括:
监测装置,用于监测所述被测控件的测试状态,并记录所述测试状态发生变化时的时间数据,其中,所述时间数据包括:在所述被测控件开始执行所述操作时的开始时间和在所述被测控件执行完成所述操作时的完成时间,在获取所述开始时间和所述完成时间之后,计算所述开始时间和所述完成时间的时间差得到执行时间;
其中,所述测试数据包括所述时间数据,所述测试结果包括所述被测控件执行所述操作的所述执行时间。
12.根据权利要求11所述的测试系统,其特征在于,所述测试终端包括:
界面自动监控器,用于获取所述页面的配置文件,并对所述配置文件进行可视化处理得到页面层级文件,然后在所述页面层级文件中查找与层级位置信息对应的所述被测控件;
其中,所述描述信息包括所述层级位置信息。
13.根据权利要求12所述的测试系统,其特征在于,
所述界面自动监控器还用于从所述配置文件中获取与所述描述信息中的第一文字信息对应的所述被测控件;或
所述测试终端还包括数据处理器,用于获取所述页面上所有页面控件的第二文字信息得到文字信息集,在通过所述文字信息集查找与所述第一文字信息对应的第三文字信息之后,将所述第三文字信息对应的所述页面控件作为所述被测控件;
其中,所述描述信息包括所述第一文字信息。
14.根据权利要求13所述的测试系统,其特征在于,所述数据处理器包括:
子处理器,用于提取所述第一文字信息中的第一字符和所述第二文字信息中的第二字符;
计算器,用于计算所述第一字符和所述第二字符的相似度;
所述子处理器还用于在所述相似度大于或等于预设阈值的情况下,从所述文字信息集中提取与所述第二字符对应的所述第三文字信息;在所述相似度小于所述预设阈值的情况下,从预设文字信息对应表中提取所述第三文字信息。
15.根据权利要求11所述的测试系统,其特征在于,所述测试终端还包括:
图像处理器,用于获取所述测试信息中携带的所述页面的页面图片,并在确定所述被测控件在所述页面图片中的坐标描述信息之后,将所述页面上对应所述坐标描述信息的页面控件作为所述被测控件;
其中,所述描述信息包括所述坐标描述信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410028162.6A CN104794050B (zh) | 2014-01-21 | 2014-01-21 | 应用程序的测试方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410028162.6A CN104794050B (zh) | 2014-01-21 | 2014-01-21 | 应用程序的测试方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104794050A CN104794050A (zh) | 2015-07-22 |
CN104794050B true CN104794050B (zh) | 2018-09-18 |
Family
ID=53558859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410028162.6A Active CN104794050B (zh) | 2014-01-21 | 2014-01-21 | 应用程序的测试方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104794050B (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159992A (zh) * | 2015-09-01 | 2015-12-16 | 北京瑞汛世纪科技有限公司 | 一种应用程序的页面内容及网络行为的检测方法及装置 |
CN105095093A (zh) * | 2015-09-30 | 2015-11-25 | 上海斐讯数据通信技术有限公司 | 一种智能终端性能测试方法及系统 |
CN105260082B (zh) * | 2015-10-16 | 2018-12-07 | 华为技术有限公司 | 一种测试数据展示方法及开发终端 |
CN105630674A (zh) * | 2015-12-17 | 2016-06-01 | 北京奇虎科技有限公司 | 一种针对界面的测试方法和装置 |
CN105930261B (zh) | 2016-01-16 | 2018-06-22 | 平安科技(深圳)有限公司 | 测试方法及测试终端 |
CN107229561A (zh) * | 2016-03-24 | 2017-10-03 | 华为技术有限公司 | 应用程序测试方法及设备 |
CN106066826A (zh) * | 2016-05-24 | 2016-11-02 | 北京金山安全软件有限公司 | 埋点的自动测试方法、装置以及终端 |
CN106201895B (zh) * | 2016-07-25 | 2018-10-23 | 东软集团股份有限公司 | 应用测试方法和装置 |
CN106294152B (zh) * | 2016-08-09 | 2019-03-12 | 努比亚技术有限公司 | 应用用户界面的遍历测试装置及方法 |
CN106407105B (zh) * | 2016-08-26 | 2019-02-01 | 上海合福信息科技有限公司 | 一种测试设计书生成方法 |
CN107741900B (zh) * | 2016-08-26 | 2019-09-17 | 上海合福信息科技有限公司 | 一种自动测试方法 |
CN106445805B (zh) * | 2016-08-26 | 2020-06-12 | 上海合福信息科技有限公司 | 一种可视化测试报告生成方法 |
CN107885649A (zh) * | 2016-09-29 | 2018-04-06 | 平安科技(深圳)有限公司 | Ios应用程序的性能测试方法和装置 |
CN107122295B (zh) * | 2017-03-30 | 2020-12-29 | 腾讯科技(深圳)有限公司 | 测试用例脚本的生成方法和装置 |
CN107040818B (zh) * | 2017-03-31 | 2019-08-02 | 武汉斗鱼网络科技有限公司 | 用于安卓电视的布局层级分析方法及系统 |
CN108388505A (zh) * | 2017-04-27 | 2018-08-10 | 深圳雷柏科技股份有限公司 | 一种操作测试设备的方法和测试设备 |
CN109117324A (zh) * | 2017-06-26 | 2019-01-01 | 深圳回收宝科技有限公司 | 终端检测方法、装置、终端及存储介质 |
CN107861862A (zh) * | 2017-06-27 | 2018-03-30 | 陆金所(上海)科技服务有限公司 | Ui自动化测试方法、装置及计算机可读存储介质 |
CN107704396A (zh) * | 2017-10-20 | 2018-02-16 | 平安科技(深圳)有限公司 | 应用程序的测试方法及装置 |
CN108363666A (zh) * | 2018-02-13 | 2018-08-03 | 中链科技有限公司 | 一种软件功能测试时间确定方法、装置及终端 |
CN110502419A (zh) * | 2018-05-17 | 2019-11-26 | 阿里巴巴集团控股有限公司 | 一种图形用户界面的测试方法、装置及设备 |
CN108877796A (zh) * | 2018-06-14 | 2018-11-23 | 合肥品冠慧享家智能家居科技有限责任公司 | 语音控制智能设备终端操作的方法和装置 |
CN109324968B (zh) * | 2018-09-26 | 2022-03-04 | 北京奇艺世纪科技有限公司 | 一种系统测试方法及装置 |
CN109634492A (zh) * | 2018-10-23 | 2019-04-16 | 中国平安人寿保险股份有限公司 | 下拉框指定值输入方法、装置、及计算机可读存储介质 |
CN109542440A (zh) * | 2018-11-29 | 2019-03-29 | 金蝶软件(中国)有限公司 | 对窗口的操作方法和装置、计算机装置及可读存储介质 |
CN110046085B (zh) * | 2018-12-03 | 2022-12-13 | 创新先进技术有限公司 | 识别终端设备上显示的应用程序控件的方法及装置 |
CN110022244B (zh) * | 2019-04-03 | 2020-08-28 | 北京字节跳动网络技术有限公司 | 用于发送信息的方法和装置 |
CN111427776A (zh) * | 2020-03-12 | 2020-07-17 | 甄十信息科技(上海)有限公司 | 一种智能设备自动化测试方法及装置 |
CN111694735B (zh) * | 2020-05-28 | 2023-07-21 | 北京城市网邻信息技术有限公司 | 一种页面性能测试方法、装置、电子设备及存储介质 |
CN111694756B (zh) * | 2020-07-31 | 2023-05-23 | 北京字节跳动网络技术有限公司 | 一种应用程序测试方法及装置 |
CN112597034A (zh) * | 2020-12-25 | 2021-04-02 | 深圳证券交易所 | 测试用例的生成方法、装置及计算机可读存储介质 |
CN112905449B (zh) * | 2021-01-27 | 2024-04-23 | 长沙市到家悠享网络科技有限公司 | 目标测试方法、装置、设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1851666A (zh) * | 2005-11-01 | 2006-10-25 | 华为技术有限公司 | 一种实现软件自动测试的方法及系统 |
CN101241466A (zh) * | 2007-02-08 | 2008-08-13 | 深圳迈瑞生物医疗电子股份有限公司 | 一种嵌入式软件的测试方法和系统 |
CN101339534A (zh) * | 2008-06-17 | 2009-01-07 | 金蝶软件(中国)有限公司 | 一种软件测试的方法及装置 |
CN101727384A (zh) * | 2008-10-16 | 2010-06-09 | 致伸科技股份有限公司 | 自动测试一应用软件的控件的方法 |
-
2014
- 2014-01-21 CN CN201410028162.6A patent/CN104794050B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1851666A (zh) * | 2005-11-01 | 2006-10-25 | 华为技术有限公司 | 一种实现软件自动测试的方法及系统 |
CN101241466A (zh) * | 2007-02-08 | 2008-08-13 | 深圳迈瑞生物医疗电子股份有限公司 | 一种嵌入式软件的测试方法和系统 |
CN101339534A (zh) * | 2008-06-17 | 2009-01-07 | 金蝶软件(中国)有限公司 | 一种软件测试的方法及装置 |
CN101727384A (zh) * | 2008-10-16 | 2010-06-09 | 致伸科技股份有限公司 | 自动测试一应用软件的控件的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104794050A (zh) | 2015-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104794050B (zh) | 应用程序的测试方法、装置及系统 | |
CN106844217B (zh) | 对应用的控件进行埋点的方法及装置、可读存储介质 | |
CN104252410B (zh) | 一种对页面中的控件进行测试的方法和设备 | |
CN109815156A (zh) | 页面中视觉元素的展示测试方法、装置、设备和存储介质 | |
CN104090761B (zh) | 一种截图应用装置和方法 | |
CN104424094B (zh) | 一种异常信息获取方法、装置及智能终端设备 | |
CN103518393B (zh) | 检测移动通信设备内容的系统和方法 | |
CN103678105B (zh) | 一种页面代码的测试方法和装置 | |
CN109508681A (zh) | 生成人体关键点检测模型的方法和装置 | |
US9904517B2 (en) | System and method for automatic modeling of an application | |
CN106095866B (zh) | 应用程序推荐方法、程序启动速度的优化方法和装置 | |
CN108920380A (zh) | 软件兼容性的测试方法、装置、服务器、设备和存储介质 | |
CN105913088A (zh) | 一种卡顿识别方法、装置及计算设备 | |
CN102981954B (zh) | 一种输入法的兼容性测试方法及电子装置 | |
CN103019937A (zh) | 一种人机交互界面遍历测试方法 | |
CN109901996B (zh) | 辅助测试的方法、装置、电子设备及可读存储介质 | |
CN105955881A (zh) | 一种自动化测试步骤录制及回放方法和装置 | |
CN108537129B (zh) | 训练样本的标注方法、装置和系统 | |
RU2016139156A (ru) | Автоматизируемый интеллектуальный сбор и сверка данных | |
CN110175609A (zh) | 界面元素检测方法、装置及设备 | |
CN107967209A (zh) | 一种检测前端网页代码中错误的方法、检测设备及服务器 | |
CN109783351A (zh) | 界面测试方法、装置及计算机可读存储介质 | |
CN107133165A (zh) | 浏览器兼容性检测方法及装置 | |
CN109426611A (zh) | 一种软件测试方法和装置 | |
CN108197634A (zh) | 自动抄表方法、系统、计算机设备和可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |