CN114238113A - 应用测试方法及相关装置 - Google Patents
应用测试方法及相关装置 Download PDFInfo
- Publication number
- CN114238113A CN114238113A CN202111552179.8A CN202111552179A CN114238113A CN 114238113 A CN114238113 A CN 114238113A CN 202111552179 A CN202111552179 A CN 202111552179A CN 114238113 A CN114238113 A CN 114238113A
- Authority
- CN
- China
- Prior art keywords
- control
- test
- application
- tested
- category
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请示例提供了一种应用测试方法及相关装置,所述方法包括:获取被测应用的测试策略集合,所述测试策略集合包括多个控件中每个控件的测试策略,所述多个控件为所述被测应用的至少一个活动所关联的控件,所述每个控件的测试策略通过对应控件的类别与该控件进行关联,所述类别用于表征控件所支持的用户交互功能,所述测试策略用于表征适配对应类别的用户交互操作;根据所述测试策略集合对所述被测应用的控件进行稳定性测试,直至所述被测应用的被测活动覆盖率和被测控件覆盖率大于预设覆盖率。采用本申请实施例不仅可以提高测试的有效性,而且可以解决被测应用所述活动和控件覆盖率较低的问题,提高测试覆盖率。
Description
技术领域
本申请属于测试技术领域,尤其涉及应用测试方法及相关装置。
背景技术
随着手机不断智能化,出现了众多的系统、众多品牌的手机,手机用户对于自己所使用手机的稳定性的要求也日益增强,因此针对于智能手机稳定性的测试方法具有重要的价值。
但随着手机中系统和应用程序的控件架构不断复杂化,传统的单纯模仿用户进行交互操作的稳定性测试方法不能够适应该变化,经常会出现无法测试到部分控件或者是出现无效操作的情况,而使得测试效率低,无法有效地实现测试的目的。
发明内容
本申请实施例提供应用测试方法及相关装置,以期提供电子设备进行应用测试的全面性和效率。
第一方面,本申请实施例提供了一种应用测试方法,包括:
获取被测应用的测试策略集合,所述测试策略集合包括多个控件中的每个控件的测试策略,所述多个控件为所述被测应用的至少一个活动所关联的控件,所述每个控件的测试策略通过对应控件的类别与该控件进行关联,所述类别用于表征控件所支持的用户交互功能,所述测试策略用于表征适配对应类别的用户交互操作;
根据所述测试策略集合对所述被测应用的控件进行稳定性测试,直至所述被测应用的被测活动覆盖率和被测控件覆盖率大于预设覆盖率。
第二方面,本申请实施例还提供了一种应用测试装置,包括:
获取单元,获取被测应用的测试策略集合,所述测试策略集合包括多个控件中每个控件的测试策略,所述多个控件为所述被测应用的至少一个活动所关联的控件,所述每个控件的测试策略通过对应控件的类别与该控件进行关联,所述类别用于表征控件所支持的用户交互功能,所述测试策略用于表征适配对应类别的用户交互操作;
测试单元,用于根据所述测试策略集合对所述被测应用的控件进行稳定性测试,直至所述被测应用的被测活动覆盖率和被测控件覆盖率大于预设覆盖率。
第三方面,本申请实施例还提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器质性所述计算机程序时实现如上所述第一方面任一方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上所述第一方面任一方法的步骤。
可以看出,本申请实施例中,首先获取被测应用的路径树状图,然后根据所述路径树状图确定所述多个控件,再通过预设的控件分类模型和文本提取模型,得到所述每个控件所对应的类别。所述每个控件的类别查询预设的类别策略关系集合,得到所述每个控件对应的测试策略并创建出所述测试策略集合;根据所述测试策略集合和预设顺序,对所述每个控件进行稳定性测试。这样,不仅可以提高测试的有效性,而且可以通过获取活动和控件之间的关联关系,解决电子设备在测试控件页面复杂的应用程序的情况下,被测应用所述活动和控件覆盖率较低的问题,提高测试覆盖率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的一种应用测试方法过程示意图;
图1b是本申请实施例提供的一种传统猴子测试流程示意图
图1c是本申请实施例提供的一种待测应用的路径树状图示意图;
图2a是本申请实施例提供的一种配置测试策略流程示意图;
图2b是本申请实施例提供的一种使用遍历技术获取树状图的流程示意图;
图2c是本申请实施例提供的一种文本提取模型的网络结构示意图;
图2d是本申请实施例提供的一种控件与测试策略的映射关系示意图;
图3是本申请实施例提供的一种控件分类模型的训练方法的流程示意图;
图4是本申请实施例提供的一种应用测试装置的功能单元组成框图;
图5是本申请实施例提供的一种电子设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
目前手机厂商对于手机应用程序稳定性的测试,通常都是使用类似猴子(Monkey)工具对被测应用程序进行测试。所述猴子工具是一个命令行工具,向系统发送伪随机的用户事件流。如图1b所示,图1b是本申请实施例提供的一种传统猴子测试流程示意图,电脑通过与电子设备进行通信调试,管理电子设备控制猴子工具按照一定的百分比生成指定数量的一些不同类型的伪随机事件流注入被测应用进行稳定性测试。所述通信调试是指电脑直接操作管理电子设备,所述“点击”、“手势动作”、“导航事件”、“系统按键”为猴子工具发送的事件命令,用于模拟用户操作。这种测试方式并未对被测应用所包含的活动和控件进行过完整分析,并不了解它们之间的关联关系,也不会考虑注入的事件与被测控件的关系,只是单纯的生成事件并将事件注入到被测应用中。这样就会出现被测应用中的活动和控件的覆盖率变化大且测试效率普遍较低的问题。
为解决上述问题,本申请实施例提供了一种应用测试方法,该方法可以应用于电子设备测试应用程序。可以通过该方法获取被测应用中的多个控件和活动之间的关联关系,并通过预先训练好的控件分类模型和文本提取模型将控件进行分类,然后根据类别去将它们绑定在对应的测试策略,以此来实现对于控件的针对性测试和测试的高覆盖率。
下面先对本申请涉及到的相关术语进行介绍。
电子设备:电子设备可以是还包含其它功能诸如个人数字助理和/或音乐播放器功能的便携式电子设备,诸如手机、平板电脑、具备无线通讯功能的可穿戴电子设备(如智能手表、智能假肢)等。便携式电子设备的示例性实施例包括但不限于搭载IOS系统、Android系统、Microsoft系统或者其它操作系统的便携式电子设备。上述便携式电子设备也可以是其它便携式电子设备,诸如膝上型计算机(Laptop)等。还应当理解的是,在其他一些实施例中,上述电子设备也可以不是便携式电子设备,而是台式计算机。
活动:一个负责与用户交互的应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。它上面可以显示一些控件也可以监听并处理用户的事件做出响应。
控件:指对数据和方法的封装,在运行状态下,控件工作在一个确实已经运行的应用程序中,能够对用户的一些操作做出响应。
下面介绍本申请实施例涉及的应用测试方法过程。
请参阅图1a,图1a是应用测试方法过程示意图,提供的是一种应用测试方法,应用于电子设备,该方法包括以下步骤:
步骤110,获取被测应用的测试策略集合。所述测试策略集合包括多个控件中每个控件的测试策略,所述多个控件为所述被测应用的一个活动所关联的控件,所述每个控件的测试策略通过对应控件的类别与该控件进行关联,所述类别用于表征控件所支持的用户交互功能,所述测试策略用于表征适配对应类别的用户交互操作。
其中,上述被测应用可包括:游戏类应用、阅读类应用、购物类应用、视频类应用等等,在此不作限定。
在一个可能的实施例中,所述类别包括以下至少一种:按钮、文本框、开关、复选框、菜单。
其中,按钮是指为用户提供诸如数量选择等作用的功能控件,对应的用户交互操作可以是针对数量+键、数量-键的单次或者多次点击或者长按操作;
文本框是指为用户提供文字等信息录入的功能控件,对应的用户交互操作可以是至少一个字符的录入操作;
开关是指为用户提供开启或者关闭某项设置的功能控件,对应的用户交互操作可以是针对该控件的点击操作;
复选框是指为用户提供同时多个对象进行选择的功能控件,适用于具有多个选项的表单等,对应的用户交互操作可以是针对该控件的点击操作;
菜单是指为用户提供多个可选功能的功能控件,对应的用户交互操作可以是针对菜单键中任意一个可选功能的点击操作。
可见,本示例中,由于不同类别的控件的用户交互操作可能相同也可能不同,按照每个控件的类别所适配的用户交互操作设置专属的测试策略,能够避免因控件类别差异性导致的无效测试,提高测试针对性和效率。
可选地,随着应用程序的开发和研究,还可能会存在其他的类别用于表征控件所支持的用户交互功能,并可能根据测试人员的分类标准不同而将控件的类别进行新的定义,因此该类别的种类测试人员可自行添加,但每个控件的类别有且只有一个。
所述测试策略包括向所述被测应用发送用于表征以下任一用户交互操作的至少一个伪随机事件流:
点击操作、手势操作、导航操作、系统按键操作、横竖屏切换操作、启动活动操作。
可选地,测试策略实际包含的事件流数量和表征的用户交互操作种类可以由测试人员进行设置,但测试策略中所包含的用户交互操作种类应与其所关联类别的控件能够互动,以确保能够进行对该类别控件的有效测试,提高测试的有效性。
步骤120,根据所述测试策略集合进行稳定性测试,直至所述被测应用的被测活动覆盖率和被测控件覆盖率大于预设覆盖率。
其中,上述预设覆盖率可为用户自行设置或者系统默认,在此不作限定。
在本申请实施例中,测试人员可以选择适配的电子设备去执行所述测试策略集合进行稳定性测试。稳定性测试就是通过大量模拟用户的交互操作去注入到被测应用程序,通过该方法去检测被测应用程序是否能够稳定地持续运行并用户的交互操作做出反应。该电子设备应当可实现根据输入的测试策略集合在针对不同的控件时调取不同的测试策略来输出伪随机事件流,同时该电子设备可以根据获取的被测应用的路径树状图来预设测试控件的顺序。
在一个可能的实施例中,预设覆盖率可包括第一覆盖率和/或第二覆盖率,电子设备可以预设第一覆盖率和第二覆盖率,该第一覆盖率可用于约束被测活动,第二覆盖率用于约束被测控件,该第一覆盖率和第二覆盖率不同。所述根据所述测试策略集合对所述被测应用的控件进行稳定性测试,直至所述被测应用的被测活动覆盖率和/或被测控件覆盖率大于预设覆盖率,包括:按照所述多个控件的控件编号的预设顺序,针对所述被测应用依次调用并执行所述测试策略集合对应的测试策略,直至被测活动覆盖率大于第一覆盖率、且被测控件覆盖率大于第二覆盖率。
其中,在开始对被测应用开始测试时,先采用控件遍历技术获得被测应用的路径树状图获得的所述路径树状图可以是如图1c所示的树状图结构,图1c是本申请实施例提供的一种被测应用的路径树状图示意图,该路径树状图用于表征被测应用的活动和控件之间的关联关系,一个被测应用中包含多个活动,每个活动包含至少一个控件或活动。然后电子设备对遍历到的每个控件进行编号。所述编号用于区分控件和辅助后续测试预设顺序,所述预设的顺序即可以是按照遍历顺序进行设置,也可以按照测试人员自行设置,对此不作唯一限定。
可见,本示例中,根据被测应用的路径树状图对控件进行编号,再根据该编号进行预设顺序,这样可以保证在测试被测应用时可以测试到每个控件,提高测试覆盖率。并且针对所述被测应用依次调用并执行所述测试策略集合对应的测试策略,这样可以实现对不同类别的控件执行不同的测试策略,提高测试的有效性。
可见,在图1a所描述的应用测试方法,实现了根据被测应用中每个控件的控件类别来创建测试策略集合,以便电子设备可通过该测试策略集合在对特定控件进行测试时可按照认定的测试策略生成并注入伪随机事件流,提高了测试操作的有效性,减少了无效操作的出现。
请参阅图2a,图2a是本申请实施例提供的一种配置测试策略流程示意图。如图2a所示,该流程架构包括以下步骤:
步骤210、获取被测应用的路径树状图并确定包含的多个控件。
在一个可能的实例中,所述获取所述被测应用包含的所述多个控件,包括:获取被测应用的路径树状图并对路径树状图中所包含的每个控件进行编号,获取控件编号,根据所述路径树状图确定所述被测应用包含的所述多个控件。
其中,所述获取被测应用的路径树状图可以是如图2b所示,图2b是本申请实施例提供的一种使用遍历技术获取树状图的流程示意图,通过使用应用抓取工具,将该工具部署在待测应用中,使用该应用抓取工具的控件遍历技术探索被测应用的路径从而生成活动和控件的树状图,以获得被测应用的路径树状图。通过该路径树状图表征的活动和控件之间的关联关系确定的多个控件可以保证该被测应用的所有控件都被遍历到。上述方法可以应用于包括但不限于手机、电脑、电视等平台系统上,上述被测应用可以为平台系统中安装的各种类型的应用,如“微信”“应用商店”,对此不作唯一限定。
例如,假设测试人员想要测试安卓平台上的“应用商城”这一应用程序的稳定性时,测试人员就可以使用类似Crawler(爬虫)应用抓取工具部署在该平台上,对被测应用的活动和控件进行遍历并是生成路径树状图即获得了每个活动与其至少一个控件或活动之间的关联关系。
可见,在本示例中,获取被测应用的路径树状图并通过所述路径树状图确定被测应用包含的多个控件,这样可以遍历到每个控件,得到的每个控件编号以方便后续测试可以预设顺序测试到每个控件。
步骤220、通过预设的文本提取模型确定每个控件的文本信息。
本申请实施例中,在获得每个控件后,将它们输入到预设的文本提取模型中后,就可以得到它们的文本信息,辅助后续控件的分类
例如,在被测应用的活动页面上有个“STATE”(开始)的控件,将它输入文本提取模型后,可以得到“BUTTON”(按钮)“ON”(开)之类的文本信息。
步骤230、通过预设控件分类模型确定每个控件的类别。
在一个可能的实例中,电子设备通过轻量级的卷积神经网络移动网络(MobileNetV2)创建控件分类模型,所述确定所述多个控件中每个控件的类别,包括:
步骤A1、通过预先训练好的控件分类模型确定每个控件的类别属于多个预设类别中每个预设类别的概率;
步骤B2、通过预先训练好的文本提取模型确定所述每个控件的文本信息;
步骤C3、针对存在第一类别的概率大于或等于预设概率的第一控件,确定第一控件的类别为所述第一类别;
步骤D4、针对不存在目标类别的概率大于或等于预设概率的第二控件,根据第二控件的文本信息确定第二控件的第二类别。
在该实施方式中,步骤A1和步骤B2顺序不限也可以同时进行。通过上述步骤每个控件都能够确定类别。
其中,在对控件进行分类时,可以先进行步骤A1,也可以先进行步骤B2或者同时进行步骤A1、B2,对此不作唯一限定,根据所述预先训练好的控件分类模型可以确定每个控件属于多个预设类别的概率,根据所述预先训练好的文本提取模型可以确定所述每个控件的文本信息,再根据判断步骤C3、D4对每个控件的类别进行确定。
例如,一个控件进入到控件分类模型后得到“按钮概率为20%”、“菜单概率为10%”、“无类别概率为50%”、“文本框概率为20%”,再进入文本提取模型获得其文本信息得到“BUTTON”“ON”。首先针对存在第一类别的概率大于或等于预设概率比如50%的确定为第一类别,但这个控件第一类别的概率最高为20%,所以不存在第一类别也就不属于第一控件。然后针对不存在目标类别的概率大于或等于预设概率比如40%,该控件无类别的概率为50%满足条件,则根据文本信息确定它的第二类别。
作为一种可选的实施例,步骤B2中预先设好的文本提取模型如图2c所示,图2c是本申请实施例提供的一种文本提取模型的网络结构示意图,包括卷积循环神经网络(convolutional recurrent neural network,CRNN),所述卷积循环神经网络主要用于端到端地对不定长的文本序列进行识别,将文本识别转化为时序依赖的序列学习问题,再通过序列识别层识别出文本。该文本提取模型采用了光学字符辨识(optical characterrecognition,OCR)的方法提取文本。该光学字符辨识是通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。
可见,本示例中,经过步骤A1、B2,在根据判断步骤C3、D4进行判断分类,这样可以对被测应用中的每个控件进行准确的分类,以便在后续查询对应的测试策略和进行测试。
步骤240、控件分类结果绑定每个控件。
步骤250、查询预设的类别策略集合。
本申请实施例中,考虑到了每个控件由于控件的类别不同对于不同的事件命令有着不同的反应。就预设了类别策略集合,针对不同控件类别设置了不同的测试策略,让测试装置在测试不同控件时可以根据目标控件的类别从而输出不同的事件命令以提高测试的效率。
其中,通过步骤230、240、250可以获得如图2d所示的控件与测试策略的映射关系,图2d是本申请实施例提供的一种控件与测试策略的映射关系示意图。对应每个类别的测试策略可以是测试人员自主设置。如图所述,将确定的控件分类并根据分类的类别查询预设的类别策略集合建立控件与测试策略之间的映射关系,所述测试策略用于表征适配对应类别的用户交互操作,包括向被测应用发送用于表征以下任一用户交互操作的至少一个伪随机事件流:
点击操作、手势操作、导航操作、系统按键操作、横竖屏切换操作、启动活动操作。
例如,针对“按钮类型”的控件,这类控件只会对“点击操作”作出反应,才能起到测试的效果,而对于“手势操作”、“导航操作”的事件命令就不会做出反应,这类事件流对于该类控件而言就是无效操作。所以针对“按钮类型”这个类别的控件进行测试时就采用只包含“点击操作”的测试策略A例如“-pec touch 100”(点击操作100次),通过此方法就能够实现提高测试的有效性。
步骤260、创建测试策略集合。
本申请实施例中,就是通过上述方法输出每个控件根据其对应的类别查询到的测试策略,将输出结果创建出一个测试策略集合,实现“控件-测试策略”的一一对应,以便于后续测试装置在测试中调用测试策略。
例如,创建出一个测试策略集合,其内容是“控件1-测试策略A”、“控件2-测试策略A”、“控件3-测试策略C”。在测试装置对被测应用进行测试时,会根据该测试策略集合选择测试策略,比如在测试到控件2时,测试装置就根据“控件2-测试策略A”输出“测试策略A”。在后续针对同一应用程序进行测试时,就可以根据同一测试策略集合来进行测试,而不需要重新进行测试策略的创建。
可见,在图2a所描述的方法流程中,通过将每个控件进行分类,再根据类别的不同适配不同的测试策略,并创建测试策略集合来让应用测试装置来进行执行,从而,可以保证输出的伪随机事件流能够测试到目标控件,有效地减少了无效测试的产生,提高了测试的有效性。同时,通过获得被测应用的控件和活动的路径树状图并以此来预设测试控件的顺序,从而,保证针对被测应用的测试覆盖更加全面。创建的测试策略集合在测试同一被测应用时还可以重复使用,从而,还保证了实用性。
请参阅图3,图3是本申请实施例提供的一种控件分类模型的训练方法的流程示意图。所述方法包括以下步骤:
步骤310、电子设备对预设的控件分类模型进行初始化操作。
本申请实施例中,电子设备预先设定控件分类模型的权值。
步骤320、电子设备训练初始控件分类模型。
本申请实施例中,所述初始控件分类模型为进行过初始化操作的控件分类模型,通过输入训练集对所述初始控件分类模型进行训练。
其中,初始控件分类模型可以实现对控件的分类与识别,但对控件的分类结果准确率可能达不到预设值,因此需要后续步骤对该网络的权值进行更新,以训练出分类结果可以达到较高准确率的控件分类模型。
步骤330、电子设备获取各网络层的输出值。
本申请实施例中,采用的是轻量级的卷积神经网络移动网络来实现模型训练,输入步骤370更新的权值和测试集的数据进入当前网络,并得到所述当前网络的各层的输出值。
其中,所述测试集数据先通过卷积层进行卷积操作得到卷积层的输出,所述卷积操作为提取图像数据中的特征。然后将所述卷积层的输出也就是所述卷积层提取的特征作为输入传到下采样层,通过下采样层的输出将提取出的所述特征传到全连接层,进行分类,获得当前控件分类模型。
步骤340、电子设备通过当前控件分类模型得到目标结果并计算出准确率e。
本申请实施例中,通过步骤330得到所述输出值而训练出当前控件分类模型,输出目标结果,所述目标结果为当前控件分类模型输出所述测试集中控件的分类结果,准确率e为目标结果与通过验证集得到的对比结果相同部分占比对比结果的多少。
其中,步骤320、330、340输入的所述训练集、测试集、验证集为控件数据集,所述控件数据集是用于表征多个控件与其对应类别的关联关系图像数据的集合。
步骤350、电子设备判断e是否在容许范围内。
本申请实施例中,该步骤为一个判断步骤,容许范围为预设值,若e不在预设值内则进入步骤360;若e在预设值内则结束训练。
步骤360、电子设备计算误差。
本申请实施例中,由于e并未进入预设值内,说明当前控件分类模型的分类还不够准确,我们就将所述目标结果与数据集中的数据进行对比得出误差。
步骤370、电子设备更新各层权值。
本申请实施例中,计算出误差后,通过与此前传播方向相反的方向将误差传播回去,更新各层的权值,以使得该网络训练出的控件分类模型输出的分类结果更加精准,不断减小误差。本申请实施例中,当步骤350判断e在容许范围内时,停止训练获得可以识别并分类的控件分类模型。
可见,在图3本申请实施例提供的一种控件分类模型的训练方法的流程示意图中,采用了轻量级卷积神经网络MobileNetV2的监督学习功能来实现模型的训练,并采用了利用控件数据集分类出训练集、验证集、测试集三部分来训练网络,通过不断更新权值的方式让该控件分类模型的识别分类的准确率达到预设值,是一种高效且实用性强的训练方法。
下面为本申请装置实施例,本申请装置实施例与本申请方法实施例属于同一构思,用于执行本申请实施例中描述的方法。为了便于说明,本申请装置实施例仅示出与本申请装置实施例相关的部分,具体技术细节未揭示的,请参照本申请方法实施例的描述,此处不再一一赘述。
本申请实施例提供了一种应用测试装置,该应用测试装置可以为电子设备。具体的,应用测试装置用于执行以上应用测试方法中电子设备所述执行的步骤。本申请实施例提供的应用测试装置可以包括相应步骤所对应的模块。
本申请实施例可以根据上述方法示例对应用测试装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块即可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图4示出上述实施例中所涉及的应用测试装置的一种可能的功能单元组成框图。如图4所示,该应用测试装置可以包括:
获取单元410,获取被测应用的测试策略集合,所述测试策略集合包括多个控件中每个控件的测试策略,所述多个控件为所述被测应用的至少一个活动所关联的控件,所述每个控件的测试策略通过对应控件的类别与该控件进行关联,所述类别用于表征控件所支持的用户交互功能,所述测试策略用于表征适配对应类别的用户交互操作;
测试单元420,用于根据所述测试策略集合对所述被测应用的控件进行稳定性测试,直至所述被测应用的被测活动覆盖率和被测控件覆盖率大于预设覆盖率。
在一个可能的示例中,在所述获取被测应用的测试策略集合方面,所述获取单元410具体用于:获取被测应用的路径树状图并确定包含的多个控件;以及创建控件分类模型和文本提取模型识别并分类所述控件;将控件与其对应的类别绑定查询预设类别策略集合获得所述每个控件对应的测试策略,然后根据所述每个控件对应的测试策略创建所述测试策略集合。
在一个可能的示例中,在所述根据所述测试策略集合对所述被测应用的控件进行稳定性测试方面,所述测试单元420具体用于:根据多个控件的预设顺序,针对所述被测应用的控件以此调用并执行所述测试策略集合对应的测试策略进行测试;以及获得被测活动和被测控件的覆盖率,直到所述被测应用的被测活动覆盖率和被测控件覆盖率大于预设覆盖率时,停止测试。需要注意的是,本装置实施例所描述的应用测试装置是以功能单元的形式呈现。这里所使用的术语“单元”应当理解为尽可能最宽的含义,用于实现各个“单元”所描述功能的对象例如可以是集成电路ASIC,单个电路,用于执行一个或多个软件或固体程序的处理器(共享的、专用的或芯片组)和存储器,组合逻辑电路,和/或提供实现上述功能的其他合适的组件。
图5为一个实施例中电子设备的结构框图。如图5所示,电子设备500可以包括一个或多个如下部件:处理器510、与处理器510耦合的存储器520,其中存储器520可存储有一个或多个计算机程序,一个或多个计算机程序可以被配置为由一个或多个处理器510执行时实现如上述各实施例描述的方法。
处理器510可以包括一个或者多个处理核。处理器510利用各种接口和线路连接整个电子设备500内的各个部分,通过运行或执行存储在存储器520内的指令、程序、代码集或指令集,以及调用存储在存储器520内的数据,执行电子设备500的各种功能和处理数据。可选地,处理器510可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmble Gate Array,FPGA)、可编程逻辑阵列(ProgrammbleLogicArray,PLA)中的至少一种硬件形式来实现。处理器510可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器510中,单独通过一块通信芯片进行实现。
存储器520可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory,ROM)。存储器520可用于存储指令、程序、代码、代码集或指令集。存储器520可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等。存储数据区还可以存储电子设备500在使用中所创建的数据等。
可以理解的是,电子设备500可包括比上述结构框图中更多或更少的结构元件,例如,包括电源模块、物理按键、WiFi(Wireless Fidelity,无线保真)模块、扬声器、蓝牙模块、传感器等,在此不进行限定。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、磁碟、光盘、易失性存储器或非易失性存储器。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmble ROM,PROM)、可擦除可编程只读存储器(erasble PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronousDRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambusRAM,DR RAM)。等各种可以存储程序代码的介质。
虽然本申请披露如上,但本申请并非限定于此。任何本领域技术人员,在不脱离本申请的精神和范围内,可轻易想到变化或替换,均可作各种更动与修改,包含上述不同功能、实施步骤的组合,包含软件和硬件的实施方式,均在本申请的保护范围。
Claims (10)
1.一种应用测试方法,其特征在于,应用于电子设备,所述方法包括:
获取被测应用的测试策略集合,所述测试策略集合包括多个控件中每个控件的测试策略,所述多个控件为所述被测应用的至少一个活动所关联的控件,所述每个控件的测试策略通过对应控件的类别与该控件进行关联,所述类别用于表征控件所支持的用户交互功能,所述测试策略用于表征适配对应类别的用户交互操作;
根据所述测试策略集合对所述被测应用的控件进行稳定性测试,直至所述被测应用的被测活动覆盖率和被测控件覆盖率大于预设覆盖率。
2.根据权利要求1所述的方法,其特征在于,所述类别包括以下至少一种:
按钮、文本框、开关、复选框、菜单。
3.根据权利要求1或2所述的方法,其特征在于,所述测试策略包括向所述被测应用发送用于表征以下任一用户交互操作的至少一个伪随机事件流:
点击操作、手势操作、导航操作、系统按键操作、横竖屏切换操作、启动活动操作。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述测试策略集合对所述被测应用的控件进行稳定性测试,直至所述被测应用的被测活动覆盖率和/或被测控件覆盖率大于预设覆盖率,包括:
按照所述多个控件的控件编号的预设顺序,针对所述被测应用依次调用并执行所述测试策略集合对应的测试策略,直至被测活动覆盖率大于第一覆盖率、且被测控件覆盖率大于第二覆盖率。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
获取所述被测应用包含的所述多个控件;
确定所述多个控件中每个控件的类别;
查询预设的类别策略关系集合,获取所述每个控件对应的测试策略,所述类别策略关系集合包括控件的类别与测试策略之间的对应关系;
根据所述每个控件对应的测试策略创建所述测试策略集合。
6.根据权利要求5所述的方法,其特征在于,所述获取所述被测应用包含的所述多个控件,包括:
获取被测应用的路径树状图,所述路径树状图用于表征所述被测应用的活动和控件之间的关联关系;
根据所述路径树状图确定所述被测应用包含的所述多个控件。
7.根据权利要求5或6所述的方法,其特征在于,所述确定所述多个控件中每个控件的类别,包括:
使用预先训练好的控件分类模型确定所述每个控件的类别属于多个预设类别中每个预设类别的概率;
使用预先训练好的文本提取模型确定所述每个控件的文本信息;
针对存在第一类别的概率大于或等于预设概率的第一控件,确定所述第一控件的类别为所述第一类别;
针对不存在目标类别的概率大于或等于所述预设概率的第二控件,根据所述第二控件的文本信息确定所述第二控件的第二类别。
8.一种应用测试装置,其特征在于,应用于电子设备,所述装置包括:
获取单元,获取被测应用的测试策略集合,所述测试策略集合包括多个控件中每个控件的测试策略,所述多个控件为所述被测应用的至少一个活动所关联的控件,所述每个控件的测试策略通过对应控件的类别与该控件进行关联,所述类别用于表征控件所支持的用户交互功能,所述测试策略用于表征适配对应类别的用户交互操作;
测试单元,用于根据所述测试策略集合对所述被测应用的控件进行稳定性测试,直至所述被测应用的被测活动覆盖率和被测控件覆盖率大于预设覆盖率。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器质性所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111552179.8A CN114238113A (zh) | 2021-12-17 | 2021-12-17 | 应用测试方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111552179.8A CN114238113A (zh) | 2021-12-17 | 2021-12-17 | 应用测试方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114238113A true CN114238113A (zh) | 2022-03-25 |
Family
ID=80757993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111552179.8A Pending CN114238113A (zh) | 2021-12-17 | 2021-12-17 | 应用测试方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114238113A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117873907A (zh) * | 2024-03-12 | 2024-04-12 | 麒麟软件有限公司 | 控件元素测试方法、装置及存储介质 |
CN117873907B (zh) * | 2024-03-12 | 2024-06-07 | 麒麟软件有限公司 | 控件元素测试方法、装置及存储介质 |
-
2021
- 2021-12-17 CN CN202111552179.8A patent/CN114238113A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117873907A (zh) * | 2024-03-12 | 2024-04-12 | 麒麟软件有限公司 | 控件元素测试方法、装置及存储介质 |
CN117873907B (zh) * | 2024-03-12 | 2024-06-07 | 麒麟软件有限公司 | 控件元素测试方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107644642B (zh) | 语义识别方法、装置、存储介质及电子设备 | |
KR102167879B1 (ko) | 테스트 방법, 시스템, 기기 및 판독 가능 저장매체 | |
CN107038112B (zh) | 应用界面的调试方法及装置 | |
US9811313B2 (en) | Voice-triggered macros | |
CN104737101B (zh) | 具有力触发的非视觉响应的计算设备 | |
CN105264456B (zh) | 运动围栏 | |
CN108762837A (zh) | 应用程序预加载方法、装置、存储介质及终端 | |
CN110457214B (zh) | 应用测试方法及装置、电子设备 | |
US20160077831A1 (en) | Accurate and performant code design using memoization | |
CN110795175A (zh) | 模拟控制智能终端的方法、装置及智能终端 | |
CN109446832A (zh) | 一种截屏方法及装置 | |
Wang et al. | Automatic Android GUI traversal with high coverage | |
CN111352844A (zh) | 一种测试方法和相关装置 | |
CN105045588A (zh) | 一种切换输入法皮肤的方法和装置 | |
US8656279B2 (en) | Global settings for the enablement of culture-based gestures | |
CN106575231A (zh) | 具有对操作的跨用户会话撤销支持的自动保存 | |
CN112817790A (zh) | 模拟用户行为的方法 | |
CN110322587B (zh) | 驾驶过程中的评价记录方法、装置、设备及存储介质 | |
CN107111415B (zh) | 用于移动应用接口元素的设备、方法和图形用户界面 | |
CN108664389B (zh) | 一种测试方法、装置及终端 | |
CN117785677A (zh) | 一种屏幕灵敏度的滑动测试方法、移动终端及存储介质 | |
CN110737900B (zh) | 网页功能测试方法及装置、服务器和计算机可读存储介质 | |
CN109144881B (zh) | Monkey测试方法、装置、终端设备及存储介质 | |
CN113590001A (zh) | 一种ui控件生成、触发方法及终端 | |
CN111459802A (zh) | 一种基于GUI的Android应用程序WebView页面的测试方法、装置及设备 |
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 |