一种随机测试方法和装置制造方法及图纸

技术编号:18710724 阅读:22 留言:0更新日期:2018-08-21 22:39
本申请提供一种随机测试方法和装置,应用于移动终端的测试工具,所述测试工具内置在所述移动终端包括的应用程序中,该方法包括:接收用于触发随机测试的请求消息;在接收到所述请求消息后,获取应用程序的显示界面的可操作控件;对所述可操作控件进行随机测试。通过本申请的技术方案,由于可操作控件是显示界面存在且可以操作的控件,因此,针对可操作控件进行随机测试时,可以测试成功,避免测试失效等问题,提高随机测试的有效性、测试的覆盖率、测试质量、测试效率,使得每次随机测试都可以测试成功。

A random test method and device

The present application provides a random test method and apparatus for a test tool applied to a mobile terminal which is built into an application included in the mobile terminal. The method includes: receiving a request message for triggering a random test; obtaining a display interface of the application after receiving the request message. An operable control; randomised testing of the operable controls. Through the technical scheme of this application, because the operable control is the control that the display interface exists and can be operated, so when the operable control is tested randomly, it can test successfully, avoid the problems of test failure, improve the validity of random test, test coverage, test quality, test efficiency, and so on. Each random test can be successfully tested.

【技术实现步骤摘要】
一种随机测试方法和装置
本申请涉及互联网
,尤其涉及一种随机测试方法和装置。
技术介绍
Monkey测试是自动化测试的一种快速有效的手段,用于对移动终端的应用程序(APP)进行压力测试,检测应用程序是否会发生异常、多长时间发生异常,继而检测应用程序的稳定性、健壮性。为了实现Monkey测试,可以在模拟器或者物理设备配置Monkey工具,Monkey工具可以向移动终端的应用程序发送操作事件,以使应用程序执行该操作事件,从而实现对应用程序的Monkey测试。例如,Monkey工具先随机生成一个点击事件,并将点击事件的参数发送给移动终端的应用程序。假设应用程序的UI(UserInterface,用户界面)存在按钮,则应用程序可以针对该按钮执行点击事件,从而完成Monkey测试。但是,若应用程序的UI不存在按钮,则应用程序无法执行点击事件,导致测试失效。
技术实现思路
本申请提供一种随机测试方法,应用于移动终端的测试工具,所述测试工具内置在所述移动终端包括的应用程序中,所述方法包括:接收用于触发随机测试的请求消息;在接收到所述请求消息后,获取所述应用程序的显示界面的可操作控件;对所述可操作控件进行随机测试。本申请提供一种随机测试方法,应用于移动终端,所述方法包括:接收用于触发随机测试的请求消息;在接收到所述请求消息后,获取应用程序的显示界面的可操作控件;对所述可操作控件进行随机测试。本申请提供一种随机测试装置,应用于移动终端,所述装置包括:接收模块,用于接收用于触发随机测试的请求消息;获取模块,用于在接收到所述请求消息后,获取应用程序的显示界面的可操作控件;测试模块,用于对所述可操作控件进行随机测试。基于上述技术方案,本申请实施例中,通过获取应用程序的显示界面的可操作控件,并对可操作控件进行随机测试,由于可操作控件是显示界面存在且可以操作的控件,因此针对可操作控件进行随机测试时,可以测试成功,避免测试失效等问题,提高随机测试的有效性,使得每次随机测试都可以测试成功。附图说明为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其它的附图。图1是本申请一种实施方式中的应用场景示意图;图2是本申请一种实施方式中的随机测试方法的流程图;图3是本申请另一种实施方式中的随机测试方法的流程图;图4A-图4C是本申请另一种实施方式中的随机测试过程的示意图;图5是本申请一种实施方式中的移动终端的硬件结构图;图6是本申请一种实施方式中的随机测试装置的结构图。具体实施方式在本申请使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。本申请实施例中提出一种随机测试方法,该方法可以应用于移动终端,且移动终端运行有应用程序(即APP),该方法用于对该应用程序进行随机测试。其中,随机测试具体可以包括但不限于Monkey测试,而Monkey测试是自动化测试的一种快速有效的手段,用于对应用程序进行压力测试,检测应用程序是否会发生异常、多长时间发生异常,继而检测应用程序的稳定性、健壮性。在一个例子中,与传统方式(在模拟器或者物理设备配置测试工具)不同的是,用于进行随机测试的测试工具(如Monkey工具)可以内置在应用程序中,即测试工具配置在移动终端。基于此,为了实现随机测试,远程设备(如服务端、PC、测试设备等)可以向移动终端发送用于触发随机测试的API(ApplicationProgrammingInterface,应用程序编程接口)请求消息;移动终端在接收到该API请求消息后,就执行随机测试(例如,内置在应用程序中的测试工具在接收到该API请求消息后,执行随机测试),即采用该随机测试方法进行随机测试。参见图1所示,为该随机测试方法的应用场景示意图,为了触发随机测试,远程设备只需要向移动终端发送一个API请求消息,就可以触发内置在应用程序中的测试工具执行随机测试。而且,只要移动终端安装了内置有测试工具的应用程序,就可以启动随机测试,无需远程设备向移动终端发送其它消息。参见图2所示,为本申请实施例提出的随机测试方法的流程图,该方法可以应用于移动终端(如应用程序中的测试工具),该方法可以包括以下步骤:步骤201,接收用于触发随机测试的请求消息(如上述API请求消息)。步骤202,在接收到该请求消息后,获取应用程序的显示界面的可操作控件。步骤203,对该可操作控件进行随机测试(如Monkey测试等)。在一个例子中,上述执行顺序只是为了方便描述所给出的一个示例,在实际应用中,还可以改变各步骤之间的执行顺序,对此执行顺序不做限制。针对步骤202,在一个例子中,针对“获取应用程序的显示界面的可操作控件”的过程,可以包括但不限于如下方式:获取该应用程序的显示界面的每个控件的类型和属性,并根据每个控件的类型和属性确定显示界面的可操作控件。在一个例子中,针对“获取应用程序的显示界面的每个控件的类型和属性”的过程,可以包括但不限于如下方式:获取该应用程序的显示界面的每个控件对应的子视图,并从每个控件对应的子视图中解析出每个控件的类型和属性。其中,针对“获取该应用程序的显示界面的每个控件对应的子视图,并从每个控件对应的子视图中解析出每个控件的类型和属性”的过程,由于测试工具内置在应用程序中,因此,在执行随机测试之前,还可以先查询应用程序的显示界面(即window)的UI层级结构,该UI层级结构可以包括多个子视图(即subview),每个子视图对应一个控件,从而可以得到每个控件对应的子视图。然后,由于子视图可以包括但不限于控件的类型和属性,因此,通过递归分析所有子视图,可以获取到每个控件的类型和属性,对此过程不再详加赘述。在一个例子中,针对“根据每个控件的类型和属性确定该显示界面的可操作控件”的过程,可以包括但不限于如下方式:针对显示界面的每个控件,若该控件的类型是第一类型,且该控件的属性是该第一类型对应的可执行属性,则将该控件确定为可操作控件;若该控件的类型是第一类型,且该控件的属性不是该第一类型对应的可执行属性,则将该控件确定为非可操作控件,即该控件不是可操作控件。若该控件的类型是第二类型,则将该控件确定为可操作控件。若该控件的类型不是第一类型和第二类型,将该控件确定为非可操作控件。其中,可操作控件是指actionable的控件,可操作控件是显示界面存在且可以操作的控件,是一个能够有效响应操作事件的控件,可以执行自身本文档来自技高网...

【技术保护点】
1.一种随机测试方法,其特征在于,应用于移动终端的测试工具,所述测试工具内置在所述移动终端包括的应用程序中,所述方法包括:接收用于触发随机测试的请求消息;在接收到所述请求消息后,获取所述应用程序的显示界面的可操作控件;对所述可操作控件进行随机测试。

【技术特征摘要】
1.一种随机测试方法,其特征在于,应用于移动终端的测试工具,所述测试工具内置在所述移动终端包括的应用程序中,所述方法包括:接收用于触发随机测试的请求消息;在接收到所述请求消息后,获取所述应用程序的显示界面的可操作控件;对所述可操作控件进行随机测试。2.根据权利要求1所述的方法,其特征在于,所述获取所述应用程序的显示界面的可操作控件的过程,具体包括:获取所述应用程序的显示界面的每个控件的类型和属性;根据每个控件的类型和属性确定所述显示界面的可操作控件。3.根据权利要求2所述的方法,其特征在于,所述获取所述应用程序的显示界面的每个控件的类型和属性的过程,具体包括:获取所述应用程序的显示界面的每个控件对应的子视图;从每个控件对应的子视图中解析出每个控件的类型和属性。4.根据权利要求2所述的方法,其特征在于,所述根据每个控件的类型和属性确定所述显示界面的可操作控件的过程,具体包括:若控件的类型是第一类型,且控件的属性是所述第一类型对应的可执行属性,则将所述控件确定为可操作控件;若控件的类型是第一类型,且控件的属性不是所述第一类型对应的可执行属性,则将所述控件确定为非可操作控件;若控件的类型是第二类型,则将所述控件确定为可操作控件;若控件的类型不是第一类型和第二类型,将所述控件确定为非可操作控件。5.一种随机测试方法,应用于移动终端,其特征在于,所述方法包括:接收用于触发随机测试的请求消息;在接收到所述请求消息后,获取应用程序的显示界面的可操作控件;对所述可操作控件进行随机测试。6.根据权利要求5所述的方法,其特征在于,所述获取应用程序的显示界面的可操作控件的过程,具体包括:获取应用程序的显示界面的每个控件的类型和属性;根据每个控件的类型和属性确定所述显示界面的可操作控件。7.根据权利要求6所述的方法,其特征在于,所述获取应用程序的显示界面的每个控件的类型和属性的过程,具体包括:获取应用程序的显示界面的每个控件对应的子视图;从每个控件对应的子视图中解析出每个控件的类型和属性。8.根据权利要求6所述的方法,其特征在于,所述根据每个控件的类型和属性确定所述显示界面的可操作控件的过程,具体包括:若控件的类型是第一类型,且控件的属性是所述第一类型对应的可执行属性,则将所述控件确定为可操作控件;若控件的类型是第一类型,且控件的属性不是所述第一类型对应的可执行属性,则将所述控件确定为非可操作控件;若控件的类型是第二类型,则将所述控件确定为可操作控件;若控件的类型不是第一类型和第二类型,将所述控件确定为非可操作控件。9.根据权利要求8所述的方法,其特征在于,所述第一类型包括以下之一或者任意组合:控制类型、滚动视图类型、表格视图类型、集合视图类型、文本视图类型、文本框类型;所述第二类型包括添加手势识别的视图类型、添加点击测试的视图类型;所述控制类型对应的可执行属性为可激活属性、所述滚动视图类型对应的可执行属性为可滚动属性、所述表格视图类型对应的可执行属性为可编辑属性、所述集合视图类型对应的可执行属性为可编辑属性、所述文本视图类型对应的可执行属性为可激活属性、所述文本框类型对应的可执行属性为可激活属性。10.根据权利要求5所述的方法,其特征在于,所述对所述可操作控件进行随机测试的过程,具体包括:确定所述可操作控件的类型;确定与所述类型对应的操作事件,所述操作事件是能够有效执行的事件;利用所述操作事件对所述可操作控件进行随机测试。11.根据权利要求10所述的方法,其特征在于,所述确定与所述类型对应的操作事件的过程,具体包括:若所述类型为控制类型,则确定所述操作事件为点击事件;若所述类型为滚动视图类型,则确定所述操作事件为滚动事件;若所述类型为表格视图类型,则确定所述操作事件为滚动事件和点击事件,或者,滚动事件和输入事件,或者,点击事件,或者,输入事件;若所述类型为集合视图类型,则确定所述操作事件为滚动事件和点击事件,或者,滚动事件和输入事件,或者,点击事件,或者,输入事件;若所述类型为文本视图类型,则确定所述操作事件为输入事件;若所述类型为文本框类型,则确定所述操作事件为输入事件;若...

【专利技术属性】
技术研发人员:徐玲
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1