使用屏幕截图元数据确定应用测试结果制造技术

技术编号:22311623 阅读:26 留言:0更新日期:2019-10-16 11:27
系统生成由测试应用的目标设备显示的应用的图形用户界面(GUI)的屏幕截图。每一个屏幕截图包括GUI的图像和指示存在于图像中的GUI的元素或在生成图像时的应用或目标设备的状态的元数据。系统基于来自第一屏幕截图集合的屏幕截图的元数据和来自第二屏幕截图集合的屏幕截图的元数据来确定屏幕截图是否相似,并且如果是,则系统将来自第二屏幕截图集合的屏幕截图指派至包括来自第一屏幕截图集合的屏幕截图的聚类。系统输出对指示屏幕截图之间的相似度或差异的聚类的指示(例如,通知或图形指示)。

Using screenshot metadata to determine application test results

【技术实现步骤摘要】
【国外来华专利技术】使用屏幕截图元数据确定应用测试结果
技术介绍
在向终端用户发布应用之前,软件开发者或设计者可以测试应用以了解应用在由目标设备提供的执行环境中执行时将如何显现和运行。一些这样的软件测试可以涉及使用测试系统在由各种不同目标设备提供的各种不同执行环境中运用应用。也就是说,测试系统可以生成对应用的输入,所述输入模拟可以由用户提供的输入(例如手势输入、文本输入或其他输入)。测试系统可以使用闪存有或以其他方式加载有测试器定义的软件和/或固件配置的实际生产设备,从而能够跨可由不同终端用户使用的大范围设备和设备配置来测试应用。作为测试结果,测试系统可以输出在应用测试期间应用导致的在目标设备上显示的图形用户界面(GUI)的屏幕截图。测试系统可以针对运用应用的每个执行环境输出屏幕截图集合并且每一个屏幕截图集合可以具有大量图像。软件开发者或设计者可以跨不同集合分析屏幕截图以识别问题、异常或以其他方式了解GUI的外观可能如何根据执行环境和/或显示GUI的目标设备的变化而改变。一些软件开发者或设计者可能会承担过多的人工筛选多个屏幕截图集合以验证应用的设计和操作的任务。
技术实现思路
本公开的技术总体上涉及使应用测试系统能够识别和聚类在应用的自动测试期间生成的相似的屏幕截图,即使应用测试系统跨大范围的不同目标设备和/或在各种不同执行环境中执行自动测试。本公开提供了一种能够有效且高效地执行图像的复杂聚类的测试系统和相关联的方法,从而减少处理时间和功耗并提供可靠的、反应灵敏的测试系统。本公开使得能够实现这种聚类的结果的快速且有效的输出,从而允许对大范围和大量不同目标设备的有效的、自动的测试,所述大范围和大量不同目标设备可以是测试场(testfarm)的一部分。确定屏幕截图是否是相似的可以包括评估相似度函数以确定指示屏幕截图之间的相似度的量的相似度分值并且确定相似度分值高于、低于或等于预定阈值。应用测试系统可以基于相似度的某些结构阈值对相似的屏幕截图进行分组,而不是根据特定图像特征对屏幕截图进行分组。也就是说,应用测试系统使用与屏幕截图相关联的元数据而不是分析屏幕截图的图像数据来对相似的屏幕进行聚类或分组。在对应用的自动测试期间生成的屏幕截图可以包括在自动测试期间,在目标设备执行应用时,正在目标设备的显示屏幕上显示的应用图形用户界面(GUI)的图像(例如,像素信息)。屏幕截图可以还包括指示构成图像中的GUI的结构元素的元数据。元数据可以定义在生成屏幕截图时在目标设备的显示屏幕上并且在GUI中可见的一个或多个GUI元素(例如布局、按钮、背景、抽屉或侧边栏或GUI的另一组件)以及对应的元素特性。另外或替换地,元数据可以定义在生成屏幕截图时的目标设备的状态(例如,设备类型、方向、本地环境、时间、测试执行以及目标设备或应用的任何其他参数或特性)。元数据还可以包括针对在特定屏幕截图被拍摄时存在于设备屏幕上的每一个GUI元素的元素标识符。针对每一个GUI元素的元素标识符可以基于类名、资源标识符以及与该特定GUI元素相关联的序列。可以通过将序列中的每个层与相应的资源id和类名进行映射来创建元素标识符,从而产生以使得聚类模块能够跨设备配置比较GUI元素的方式来识别GUI元素的更特定的方式。为了减轻否则必须筛选从应用测试生成的多个屏幕截图集合以验证应用的设计和操作的负担,示例测试系统可以自动地将来自不同集合的屏幕截图分组为相似的屏幕截图的聚类。聚类可以包括共享由屏幕截图的元数据所定义的相似的元素结构的屏幕截图,而不是必须共享共同的图像特征。换句话说,聚类可以包括GUI的屏幕截图,所述GUI由在屏幕截图的元数据中的特定的元素结构定义,即使(在已经在不同的执行环境中或从不同目标设备的显示屏幕中捕获之后)GUI元素中的一些在该聚类中的全部屏幕截图中可能不是共同的。应用测试系统可以输出对聚类的图形指示(例如,经由应用测试GUI),应用测试系统的用户可以通过所述图形指示更容易和快速地评估应用的性能。示例测试系统的用户可以关注特定聚类中的屏幕截图以了解GUI的外观如何根据执行环境和/或显示GUI的目标设备的变化而变化。通过根据屏幕截图的元数据中定义的元素结构进行聚类,而不是根据图像特征(例如像素信息)进行聚类,即使由于在执行环境和/或目标设备特性中的可变性导致屏幕截图不完全相同,应用测试系统也能够快速且有效地识别看起来相似的屏幕截图。例如,对于执行基于像素的图像特征分析的一些其他系统看似不可能的,应用测试系统可能能够仅使用元数据来识别两个或更多个相似的屏幕截图:从不同尺寸的屏幕(例如,移动电话相比平板计算设备)取得的、从不同执行环境(例如,不同的操作系统、相同操作系统的不同版本等)取得的,包括不同地对准的GUI元素的(例如,由于区域和/或语言差异)、具有不同的随机内容的(例如,不同背景图像、不同广告等),具有不同的文本的(例如,显示不同的时间或日历日期、不同语言等)、具有不同长度的列表的等。因此,示例应用测试系统可能能够快速并且有效地执行对相似的但不一定完全相同的GUI屏幕截图的复杂聚类,从而在执行自动测试之后帮助应用测试系统的用户更快速并且更容易地验证应用的设计和操作。使用传统的专注于识别相似的图像特征而不是识别相似的元素结构的图像分析技术,如果不是不可能的话,以这种方式对屏幕截图进行聚类可能是困难的。在一个示例中,本公开涉及一种方法,所述方法包括:响应于应用的第一测试,在第一测试期间,在所述应用的图形用户界面由第一目标设备显示的同时,生成所述图形用户界面的第一屏幕截图集合;以及响应于应用的第二测试,在第二测试期间,在所述图形用户界面由第二目标设备显示的同时,生成所述图形用户界面的第二屏幕截图集合。来自第一屏幕截图集合的每一个屏幕截图和来自第二屏幕截图集合的每一个屏幕截图包括图形用户界面的相应图像和相应元数据,相应元数据指示以下中的至少一个:存在于相应图像中的图形用户界面的一个或多个元素或在生成相应图像时的应用或相应目标设备的状态。所述方法进一步包括:基于来自所述第一屏幕截图集合的屏幕截图的所述相应元数据和来自所述第二屏幕截图集合的屏幕截图的所述相应元数据,确定来自所述第一屏幕截图集合的所述屏幕截图与来自所述第二屏幕截图集合的所述屏幕截图是否是相似的,以及响应于确定所述第一屏幕截图集合与来自所述第二屏幕截图集合的所述屏幕截图是相似的:将来自所述第二屏幕截图集合的所述屏幕截图指派至包括来自所述第一屏幕截图集合的所述屏幕截图的聚类,以及输出对包括来自所述第二屏幕截图集合的所述屏幕截图的所述相应图像的一部分的所述聚类的图形指示以用于显示。在一个示例中,本公开涉及一种系统,该系统包括用于响应于应用的第一测试在第一测试期间在所述应用的图形用户界面由第一目标设备显示的同时生成所述图形用户界面的第一屏幕截图集合的装置以及用于响应于应用的第二测试在第二测试期间在所述图形用户界面由第二目标设备显示的同时生成所述图形用户界面的第二屏幕截图集合的装置。来自第一屏幕截图集合的每一个屏幕截图和来自第二屏幕截图集合的每一个屏幕截图包括图形用户界面的相应图像和相应元数据,相应元数据指示以下中的至少一个:在相应图像中存在的图形用户界面的一个或多个元素或在生成相应图像时的应用或相应目标设备的本文档来自技高网...

【技术保护点】
1.一种方法,包括:响应于应用的第一测试,在所述第一测试期间,在所述应用的图形用户界面被第一目标设备显示的同时,生成所述图形用户界面的第一屏幕截图集合;响应于所述应用的第二测试,在所述第二测试期间,在所述图形用户界面被第二目标设备显示的同时,生成所述图形用户界面的第二屏幕截图集合,其中来自所述第一屏幕截图集合的每一个屏幕截图和来自所述第二屏幕截图集合的每一个屏幕截图包括所述图形用户界面的相应图像和相应元数据,所述相应元数据指示以下中的至少一个:存在于所述相应图像中的所述图形用户界面的一个或多个元素或在所述相应图像被生成时的所述应用或相应目标设备的状态;基于来自所述第一屏幕截图集合的屏幕截图的相应元数据和来自所述第二屏幕截图集合的屏幕截图的相应元数据,确定来自所述第一屏幕截图集合的所述屏幕截图与来自所述第二屏幕截图集合的所述屏幕截图是否是相似的;以及响应于确定来自所述第一屏幕截图集合的所述屏幕截图与来自所述第二屏幕截图集合的所述屏幕截图是相似的:将来自所述第二屏幕截图集合的所述屏幕截图指派至包括来自所述第一屏幕截图集合的所述屏幕截图的聚类;以及输出对包括来自所述第二屏幕截图集合的所述屏幕截图的所述相应图像的部分的所述聚类的图形指示以用于显示。...

【技术特征摘要】
【国外来华专利技术】2017.03.17 US 15/462,5471.一种方法,包括:响应于应用的第一测试,在所述第一测试期间,在所述应用的图形用户界面被第一目标设备显示的同时,生成所述图形用户界面的第一屏幕截图集合;响应于所述应用的第二测试,在所述第二测试期间,在所述图形用户界面被第二目标设备显示的同时,生成所述图形用户界面的第二屏幕截图集合,其中来自所述第一屏幕截图集合的每一个屏幕截图和来自所述第二屏幕截图集合的每一个屏幕截图包括所述图形用户界面的相应图像和相应元数据,所述相应元数据指示以下中的至少一个:存在于所述相应图像中的所述图形用户界面的一个或多个元素或在所述相应图像被生成时的所述应用或相应目标设备的状态;基于来自所述第一屏幕截图集合的屏幕截图的相应元数据和来自所述第二屏幕截图集合的屏幕截图的相应元数据,确定来自所述第一屏幕截图集合的所述屏幕截图与来自所述第二屏幕截图集合的所述屏幕截图是否是相似的;以及响应于确定来自所述第一屏幕截图集合的所述屏幕截图与来自所述第二屏幕截图集合的所述屏幕截图是相似的:将来自所述第二屏幕截图集合的所述屏幕截图指派至包括来自所述第一屏幕截图集合的所述屏幕截图的聚类;以及输出对包括来自所述第二屏幕截图集合的所述屏幕截图的所述相应图像的部分的所述聚类的图形指示以用于显示。2.根据权利要求1所述的方法,其中,所述聚类是第一聚类,其中来自所述第一屏幕截图集合的所述屏幕截图是来自所述第一屏幕截图集合的第一屏幕截图,并且其中来自所述第二屏幕截图集合的所述屏幕截图是来自所述第二屏幕截图集合的第一屏幕截图,所述方法还包括:基于来自所述第一屏幕截图集合的第二屏幕截图的相应元数据和来自所述第二屏幕截图集合的第二屏幕截图的相应元数据,确定来自所述第一屏幕截图集合的所述第二屏幕截图与来自所述第二屏幕截图集合的所述第二屏幕截图是否是相似的;响应于确定来自所述第一屏幕截图集合的所述第二屏幕截图与来自所述第二屏幕截图集合的所述第二屏幕截图不是相似的:创建包括来自所述第二屏幕截图集合的所述第二屏幕截图的第二聚类;以及输出对所述第二聚类的图形指示以用于显示,其中:对所述第二聚类的所述图形指示包括来自所述第二屏幕截图集合的所述第二屏幕截图的相应图像的部分;对所述第二聚类的所述图形指示与对所述第一聚类的所述图形指示不同;以及所述第二聚类与所述第一聚类不同。3.根据权利要求1或2所述的方法,还包括:基于来自所述第一屏幕截图集合的所述屏幕截图的所述相应元数据,确定来自所述第一屏幕截图集合的所述屏幕截图的元素标识符;基于来自所述第二屏幕截图集合的所述屏幕截图的所述相应元数据,确定来自所述第一屏幕截图集合的所述屏幕截图的元素标识符;以及基于来自所述第一屏幕截图集合的所述屏幕截图的所述元素标识符和来自所述第二屏幕截图集合的所述屏幕截图的所述元素标识符,确定指示来自所述第一屏幕截图集合的所述屏幕截图与来自所述第二屏幕截图集合的所述屏幕截图之间的相似度的量的相似度分值。4.根据权利要求3所述的方法,其中:确定来自所述第一屏幕截图集合的所述屏幕截图的所述元素标识符包括将由来自所述第一屏幕截图集合的所述屏幕截图的所述相应元数据定义的序列中的每一层与来自存在于来自所述第一屏幕截图集合...

【专利技术属性】
技术研发人员:克里斯蒂娜·埃琳娜·布杜雷安理查德·迈克尔·盖伍德弗格斯·杰勒德·赫尔利约翰尼斯·托诺洛迪诺·德雷克·休斯菲利普·詹姆斯·亚当斯
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:美国,US

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

1