用户界面校验方法、装置、软件测试系统、终端及介质与流程

文档序号:14653608发布日期:2018-06-08 22:31阅读:157来源:国知局
用户界面校验方法、装置、软件测试系统、终端及介质与流程

本发明涉及信息技术领域,尤其涉及一种用户界面校验方法、装置、软件测试系统、终端及计算机可读存储介质。



背景技术:

随着电子信息技术的发展,目前的软件产品和硬件产品存在多种不同的版本和机型。以android(安卓)平台为例,android平台的一个最大的缺点就是碎片化,具体表现为设备繁多,品牌众多,版本各异,分辨率不统一等等。从数据上可以明显看出,android碎片化主要体现在机型上,细分下去还关乎系统版本、定制rom(Read Only Memory image,只读存储器镜像)、分辨率等好几个维度,总而言之,千奇百怪,数量繁多。

目前由于android碎片化比较严重,app的兼容性测试在日常测试工作中占有较大的比重。市场中冗杂的Android智能机品牌和庞大的机型数量,给兼容性测试带来很大的困难,对多款移动设备进行兼容性测试,这意味着巨大的工作量和购机成本。现有技术普通采用人感官测试或截图后人感官验证,要针对众多机型做兼容性测试,这种测试方法的效率较低。如何提高兼容性的测试效率是目前需要解决的问题。



技术实现要素:

本发明实施例提供一种用户界面校验方法、装置、软件测试系统、终端及计算机可读存储介质,以至少解决现有技术中的一个或多个技术问题。

第一方面,本发明实施例提供了一种用户界面校验方法,包括:采集待校验的用户界面的图片;构建用户界面校验模型;以及将采集的所述待校验的用户界面的图片输入所述用户界面校验模型进行校验,输出校验结果,其中,所述校验结果包括:所述待校验的用户界面的图片是否异常,以及在所述图片异常的情况下的异常分类信息。

结合第一方面,本发明在第一方面的第一种实施方式中,所述构建用户界面校验模型,包括:采集用户界面的图片;对采集的所述用户界面的图片进行标注,所述标注的信息包括:用户界面的图片是否异常,以及在所述图片异常的情况下的异常分类信息;所述异常分类信息包括异常种类和异常位置,以及所述异常种类包括文本截断、控件覆盖和控件错位中的任一项及其组合;使用标注后的用户界面的图片训练,以生成所述用户界面校验模型。

结合第一方面的第一种实施方式,本发明在第一方面的第二种实施方式中,所述采集用户界面的图片,包括:在测试过程中采集用户界面的图片,并挖掘所采集的用户界面的图片的所述异常分类信息;和/或,根据预测的异常分类信息,模拟出与各种预测的异常分类信息相对应的用户界面的图片。

结合第一方面的第一种实施方式、第一方面的第二种实施方式,本发明在第一方面的第三种实施方式中,在对采集的所述用户界面的图片进行标注之后,且在使用标注后的用户界面的图片训练之前,还包括:将所述标注后的用户界面的图片进行数据处理,其中,所述数据处理包括灰度化处理和/或归一化处理。

结合第一方面的第一种实施方式、第一方面的第二种实施方式,本发明在第一方面的第四种实施方式中,还包括:使用多张用户界面的图片训练生成用户界面校验模型;以及通过生成的所述用户界面校验模型根据输入的一张用户界面的图片输出校验结果。

结合第一方面的第一种实施方式、第一方面的第二种实施方式,本发明在第一方面的第五种实施方式中,还包括:使用多组用户界面的图片训练生成用户界面校验模型,其中,每组标注后的用户界面的图片包括多张相似度高于预定阈值的用户界面的图片;通过生成的所述用户界面校验模型根据输入的一组用户界面的图片输出校验结果,所述校验结果包括所述一组用户界面的图片中的每张用户界面的图片是否异常,以及在所述图片异常的情况下的异常分类信息。

结合第一方面、第一方面的第一种实施方式、第一方面的第二种实施方式,在生成用户界面校验模型之后,还包括:设置损失函数,调整模型参数使损失函数最小化。

第二方面,本发明实施例提供了一种用户界面校验装置,包括:采集单元,用于采集待校验的用户界面的图片;模型构建单元,用于构建用户界面校验模型;校验单元,用于:将采集的所述待校验的用户界面的图片输入所述用户界面校验模型进行校验,输出校验结果,其中,所述校验结果包括:所述待校验的用户界面的图片是否异常,以及在所述图片异常的情况下的异常分类信息。

结合第二方面,本发明在第二方面的第一种实施方式中,所述模型构建单元还包括:采集子单元,用于采集用户界面的图片;标注子单元,用于对采集的所述用户界面的图片进行标注,所述标注的信息包括:用户界面的图片是否异常,以及在所述图片异常的情况下的异常分类信息;所述异常分类信息包括异常种类和异常位置,以及所述异常种类包括文本截断、控件覆盖和控件错位中的任一项及其组合;训练子单元,用于使用标注后的用户界面的图片训练,以生成所述用户界面校验模型。

结合第二方面的第一种实施方式,本发明在第二方面的第二种实施方式中,所述采集子单元还用于:在测试过程中采集用户界面的图片,并挖掘所采集的用户界面的图片的所述异常分类信息;和/或,根据预测的异常分类信息,模拟出与各种预测的异常分类信息相对应的用户界面的图片。

结合第二方面的第一种实施方式、第二方面的第二种实施方式,本发明在第二方面的第三种实施方式中,所述模型构建单元还包括处理子单元,用于:将所述标注后的用户界面的图片进行数据处理,所述数据处理包括灰度化处理和/或归一化处理。

结合第二方面的第一种实施方式、第二方面的第二种实施方式,本发明在第二方面的第四种实施方式中,所述模型构建单元还用于:使用多张用户界面的图片训练生成用户界面校验模型;以及所述校验单元还用于:将一张用户界面的图片输入所述用户界面校验模型进行校验,输出校验结果。

结合第二方面的第一种实施方式、第二方面的第二种实施方式,本发明在第二方面的第五种实施方式中,所述模型构建单元还用于:使用多组用户界面的图片训练生成用户界面校验模型,其中,每组标注后的用户界面的图片包括多张相似度高于预定阈值的用户界面的图片;所述校验单元还用于:将一组用户界面的图片输入所述用户界面校验模型进行校验,输出校验结果,所述校验结果包括所述一组用户界面的图片中的每张用户界面的图片是否异常,以及在所述图片异常的情况下的异常分类信息。

结合第二方面、第二方面的第一种实施方式、第二方面的第二种实施方式,还包括模型调优单元,用于:设置损失函数,调整模型参数使损失函数最小化。

在一个可能的设计中,用户界面校验装置的结构中包括处理器和存储器,所述存储器用于存储支持用户界面校验装置执行上述第一方面中用户界面校验方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。

第三方面,本发明实施例提供了一种软件测试系统,包括上述第二方面中任一所述的用户界面校验装置。

第四方面,本发明实施例提供了一种终端,所述终端包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述第一方面中任一所述的方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一所述的方法。

上述技术方案中的一个技术方案具有如下优点或有益效果:本发明提供的实施例提高了自动化测试的校验能力,尤其适用于碎片化严重的兼容性自动化测试场景,可适用于不同版本、不同语言环境、不同机型、不同分辨率和刷机包;相比较现有的人感官测试或截图后人感官测试,测试效率明显提高。

上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。

附图说明

在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。

图1为本发明实施例的用户界面校验方法的整体框架图;

图2为本发明提供的用户界面校验方法的一种优选实施例的步骤流程图;

图3为本发明实施例的用户界面校验装置的整体框架图;

图4为本发明提供的用户界面校验装置的一种优选实施例的结构示意图。

具体实施方式

在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。

本发明实施例提供了一种用户界面校验方法。图1为本发明实施例的用户界面校验方法的整体框架图。如图1所示,本发明实施例的用户界面校验方法包括:步骤S110,采集待校验的用户界面的图片;步骤S120,构建用户界面校验模型,可通过机器学习框架训练生成用户界面校验模型;步骤S130,将采集的所述待校验的用户界面的图片输入所述用户界面校验模型进行校验,输出校验结果;所述校验结果包括:所述待校验的用户界面的图片是否异常,以及在所述图片异常的情况下的异常分类信息。

目前由于软件产品和硬件产品存在多种不同的版本和机型,例如,android的碎片化比较严重,app的兼容性测试在日常测试工作中占有较大的比重,提高兼容性的测试效率显得尤为重要;常规的兼容性测试包括机型、分辨率、android版本、rom和多语言几个方面。

本发明的基本形态是无需测试平台的手机端测试工具,即装即用,可实现多台手机同时进行测试操作,这些手机可以分别为不同厂商,android的各种版本、不同语言等环境,以达到兼容性测试的目的。本发明实施例适用于不同版本、不同语言环境、不同机型、不同分辨率和刷机包,因此克服了由于碎片化严重而导致兼容性测试困难的问题,解决了现有技术存在的兼容性测试自动化场景下UI(User Interface,用户界面)校验能力不足、人感官测试或截图后人感官验证效率低的问题。

图2为本发明提供的用户界面校验方法的一种优选实施例的步骤流程图。如图2所示,根据本发明产品缺陷检测方法的一种实施方式,所述构建用户界面校验模型,可通过机器学习框架训练生成用户界面校验模型,包括:步骤S210,采集用户界面的图片;步骤S220,对采集的所述用户界面的图片进行标注,所述标注的信息包括:用户界面的图片是否异常,以及在所述图片异常的情况下的异常分类信息;所述异常分类信息包括异常种类和异常位置,所述异常种类包括文本截断、控件覆盖和/或控件错位;步骤S230,使用标注后的用户界面的图片训练,以生成所述用户界面校验模型。

本发明实施例采用AI(Artificial Intelligence,人工智能)方案,通过机器学习框架,如使用paddlepaddle(Parallel Distributed Deep Learning,并行分布式深度学习)开源框架,训练模型进行图片校验。PaddlePaddle是解决深度学习训练问题的平台。PaddlePaddle为深度学习研究人员提供了丰富的API(Application Programming Interface,应用程序编程接口),可以轻松地完成神经网络配置,模型训练等任务。PaddlePaddle在深度学习框架方面,覆盖了搜索、图像识别、语音语义识别理解、情感分析、机器翻译、用户画像推荐等多领域的业务和技术。它支持海量数据训练,以应对大规模的数据训练。在PaddlePaddle的帮助下,深度学习模型的设计如同编写伪代码一样容易,设计师只需关注模型的高层结构,而无需担心任何琐碎的底层问题。

具体地,采集待标注的用户界面的图片之后,对用户界面的图片进行标注,判断用户界面的图片是否异常,对存在异常的问题图片进行标注异常分类信息,包括异常种类(文本截断,控件覆盖,控件错位等)及异常位置(异常点或圈);没有异常标记的为正常分类。使用标注后的用户界面的图片训练生成用户界面校验模型,训练好的模型能够针对任意一张图片识别出异常类型及坐标。

根据本发明产品缺陷检测方法的一种实施方式,所述采集待标注的用户界面的图片,包括:在测试过程中采集用户界面的图片,并在其中挖掘所述异常分类信息;和/或,根据预测的异常分类信息,模拟出与各种预测的异常分类信息相对应的用户界面的图片。

数据采集包括数据挖掘(从真实数据中挖掘信息)或数据模拟(根据可能出现的问题模拟出来的异常图片)。第一种实施方式中,在测试过程中采集用户界面的截图,在这些真实数据中挖掘出存在异常的问题图片,对各种异常种类进行标注,包括文本截断、控件覆盖和控件错位等。在第二种实施方式中,根据可能出现的问题预测异常分类信息,模拟生成与各种异常分类信息相对应的异常图片。数据模拟的方式能够有效弥补数据挖掘的不足,使标注数据更加全面,以达到理想的训练结果。

根据本发明产品缺陷检测方法的一种实施方式,在对采集的所述用户界面的图片进行标注之后,且在使用标注后的用户界面的图片训练之前,还包括:将所述标注后的用户界面的图片进行数据处理,所述数据处理包括灰度化处理和/或归一化处理。将经过数据处理后的用户界面的图片输入用户界面校验模型进行训练。

根据本发明产品缺陷检测方法的一种实施方式,还包括:使用多张标注后的用户界面的图片训练生成用户界面校验模型,生成的所述用户界面校验模型根据输入的一张用户界面的图片输出校验结果;或者,使用多组标注后的用户界面的图片训练生成用户界面校验模型,其中每组标注后的用户界面的图片包括多张相似度高于预定阈值的用户界面的图片;生成的所述用户界面校验模型根据输入的一组用户界面的图片输出校验结果,所述校验结果包括该组用户界面的图片中的每张用户界面的图片是否异常,以及异常分类信息。

在一种实施方式中,输入N张自动化测试过程截图,对问题图片进行标注异常分类信息,包括异常种类(文本截断,控件覆盖,控件错位等)及异常位置(异常点或圈),没有异常的标记为正常分类;训练后生成模型,输入任意一张图片,模型能够识别出异常类型及坐标。

在另一种实施方式中,输入N组自动化测试过程截图,每组中包含相近的图片,这其中可能有一张图片或多张图片存在异常,存在异常的标注异常分类信息,包括异常种类(文本截断,控件覆盖,控件错位等)及异常位置(异常点或圈),没有异常的标记为正常分类;训练后生成模型,输入任意一组图片,模型能识别出这组图片中的每一张图片是否异常及异常类型及坐标。

根据本发明产品缺陷检测方法的一种实施方式,在生成用户界面校验模型之后,还包括:设置损失函数,调整模型参数使损失函数最小化。大部分的机器学习算法的本质都是建立优化模型,通过最优化方法对损失函数进行优化,从而训练出最好的模型。模型调优的过程就是通过调整模型参数,从而提高校验的准确率。

另一方面,本发明实施例提供了一种用户界面校验装置。图3为本发明实施例的用户界面校验装置的整体框架图。如图3所示,本发明实施例的用户界面校验装置包括:采集单元100,用于采集待校验的用户界面的图片;模型构建单元200,用于构建用户界面校验模型,可通过机器学习框架训练生成用户界面校验模型;校验单元300,用于:将采集的所述待校验的用户界面的图片输入所述用户界面校验模型进行校验,输出校验结果;所述校验结果包括:所述待校验的用户界面的图片是否异常,以及在所述图片异常的情况下的异常分类信息。

本发明实施例适用于不同版本、不同语言环境、不同机型、不同分辨率和刷机包,因此克服了由于碎片化严重而导致兼容性测试困难的问题,解决了以往的兼容性测试自动化场景下UI校验能力不足、人感官测试或截图后人感官验证效率低的问题。

图4为本发明提供的用户界面校验装置的一种优选实施例的结构示意图。如图4所示,根据本发明产品缺陷检测装置的一种实施方式,所述模型构建单元200还包括:采集子单元210,用于采集待标注的用户界面的图片;标注子单元220,用于对采集的所述待标注的用户界面的图片进行标注,所述标注的信息包括:用户界面的图片是否异常,以及在所述图片异常的情况下的异常分类信息;所述异常分类信息包括异常种类和异常位置,所述异常种类包括文本截断、控件覆盖和/或控件错位;训练子单元230,用于使用标注后的用户界面的图片训练生成用户界面校验模型。本发明实施例采用AI方案,通过机器学习框架,如使用paddlepaddle开源框架,训练模型进行图片校验。

根据本发明产品缺陷检测装置的一种实施方式,所述采集子单元210还用于:在测试过程中采集用户界面的图片,并在其中挖掘所述异常分类信息;和/或,根据预测的异常分类信息,模拟出与各种预测的异常分类信息相对应的用户界面的图片。数据模拟的方式能够有效弥补数据挖掘的不足,使标注数据更加全面,以达到理想的训练结果。

根据本发明产品缺陷检测装置的一种实施方式,所述模型构建单元200还包括处理子单元225,用于:将所述标注后的用户界面的图片进行数据处理,所述数据处理包括灰度化处理和/或归一化处理。

根据本发明产品缺陷检测装置的一种实施方式,还包括:所述模型构建单元200还用于:使用多张标注后的用户界面的图片训练生成用户界面校验模型;所述校验单元300还用于:将一张用户界面的图片输入所述用户界面校验模型进行校验,输出校验结果;或者,所述模型构建单元200还用于:使用多组标注后的用户界面的图片训练生成用户界面校验模型,其中每组标注后的用户界面的图片包括多张相似度高于预定阈值的用户界面的图片;所述校验单元300还用于:将一组用户界面的图片输入所述用户界面校验模型进行校验,输出校验结果,所述校验结果包括该组用户界面的图片中的每张用户界面的图片是否异常,以及在所述图片异常的情况下的异常分类信息。

根据本发明产品缺陷检测装置的一种实施方式,还包括模型调优单元,用于:设置损失函数,调整模型参数使损失函数最小化。

在一个可能的设计中,用户界面校验装置的结构中包括处理器和存储器,所述存储器用于存储支持用户界面校验装置执行上述第一方面中用户界面校验方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。

又一方面,本发明实施例提供了一种软件测试系统,包括上述第二方面中任一所述的用户界面校验装置。

再一方面,本发明实施例提供了一种终端,所述终端包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述第一方面中任一所述的方法。

再一方面,本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一所述的方法。

上述技术方案中的一个技术方案具有如下优点或有益效果:本发明提供的实施例提高了自动化测试的校验能力,尤其适用于碎片化严重的兼容性自动化测试场景,可适用于不同版本、不同语言环境、不同机型、不同分辨率和刷机包;相比较现有的人感官测试或截图后人感官测试,测试效率明显提高。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。其中装置实施方式与方法的实施方式相对应,因此装置的实施方式描述比较简略,相关描述可参照方法的实施方式的描述即可。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1