基于深度学习的软件界面自动测试云平台装置及测试方法与流程

文档序号:14774080发布日期:2018-06-23 02:32阅读:390来源:国知局

本发明涉及一种云平台装置,具体是一种基于深度学习的软件界面自动测试云平台装置及测试方法。



背景技术:

界面测试(简称UI测试),测试用户界面的功能模块的布局是否合理、整体风格是否一致、各个控件的放置位置是否符合客户使用习惯,此外还要测试界面操作便捷性、导航简单易懂性,页面元素的可用性,界面中文字是否正确,命名是否统一,页面是否美观,文字、图片组合是否完美等。

传统的软件界面测试主要以人工为主,费时费力,并存在重复测试等问题。



技术实现要素:

本发明的目的在于提供一种基于深度学习的软件界面自动测试云平台装置及测试方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:

一种基于深度学习的软件界面自动测试云平台装置,包括若干台用户终端和云服务器,每台所述用户终端包括Web浏览器和自动截屏模块,所述云服务器包括Web服务器、数据库、深度神经网络模型、截图接收模块、网络爬虫模块,所述Web浏览器和Web服务器通讯连接,所述自动截屏模块与截图接收模块连接,所述截图接收模块与网络爬虫模块分别连接到数据库,所述数据库分别与Web服务器和深度神经网络模型连接,所述网络爬虫模块与图像搜索引擎连接。

作为本发明进一步的方案:所述自动截屏模块部署于用户终端,截取用户在使用软件时的不同界面,并上传到云服务器。

作为本发明再进一步的方案:所述截图接收通信模块部署于云服务器,收取由用户终端自动截屏模块上传的图像,并将图像存入文件系统,将图像信息存入数据库。

作为本发明再进一步的方案:所述Web服务器部署于云服务器,用于向用户展示界面图像,并接收用户对界面的评价。

作为本发明再进一步的方案:所述网络爬虫模块部署于云服务器,利用Internet上的图像搜索引擎,进行软件界面图像的下载,并将爬取的图像存入文件系统,将图像信息存入数据库。

作为本发明再进一步的方案:所述数据库用于存储软件界面截图图像的信息,包括其编号、存储路径、对应的软件名称。

作为本发明再进一步的方案:所述深度神经网络模块完成基于图像的界面美观程度自动分类功能。

作为本发明再进一步的方案:所述的基于深度学习的软件界面自动测试云平台装置的测试方法,包括以下步骤:

(1)用户使用软件时进行自动截图,并对截图进行美观程度的标记;

(2)使用带标记的界面图像进行深度神经网络模型的训练;

(3)使用训练得到的深度神经网络模型,对新输入的软件界面图像进行评测,评价其美观程度。

与现有技术相比,本发明的有益效果是:本发明能够实现将不同的软件界面根据美观程度进行自动分类。本发明基于深度学习技术,对软件进行界面测试,省时省力,效率高效。

附图说明

图1为基于深度学习的软件界面自动测试云平台装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,本发明实施例中,一种基于深度学习的软件界面自动测试云平台装置,包括若干台用户终端和云服务器,每台所述用户终端包括Web浏览器和自动截屏模块,所述云服务器包括Web服务器、数据库、深度神经网络(DNN)模型、截图接收模块、网络爬虫模块,所述Web浏览器和Web服务器通讯连接,Web服务器部署于云服务器,用于向用户展示界面图像,并接收用户对界面的评价,所述自动截屏模块与截图接收模块连接,自动截屏模块部署于用户终端,截取用户在使用软件时的不同界面,并上传到云服务器,截图接收通信模块部署于云服务器,收取由用户终端自动截屏模块上传的图像,并将图像存入文件系统,将图像信息存入数据库;所述截图接收模块与网络爬虫模块分别连接到数据库,网络爬虫模块部署于云服务器,利用Internet上的图像搜索引擎,进行软件界面图像的下载,并将爬取的图像存入文件系统,将图像信息存入数据库;数据库用于存储软件界面截图图像的信息,包括其编号、存储路径、对应的软件名称;所述数据库分别与Web服务器和深度神经网络(DNN)模型连接,深度神经网络(DNN)模块完成基于图像的界面美观程度自动分类(评价)功能,所述网络爬虫模块与图像搜索引擎连接。

若干台所述用户终端包含以下功能:软件界面自动截屏上传、浏览及标记软件界面截图图像;所述云服务器包含以下功能:图像数据接收、存储、深度神经网络(DNN)模型训练及存储、及部署Web服务器。

一、深度神经网络(DNN)模型

1.选择了TensorFlow实现图像自动分类的DNN模型。其特点在于:

(1)其具有高兼容性的稳定API(如Keras和SkFlow等),且其与Numpy的组合使用方便。

(2)其具有显著的平台灵活性。TensorFlow可以在从HPC到嵌入式系统的各种机器的适用。

(3)伴随着Google和它的社区的支持,越来越多的技术和模型被加入到TensorFlow中。

本发明利用TensorFlow,实现两种卷积神经网络(CNN)算法。CNN的特点在于其对所有的图像分类数据集都有很好的分类精度。

2.具体CNN网络模型选型,选用AlexNet和ResNet,其特点在于更深的结构和在图像分类应用中的良好分类性能。

(1)Alexnet作为我们要在这个项目中实现的CNN模型之一,其特点在于:Alexnet不同于传统的LeNet CNN,它比LeNet更准确和有效,因为其算法和网络结构。Alexnet可在多个GPU上进行训练。

(2)随着神经网络层次的不断加深,扁平网络的分类结果没有明显变化。ResNet(残差神经网络)旨在处理更深入的网络问题,并影响分类结果。残差神经网络通过引入短路径来避免消失梯度问题,其可以在非常深的网络范围内传递梯度。

二、Web技术

Ajax(异步JavaScript和XML)

本发明实施例中,需要在网页中同步浏览图片的类别标签,并上传到服务器端的数据库。除了使用包括HTML5,CSS和JavaScript在内的基本语言以及在服务器端用于连接的PHP文档之外,本发明实施例使用Ajax来更新网页的部分,其特点在于无需重新加载整个页面。

对于本发明,当被测试的应用程序的屏幕截图被上传到云服务器上时,Web页面应该立即显示它们,而不需要刷新页面重新加载内容。因此,Ajax(异步JavaScript和XML)可以作为一种合适的技术来满足服务器与服务器交换少量数据的需求。它更直观地让测试人员和客户浏览图片和标签。

本发明使用的Web技术具有如下特点:

1.有一个基于Ajax的MVC(模型-视图-控制器)优化,提供更多的可视化数据表示和更好的用户体验。

2.其工作过程为:首先,Ajax从浏览器发送请求。然后服务器接受请求并返回一个JSON数据给浏览器。最后会有一个使用前端工具的界面渲染过程。

3.使用REST技术将优化的MVC简化为前端和后端分割模式。REST与Ajax具有相对的刚性,可以选择构建一个与Web前端和后端的连接框架。

三、自动截图和上传技术

在本发明中,该应用模块完成和截图时自动识别软件用户界面,上传到云服务器。本发明实施例以C#作为开发语言,其特点在于具有比Java更高级的语法体系,并且C#所需的运行平台构建在内部Windows中,并保证其软件的兼容性。为了达到所需的截图功能,本发明使用调用Windows API的方法进行,其特点在于可以更容易地获得活动窗口的句柄,获得窗口的大小和位置,然后实现截图功能。

截获截图数据后,图像数据将被上传到云服务器,所以本发明在自动截图模块中提供上传功能,把云端MySQL数据库服务器和本地连接起来。其需要远程访问权限,可以使用任何远程终端访问。

通过配置服务器绑定地址并添加相应的门户,本发明实施例可以通过ADO.net技术在客户端连接服务器,从而实现上传图片数据。图片数据上传至数据库后,可由DNN模型进行训练,也可由Web服务器进行显示。

本发明实施例中,基于深度学习的软件界面自动测试云平台装置的测试方法,步骤如下:

(1)用户使用软件时进行自动截图,并对截图进行美观程度(美观与否)的标记。

(2)使用带标记的界面图像进行深度神经网络模型的训练。

(3)使用训练得到的深度神经网络模型,对新输入的软件界面图像进行评测,评价其美观程度。

推荐使用TensorFlow、Caffe等成熟的深度学习平台进行模型的构建。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

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