CN107608877A - 一种基于机器学习的自动化应用程序界面测试方法和测试系统 - Google Patents

一种基于机器学习的自动化应用程序界面测试方法和测试系统 Download PDF

Info

Publication number
CN107608877A
CN107608877A CN201710683982.2A CN201710683982A CN107608877A CN 107608877 A CN107608877 A CN 107608877A CN 201710683982 A CN201710683982 A CN 201710683982A CN 107608877 A CN107608877 A CN 107608877A
Authority
CN
China
Prior art keywords
interfaces
test
script
interface
application program
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.)
Granted
Application number
CN201710683982.2A
Other languages
English (en)
Other versions
CN107608877B (zh
Inventor
陈家林
黄宗纬
蒋鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Wei Qing Information Technology Co Ltd
Original Assignee
Shanghai Wei Qing Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Wei Qing Information Technology Co Ltd filed Critical Shanghai Wei Qing Information Technology Co Ltd
Priority to CN201710683982.2A priority Critical patent/CN107608877B/zh
Publication of CN107608877A publication Critical patent/CN107608877A/zh
Application granted granted Critical
Publication of CN107608877B publication Critical patent/CN107608877B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供了一种基于机器学习的自动化应用程序界面测试方法和测试系统,测试方法包括当判断已获取的待测试应用程序的UI界面为初次出现时,将UI界面转换为图片;将得到的图片输入到预设UI界面分类器,以获取UI界面的类别,其中,UI界面分类器为基于生成对抗神经网络GAN与卷积神经网络CNN的UI界面分类器;根据UI界面的类别从预设的测试大纲脚本库中获取对应的测试大纲脚本;将测试大纲脚本与UI界面的布局进行适配,获取UI界面对应的测试脚本;通过测试脚本对UI界面进行测试。本发明能有效降低图片标记成本,并且极大提升了测试场景有效性及测试的效率。

Description

一种基于机器学习的自动化应用程序界面测试方法和测试 系统
技术领域
本发明属于电数据处理领域,尤其涉及一种基于机器学习的自动化应用程序界面测试方法和测试系统。
背景技术
应用程序通常通过对其界面的测试来确定其用途和安全性。现有技术在对应用程序界面进行测试时通常使用人工和自动化测试的方法:人工即由人来对应用程序界面进行测试,该方法会消耗大量的人工成本;自动化测试即对每一类应用程序撰写对应的测试脚本,通过测试脚本实现对应用程序界面的自动化测试,但是为每一类应用程序都撰写测试脚本不仅消耗人工成本,而且更消耗物力。另外,自动化测试的遍历工具一般使用深度优先或广度优先的逻辑进行测试,首先针对当前UI界面内的UI控件进行搜集,并逐一拿出UI控件进行操作,若发现新的UI界面,则再次进行UI控件搜集,然后逐一拿出当前UI界面的UI控件对象进行操作,重复以上步骤,直到所有UI控件遍历操作完成或退出应用程序。在真实场景进行自动遍历测试时,应用程序预期使用者的操作过程往往不能依照深度或广度算法的顺序对UI控件操作,换言之,循序操作逻辑并非一般使用者会进行的操作;循序操作不但无法对应用程序进行符合逻辑的测试,而且也会造成许多无效的测试时间。
发明内容
本发明实施例的目的在于提供一种基于机器学习的自动化应用程序界面测试方法和测试系统,以解决现有技术应用程序界面测试消耗人力、物力且无法模拟使用者操作步骤,测试效率低等问题。
本发明实施例是一种基于机器学习的自动化应用程序界面测试方法,所述测试方法,包括:
当判断已获取的待测试应用程序的UI界面为初次出现时,将所述UI界面转换为图片;
将得到的图片输入到预设UI界面分类器,以获取所述UI界面的类别,其中,所述UI界面分类器为基于生成对抗神经网络GAN与卷积神经网络CNN的UI界面分类器;
根据所述UI界面的类别从预设的测试大纲脚本库中获取对应的测试大纲脚本;
将所述测试大纲脚本与所述UI界面的布局进行适配,获取所述UI界面对应的测试脚本;
通过所述测试脚本对所述UI界面进行测试。
本发明实施例的另一目的在于提供一种基于机器学习的自动化应用程序界面测试系统,所述测试系统,包括判断单元、UI界面类别获取单元、测试大纲脚本获取单元、测试脚本获取单元及测试单元,其中:
所述判断单元,用于判断已获取的待测试应用程序的UI界面为初次出现时,将所述UI界面转换为图片;
所述UI界面类别获取单元,用于将得到的图片输入到预设UI界面分类器,以获取所述UI界面的类别,其中,所述UI界面分类器为基于生成对抗神经网络GAN与卷积神经网络CNN的UI界面分类器;
所述测试大纲脚本获取单元,用于根据所述UI界面的类别从预设的测试大纲脚本库中获取对应的测试大纲脚本;
所述测试脚本获取单元,将所述测试大纲脚本与所述UI界面的布局进行适配,获取所述UI界面对应的测试脚本;
所述测试单元,用于通过所述测试脚本对所述UI界面进行测试。
本发明相比于现有技术的有益效果在于:本发明可以在拥有少量已标记类别的UI界面图片的情况下,先使用GAN算法产生大量的已标记类别的UI界面图片,有效降低图片标记成本,再透过CNN算法获取UI界面分类器,其分类结果能与一般使用者的分类结果相似,而根据分类结果后的自动测试步骤,能贴近使用者操作流程。有效降低图片标记成本,并且极大提升了测试场景有效性及测试的效率。其后,将测试大纲脚本与UI界面的布局进行适配,获取对应的测试脚本,通过测试脚本对UI界面进行测试,使得应用程序界面的测试可以自动获取对应的测试脚本,节省了人工测试的人工成本,也节省了为每个应用程序分别撰写测试脚本的财务成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一示例性实施例示出的一种基于机器学习的自动化应用程序界面测试方法的流程图;
图2为本发明另一示例性实施例示出的一种基于机器学习的自动化应用程序界面测试系统的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一
如图1所示为本发明一示例性实施例示出的一种基于机器学习的自动化应用程序界面测试方法的流程图,所述测试方法包括以下步骤:
步骤S101,当判断已获取的待测试应用程序的UI界面为初次出现时,将所述UI界面转换为图片。
在本发明实施例中,应用程序界面通常用UI界面进行表达,测试时可以通过预设的自动扫描工具对待测试应用程序进行扫描。优选的,该自动扫描工具为通过Python制做的自动扫描工具,比如在开源测试工具Appium上使用Python撰写测试逻辑,以测试Andorid、IOS的应用程序。可以理解的,待测试应用程序包括但不限于:移动端应用程序、非移动端应用程序,移动端应用程序包括但不限于:Android应用程序、IOS应用程序。
判断所述UI界面是否为初次出现可以采用多种办法,可以通过计算UI界面的唯一识别值来判断。具体的,测试工具通过计算获取UI界面的唯一识别值,将该唯一识别值放入预设的识别值库中进行检索,如果识别值库中不包含该唯一识别值,则表示该类UI界面未被处理过,没有对应的测试脚本,可以按照本发明对其进行处理。计算UI界面唯一识别值的方法包括:挑选UI界面内预设的UI控件的特征(如UI界面的前20个UI控件的特征)计算MD5值。所述特征包含位置、类型、内容等。
需要将UI界面转换为图片是为了应用于UI界面分类器,后文将详细说明。
步骤S102,将得到的图片输入到预设UI界面分类器,以获取所述UI界面的类别,其中,所述UI界面分类器为基于生成对抗神经网络GAN与卷积神经网络CNN的UI界面分类器。
对抗神经网络GAN(Generative Adversarial Networks)为一主要应用于图像的深度学习框架,经由同一类型的图像数据作为训练输入,GAN可以生成具有相同类型特征的图像。GAN内部包含生成器和鉴别器。生成器使用原始样本与随机噪声生成对抗样本;鉴别器需判断输入样本,是原始样本还是对抗样本。训练过程中,生成器与鉴别器不断相互迭代,直到鉴别器无法识别原始样本与对抗样本之间的区别,则终止迭代,并输出生成器。CNN训练所获得的UI界面分类器,其高精度需要依靠大量、多样化和准确地标记的训练集,但其成本很高。故使用GAN来生成大量的已标记类别样本,可以有效降低标记成本,且提高的UI界面分类器的准确度。CNN(Convolutional Neural Network,卷积神经网络)为一主要应用于图像和视频的深度学习框架,CNN训练的模型对缩放、平移、旋转等畸形具有不变性,有着很强的泛化性。CNN最大的特点在于卷积的权值共享结构,可以大幅减少神经网络的参数量,在防止过拟合的同时又降低了神经网络模型的复杂度。由于CNN对图片的分类比较精确,因此需要将应用程序的UI界面转换为图片格式,输入到预设UI界面分类器,以获取所述UI界面的类别。
可以通过下述方法得到UI界面分类器:
(1)获取预设数量的应用程序的UI界面,为各UI界面计算唯一识别值,并将各UI界面转换为UI界面图片。
(2)将所有已搜集的UI界面图片进行类别标记,组成原始数据集。譬如将百度搜索的首页UI标记为搜索类;招商银行主页UI标记为金融类。
(3)将原始数据集作为TensorFlow的GAN算法的输入,代码实现基于DCGAN(DeepConvolutional Generative Adversarial Networks)的结构。根据TensorFlow的GAN算法输出,可以获得GAN生成器,并生成一定数量的已标记类别的UI界面图片,与原始数据集合并后组成训练集。
(4)将训练集作为TensorFlow的CNN算法的输入,参数设定以ReLU为激活函数,设定横竖两个方向以2为stride,并设定SAME为Padding的处理方式,根据TensorFlow的CNN算法输出,可以获得Activity组件的分类器。
应用程序在设计时,一般会考虑UI(User Interface,使用者界面)及UX(UserExperience,使用者经验)设计,如何让一般使用者觉得好用、易用是考虑的重点;应用程序开发商也会不断收集使用者的操作反馈进行UI/UX改良,让使用者快速、甚至零学习成本的情况下,愉快的使用应用程序。不同类别的应用程序,最佳的UI/UX也会不同,譬如搜寻类别与购物类别的页面,肯定是截然不同得布局,但一般使用者分别看到两者的页面时,并不会因为布局不同而觉得难以上手,因为搜寻类别的操作顺序大致为找到搜寻内容输入框,接著点击搜寻按钮;而购物类别的页面,则是透过点选物品分类页签,来进行购物。在本发明中,使用GAN与CNN以透过学习大量的UI界面的分类结果,得到一个UI界面分类器;在测试阶段,透过UI界面分类器对未知UI界面进行分类,并对不同类别的UI界面进行不同的顺序操作。通过上述方法获取的分类结果与一般使用者的分类结果相似,能让自动遍历系统做出符合人类顺序的操作。因此,整个测试过程中无须人工介入,操作方便,并且极大提升了测试场景有效性及测试的效率。
步骤S103,根据所述类别从预设的测试大纲脚本库中获取对应的测试大纲脚本。
在本发明实施例中,测试大纲脚本是每一类UI界面基本的遍历顺序,测试大纲脚本根据人类操作应用程序的顺序进行撰写,如:搜索类UI界面,首先搜寻到内容输入框,然后输入关键字,最后找到搜寻按钮并点击,完成搜索的顺序操作。
UI界面分类器是通过训练大量(数万或数十万)应用程序的UI界面获取的,因此UI界面分类器可以识别出多种不同类别的UI界面。将识别出的UI界面类别放入测试大纲脚本库中进行检索,获取对应的测试大纲脚本。
步骤S104,将所述测试大纲脚本与所述UI界面的布局进行适配,获取所述UI界面对应的测试脚本。
在本发明实施例中,测试大纲脚本只是UI界面最基本的遍历顺序,并不能对UI界面进行精细的测试,因此需要将测试大纲脚本与对应的UI界面的UI布局进行适配,通过适配获取对应的测试脚本。所述适配包括但不限于:UI控件顺序适配、UI控件操作细节适配。
UI界面中可能包含多个不同的UI控件,这多个UI控件的作用不同,运行的顺序也不同,因此UI控件顺序适配可以确定这多个不同的UI控件的运行顺序,UI控件操作细节适配可以确定每个UI控件的作用,如:按钮类UI控件和文本输入框类UI控件,UI控件顺序适配确定文本输入框类UI控件首先运行、按钮类UI控件其次运行,UI控件操作细节适配确定按钮类UI控件的作用是点击、文本输入框类UI控件的作用是接收输入的内容。
作为本发明的一个可选实施例,在所述将所述测试大纲脚本与所述UI界面的UI布局进行适配,获取所述UI界面对应的测试脚本的步骤之后,所述测试方法还包括:
将所述唯一识别值与所述测试脚本进行关联。
在本发明实施例中,一个应用程序中通常包含多个UI界面,而在一次测试中,通常需要测试多个应用程序,为了在多个应用程序中准确的找到对应的测试脚本,可以将唯一识别值与测试脚本进行关联。由于在之前的步骤中UI界面与唯一识别值进行了关联,因此UI界面可以在大量的测试脚本中快速、准确的找到对应的测试脚本进行测试。
步骤S105,通过所述测试脚本对所述UI界面进行测试。
在本发明实施例中,在获取了对应的测试脚本之后,即可通过该测试脚本对UI界面进行测试,重复上述步骤S101~S105即可对所有UI界面进行测试。
本发明实施例,获取待测试应用程序的UI界面,如果所述UI界面为初次出现,先使用GAN算法产生大量的已标记类别的UI界面图片,有效降低图片标记成本,再透过CNN算法获取UI界面分类器,然后由UI界面分类器获取其类别和测试大纲脚本,其分类结果能与一般使用者的分类结果相似,自动测试步骤贴近使用者操作流程,并且极大提升了测试场景有效性及测试的效率。其后,将测试大纲脚本与UI界面的布局进行适配,获取对应的测试脚本,通过测试脚本对UI界面进行测试,使得应用程序界面的测试可以自动获取对应的测试脚本,节省了人工测试的人工成本,也节省了为每个应用程序分别撰写测试脚本的财务成本。
以待测试应用程序为Android应用程序为例对发明做进一步说明:
(1)使用Python制做的自动扫描工具,开始遍历应用程序,首先解析AndroidManifest.xml,取得其Package name与MainActivity,作为自动遍历的入口。计算UI界面的Activity组件的MD5值为唯一识别值,若该MD5值为第一次出现,则透过Appium进行屏幕截屏并存储为图片格式。
(2)将图片格式传入UI界面分类器,可以得到该Activity组件的类别。
(3)根据Activity组件的类别,取得对应的测试大纲脚本。
(4)开始执行测试大纲脚本的适配流程,该流程包含将当前Activity组件中的UI布局与测试大纲脚本进行适配,生成适配于当前Activity组件的测试脚本,包括UI控件遍历顺序与UI控件操作细节。将适配后的测试脚本根据Activity组件的识别值储存,并依循UI控件遍历顺序逐一取出后,参考UI控件操作细节进行操作。
(5)进行自动化遍历。若遍历的过程发生Activity组件转跳,则计算Activity组件识别值,若为新的识别值,则再次进行步骤(3),若为已存在的识别值,则根据上次已遍历的顺序,接著继续遍历。
(6)重复上述自动化遍历操作,直到所有从Activity组件中获取到的UI控件进行操作完毕,或者满足遍历结束条件。
如图2所示为本发明一示例性实施例示出的一种基于机器学习的自动化应用程序界面测试系统的结构图,所述测试系统包括判断单元10、UI界面类别获取单元20、测试大纲脚本获取单元30、测试脚本获取单元40及测试单元50,其中:
判断单元10,用于当判断已获取的待测试应用程序的UI界面为初次出现时,将所述UI界面转换为图片。
测试时可以通过预设的自动扫描工具对待测试应用程序进行扫描。优选的,该自动扫描工具为通过Python制做的自动扫描工具,比如在开源测试工具Appium上使用Python撰写测试逻辑,以测试Andorid、IOS的应用程序。可以理解的,待测试应用程序包括但不限于:移动端应用程序、非移动端应用程序,移动端应用程序包括但不限于:Android应用程序、IOS应用程序。
判断所述UI界面是否为初次出现可以采用多种办法,可以通过计算UI界面的唯一识别值来判断。具体的,测试工具通过计算获取UI界面的唯一识别值,将该唯一识别值放入预设的识别值库中进行检索,如果识别值库中不包含该唯一识别值,则表示该类UI界面未被处理过,没有对应的测试脚本,可以按照本发明对其进行处理。计算UI界面唯一识别值的方法包括:挑选UI界面内预设的UI控件的特征(如UI界面前20个UI控件的特征)计算MD5值。所述特征包含位置、类型、内容等。
当判断已获取的待测试应用程序的UI界面为初次出现时,将所述UI界面转换为图片,输入到UI界面类别获取单元20。
UI界面类别获取单元20,用于将得到的图片输入到预设UI界面分类器,以获取所述UI界面的类别,其中,所述UI界面分类器为基于生成对抗神经网络GAN与卷积神经网络CNN的UI界面分类器。
在本发明中,使用GAN与CNN以透过学习大量的UI界面的分类结果,得到一个UI界面分类器;在测试阶段,透过UI界面分类器对未知UI界面进行分类,并对不同类别的UI界面进行不同的顺序操作。通过上述方法获取的分类结果与一般使用者的分类结果相似,能让自动遍历系统做出符合人类顺序的操作。因此,整个测试过程中无须人工介入,操作方便,并且极大提升了测试场景有效性及测试的效率。
得到UI界面分类器的方法包括:
(1)获取预设数量的应用程序的UI界面,为各UI界面计算唯一识别值,并将各UI界面转换为UI界面图片。
(2)将所有已搜集的UI界面图片进行类别标记,组成原始数据集。譬如将百度搜索的首页UI标记为搜索类;招商银行主页UI标记为金融类。
(3)将原始数据集作为TensorFlow的GAN算法的输入,代码实现基于DCGAN的结构。根据TensorFlow的GAN算法输出,可以获得GAN生成器,并生成一定数量的已标记类别的UI界面图片,与原始数据集合并后组成训练集。
(4)将训练集作为TensorFlow的CNN算法的输入,参数设定以ReLU为激活函数,设定横竖两个方向以2为stride,并设定SAME为Padding的处理方式,根据TensorFlow的CNN算法输出,可以获得Activity组件的分类器。
测试大纲脚本获取单元30,用于根据所述UI界面的类别从预设的测试大纲脚本库中获取对应的测试大纲脚本。
在本发明实施例中,测试大纲脚本是每一类UI界面基本的遍历顺序,测试大纲脚本根据人类操作应用程序的顺序进行撰写,如:搜索类UI界面,首先搜寻到内容输入框,然后输入关键字,最后找到搜寻按钮并点击,完成搜索的顺序操作。
UI界面分类器是通过训练大量(数万或数十万)应用程序的UI界面获取的,因此UI界面分类器可以识别出多种不同类别的UI界面。将识别出的UI界面类别放入测试大纲脚本库中进行检索,获取对应的测试大纲脚本。
测试脚本获取单元40,将所述测试大纲脚本与所述UI界面的布局进行适配,获取所述UI界面对应的测试脚本。
在本发明实施例中,测试大纲脚本只是UI界面最基本的遍历顺序,并不能对UI界面进行精细的测试,因此需要将测试大纲脚本与对应的UI界面的UI布局进行适配,通过适配获取对应的测试脚本。所述适配包括但不限于:UI控件顺序适配、UI控件操作细节适配。
UI界面中可能包含多个不同的UI控件,这多个UI控件的作用不同,运行的顺序也不同,因此UI控件顺序适配可以确定这多个不同的UI控件的运行顺序,UI控件操作细节适配可以确定每个UI控件的作用,如:按钮类UI控件和文本输入框类UI控件,UI控件顺序适配确定文本输入框类UI控件首先运行、按钮类UI控件其次运行,UI控件操作细节适配确定按钮类UI控件的作用是点击、文本输入框类UI控件的作用是接收输入的内容。
作为本发明的一个可选实施例,测试脚本获取单元40还用于在将所述测试大纲脚本与所述UI界面的布局进行适配,获取所述UI界面对应的测试脚本的步骤之后,将所述唯一识别值与所述测试脚本进行关联。一个应用程序中通常包含多个UI界面,而在一次测试中,通常需要测试多个应用程序,为了在多个应用程序中准确的找到对应的测试脚本,可以将唯一识别值与测试脚本进行关联。由于之前的步骤中UI界面与唯一识别值进行了关联,因此UI界面可以在大量的测试脚本中快速、准确的找到对应的测试脚本进行测试。
测试单元50,用于通过所述测试脚本对所述UI界面进行测试。
本发明实施例,应用程序界面的测试系统获取待测试应用程序的UI界面,如果所述UI界面为初次出现,先使用GAN算法产生大量的已标记类别的UI界面图片,有效降低图片标记成本,再透过CNN算法获取UI界面分类器,然后由UI界面分类器获取其类别和测试大纲脚本,其分类结果能与一般使用者的分类结果相似,自动测试步骤贴近使用者操作流程,并且极大提升了测试场景有效性及测试的效率。该测试系统还能将测试大纲脚本与UI界面的布局进行适配,获取对应的测试脚本,通过测试脚本对UI界面进行测试,使得应用程序界面的测试可以自动获取对应的测试脚本,节省了人工测试的人工成本,也节省了为每个应用程序分别撰写测试脚本的财务成本。
本领域普通技术人员可以理解为上述实施例所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
本领域普通技术人员还可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,包括:ROM/RAM、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于机器学习的自动化应用程序界面测试方法,其特征在于,所述测试方法,包括:
当判断已获取的待测试应用程序的UI界面为初次出现时,将所述UI界面转换为图片;
将得到的图片输入到预设UI界面分类器,以获取所述UI界面的类别,其中,所述UI界面分类器为基于生成对抗神经网络GAN与卷积神经网络CNN的UI界面分类器;
根据所述UI界面的类别从预设的测试大纲脚本库中获取对应的测试大纲脚本;
将所述测试大纲脚本与所述UI界面的布局进行适配,获取所述UI界面对应的测试脚本;
通过所述测试脚本对所述UI界面进行测试。
2.如权利要求1所述的测试方法,其特征在于,判断所述UI界面是否为初次出现的方法包括:计算所述UI界面的唯一识别值,如果所述唯一识别值为新的,则所述UI界面为初次出现。
3.如权利要求2所述的测试方法,其特征在于,生成预设UI界面分类器的方法包括:
获取预设数量的应用程序的UI界面,为各UI界面计算唯一识别值,并将各UI界面转换为UI界面图片;
将所有已搜集的UI界面图片进行类别标记,组成原始数据集;
将原始数据集作为GAN算法的输入,按预定义规则设置相应的参数,生成一定数量的已标记类别的UI界面图片,与原始数据集合并后组成训练集;
将训练集作为CNN算法的输入,按预定义规则设置相应的参数,通过CNN算法输出得到UI界面分类器。
4.如权利要求1所述的测试方法,其特征在于,将所述测试大纲脚本与所述UI界面的布局进行适配的方法包括:根据UI控件顺序、UI控件操作进行适配。
5.如权利要求2所述的测试方法,其特征在于,将所述测试大纲脚本与所述UI界面的布局进行适配,获取所述UI界面对应的测试脚本的步骤之后,所述测试方法还包括:
将所述唯一识别值与所述测试脚本进行关联。
6.一种基于机器学习的自动化应用程序界面测试系统,其特征在于,所述测试系统,包括判断单元、UI界面类别获取单元、测试大纲脚本获取单元、测试脚本获取单元及测试单元,其中:
所述判断单元,用于当判断已获取的待测试应用程序的UI界面为初次出现时,将所述UI界面转换为图片;
所述UI界面类别获取单元,用于将得到的图片输入到预设UI界面分类器,以获取所述UI界面的类别,其中,所述UI界面分类器为基于生成对抗神经网络GAN与卷积神经网络CNN的UI界面分类器;
所述测试大纲脚本获取单元,用于根据所述UI界面的类别从预设的测试大纲脚本库中获取对应的测试大纲脚本;
所述测试脚本获取单元,将所述测试大纲脚本与所述UI界面的布局进行适配,获取所述UI界面对应的测试脚本;
所述测试单元,用于通过所述测试脚本对所述UI界面进行测试。
7.如权利要求6所述的测试系统,其特征在于,所述判断单元判断UI界面是否为初次出现的方法包括:计算所述UI界面的唯一识别值,如果所述唯一识别值为新的,则所述UI界面为初次出现。
8.如权利要求7所述的测试系统,其特征在于,所述UI界面类别获取单元生成预设UI界面分类器的方法包括:
获取预设数量的应用程序的UI界面,为各UI界面计算唯一识别值,并将各UI界面转换为UI界面图片;
将所有已搜集的UI界面图片进行类别标记,组成原始数据集;
将原始数据集作为GAN算法的输入,按预定义规则设置相应的参数,生成一定数量的已标记类别的UI界面图片,与原始数据集合并后组成训练集;
将训练集作为CNN算法的输入,按预定义规则设置相应的参数,通过CNN算法输出得到UI界面分类器。
9.如权利要求6所述的测试系统,其特征在于,所述测试脚本获取单元将所述测试大纲脚本与所述UI界面的布局进行适配的方法包括:根据UI控件顺序、UI控件操作进行适配。
10.如权利要求7所述的测试系统,其特征在于,所述测试脚本获取单元还用于在将所述测试大纲脚本与所述UI界面的布局进行适配,获取所述UI界面对应的测试脚本之后,将所述唯一识别值与所述测试脚本进行关联。
CN201710683982.2A 2017-08-11 2017-08-11 一种基于机器学习的自动化应用程序界面测试方法和测试系统 Active CN107608877B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710683982.2A CN107608877B (zh) 2017-08-11 2017-08-11 一种基于机器学习的自动化应用程序界面测试方法和测试系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710683982.2A CN107608877B (zh) 2017-08-11 2017-08-11 一种基于机器学习的自动化应用程序界面测试方法和测试系统

Publications (2)

Publication Number Publication Date
CN107608877A true CN107608877A (zh) 2018-01-19
CN107608877B CN107608877B (zh) 2021-04-09

Family

ID=61065010

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710683982.2A Active CN107608877B (zh) 2017-08-11 2017-08-11 一种基于机器学习的自动化应用程序界面测试方法和测试系统

Country Status (1)

Country Link
CN (1) CN107608877B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391383A (zh) * 2017-08-11 2017-11-24 上海巍擎信息技术有限责任公司 一种应用程序界面的测试方法和测试系统
CN108763068A (zh) * 2018-05-15 2018-11-06 福建天泉教育科技有限公司 一种基于机器学习的自动化测试方法及终端
CN109102496A (zh) * 2018-07-10 2018-12-28 武汉科技大学 基于变分生成对抗模型识别乳腺肿瘤区域的方法及装置
CN109214408A (zh) * 2018-07-10 2019-01-15 武汉科技大学 基于生成对抗模型识别肝肿瘤的方法及装置
CN109324969A (zh) * 2018-09-27 2019-02-12 平安普惠企业管理有限公司 测试报告的生成方法、装置、计算机设备及存储介质
CN109359043A (zh) * 2018-10-08 2019-02-19 广州云测信息技术有限公司 一种基于机器学习的移动游戏自动化测试方法
CN109547320A (zh) * 2018-09-29 2019-03-29 阿里巴巴集团控股有限公司 社交方法、装置及设备
CN109816005A (zh) * 2019-01-18 2019-05-28 北京智游网安科技有限公司 基于cnn的应用程序行业分类方法、存储介质及终端
CN109871326A (zh) * 2019-02-13 2019-06-11 广州云测信息技术有限公司 一种脚本录制的方法和装置
CN109977011A (zh) * 2019-03-18 2019-07-05 平安普惠企业管理有限公司 测试脚本的自动生成方法、装置、存储介质及电子设备
CN112578979A (zh) * 2020-12-28 2021-03-30 中国建设银行股份有限公司 操作脚本的生成方法、装置、可读介质以及设备
CN113791781A (zh) * 2021-09-09 2021-12-14 南京大学 一种基于图神经网络的界面功能场景划分方法和装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050193269A1 (en) * 2000-03-27 2005-09-01 Accenture Llp System, method, and article of manufacture for synchronization in an automated scripting framework
CN103092756A (zh) * 2013-01-08 2013-05-08 彭勇 一种交互式自动化测试系统及其方法
CN104484273A (zh) * 2014-12-19 2015-04-01 广州博冠信息科技有限公司 应用程序的测试方法、设备及系统
CN104536888A (zh) * 2014-12-24 2015-04-22 网易(杭州)网络有限公司 移动设备的游戏测试方法与系统
US9141522B1 (en) * 2013-01-02 2015-09-22 Intuit Inc. Virtual cluster immune system for dynamic testing
CN106169050A (zh) * 2016-08-02 2016-11-30 中国科学院软件研究所 一种基于网页知识发现的PoC程序提取方法
CN106201898A (zh) * 2016-07-26 2016-12-07 北京班墨科技有限责任公司 一种基于人工智能的测试软件的方法及装置
CN106294107A (zh) * 2015-05-27 2017-01-04 富士通株式会社 生成网页页面的测试用例的方法和装置
US9697108B2 (en) * 2013-08-12 2017-07-04 International Business Machines Corporation System, method, and apparatus for automatic recording and replaying of application executions

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050193269A1 (en) * 2000-03-27 2005-09-01 Accenture Llp System, method, and article of manufacture for synchronization in an automated scripting framework
US9141522B1 (en) * 2013-01-02 2015-09-22 Intuit Inc. Virtual cluster immune system for dynamic testing
CN103092756A (zh) * 2013-01-08 2013-05-08 彭勇 一种交互式自动化测试系统及其方法
US9697108B2 (en) * 2013-08-12 2017-07-04 International Business Machines Corporation System, method, and apparatus for automatic recording and replaying of application executions
CN104484273A (zh) * 2014-12-19 2015-04-01 广州博冠信息科技有限公司 应用程序的测试方法、设备及系统
CN104536888A (zh) * 2014-12-24 2015-04-22 网易(杭州)网络有限公司 移动设备的游戏测试方法与系统
CN106294107A (zh) * 2015-05-27 2017-01-04 富士通株式会社 生成网页页面的测试用例的方法和装置
CN106201898A (zh) * 2016-07-26 2016-12-07 北京班墨科技有限责任公司 一种基于人工智能的测试软件的方法及装置
CN106169050A (zh) * 2016-08-02 2016-11-30 中国科学院软件研究所 一种基于网页知识发现的PoC程序提取方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DILIGENT_321: ""生成对抗网络(GAN)应用于图像分类"", 《HTTPS://BLOG.CSDN.NET/DILIGENT_321/ARTICLE/DETAILS/55224631》 *
VALÉRIA LELLI,BLOUIN: "Classifying and Qualifying GUI Defects", 《ARXIV》 *
机器之心: ""深度学习助力前端开发:自动生成GUI图代码(附试用地址)"", 《HTTPS://WWW.JIQIZHIXIN.COM/ARTICLES/2017-06-18-4》 *
深研MMGAME测试团队 梁刚强: ""图像识别在游戏自动化测试中的应用"", 《HTTP://MTC.BAIDU.COM/ACADEMY/DETAIL/ARTICLE/68》 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391383A (zh) * 2017-08-11 2017-11-24 上海巍擎信息技术有限责任公司 一种应用程序界面的测试方法和测试系统
CN108763068B (zh) * 2018-05-15 2021-12-28 福建天泉教育科技有限公司 一种基于机器学习的自动化测试方法及终端
CN108763068A (zh) * 2018-05-15 2018-11-06 福建天泉教育科技有限公司 一种基于机器学习的自动化测试方法及终端
CN109102496A (zh) * 2018-07-10 2018-12-28 武汉科技大学 基于变分生成对抗模型识别乳腺肿瘤区域的方法及装置
CN109214408A (zh) * 2018-07-10 2019-01-15 武汉科技大学 基于生成对抗模型识别肝肿瘤的方法及装置
CN109324969A (zh) * 2018-09-27 2019-02-12 平安普惠企业管理有限公司 测试报告的生成方法、装置、计算机设备及存储介质
CN109547320A (zh) * 2018-09-29 2019-03-29 阿里巴巴集团控股有限公司 社交方法、装置及设备
CN109547320B (zh) * 2018-09-29 2022-08-30 创新先进技术有限公司 社交方法、装置及设备
CN109359043A (zh) * 2018-10-08 2019-02-19 广州云测信息技术有限公司 一种基于机器学习的移动游戏自动化测试方法
CN109359043B (zh) * 2018-10-08 2022-03-29 北京云测信息技术有限公司 一种基于机器学习的移动游戏自动化测试方法
CN109816005A (zh) * 2019-01-18 2019-05-28 北京智游网安科技有限公司 基于cnn的应用程序行业分类方法、存储介质及终端
CN109816005B (zh) * 2019-01-18 2021-08-03 北京智游网安科技有限公司 基于cnn的应用程序行业分类方法、存储介质及终端
CN109871326A (zh) * 2019-02-13 2019-06-11 广州云测信息技术有限公司 一种脚本录制的方法和装置
CN109871326B (zh) * 2019-02-13 2022-03-15 北京云测信息技术有限公司 一种脚本录制的方法和装置
CN109977011A (zh) * 2019-03-18 2019-07-05 平安普惠企业管理有限公司 测试脚本的自动生成方法、装置、存储介质及电子设备
CN112578979A (zh) * 2020-12-28 2021-03-30 中国建设银行股份有限公司 操作脚本的生成方法、装置、可读介质以及设备
CN113791781A (zh) * 2021-09-09 2021-12-14 南京大学 一种基于图神经网络的界面功能场景划分方法和装置
CN113791781B (zh) * 2021-09-09 2023-07-18 南京大学 一种基于图神经网络的界面功能场景划分方法和装置

Also Published As

Publication number Publication date
CN107608877B (zh) 2021-04-09

Similar Documents

Publication Publication Date Title
CN107608877A (zh) 一种基于机器学习的自动化应用程序界面测试方法和测试系统
CN107291822B (zh) 基于深度学习的问题分类模型训练方法、分类方法及装置
CN107391383A (zh) 一种应用程序界面的测试方法和测试系统
Villán Mastering OpenCV 4 with Python: a practical guide covering topics from image processing, augmented reality to deep learning with OpenCV 4 and Python 3.7
CN110069709B (zh) 意图识别方法、装置、计算机可读介质及电子设备
CN112819686B (zh) 基于人工智能的图像风格处理方法、装置及电子设备
CN113011186B (zh) 命名实体识别方法、装置、设备及计算机可读存储介质
CN103838566A (zh) 信息处理装置和信息处理方法
CN112801146B (zh) 一种目标检测方法及系统
CN106959998B (zh) 一种试题推荐方法及装置
CN111079658A (zh) 基于视频的多目标连续行为分析方法、系统、装置
CN112364851B (zh) 一种自动调制识别方法、装置、电子设备及存储介质
KR102103511B1 (ko) 코드 생성 장치 및 방법
CN111954250A (zh) 一种轻量级Wi-Fi行为感知方法和系统
CN104679967B (zh) 一种判断心理测试可靠性的方法
CN112948575A (zh) 文本数据处理方法、装置和计算机可读存储介质
Schneider et al. Explaining classifiers by constructing familiar concepts
CN109685104B (zh) 一种识别模型的确定方法和装置
Sermuga Pandian et al. UISketch: a large-scale dataset of UI element sketches
Campbell et al. Feature discovery by deep learning for aesthetic analysis of evolved abstract images
Chen et al. Exploring gradient-based multi-directional controls in gans
NR et al. A Framework for Food recognition and predicting its Nutritional value through Convolution neural network
Brunke et al. Evaluating input perturbation methods for interpreting CNNs and saliency map comparison
Liu et al. An anomaly detection method based on double encoder–decoder generative adversarial networks
CN107135402A (zh) 一种识别电视台图标的方法及装置

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
CB02 Change of applicant information

Address after: Room 109, building 2, No. 608, shengxia Road, Pudong New Area, Shanghai, 201203

Applicant after: SHANGHAI WEIQING INFORMATION TECHNOLOGY Co.,Ltd.

Address before: Room 1110, building 1, Shihe business center, 2277 lane, Zuchongzhi Road, Pudong New Area, Shanghai, 200120

Applicant before: SHANGHAI WEIQING INFORMATION TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 702, building D, 666 shengxia Road, Pudong New Area, Shanghai, 201203

Applicant after: SHANGHAI WEIQING INFORMATION TECHNOLOGY Co.,Ltd.

Address before: Room 109, building 2, No. 608, shengxia Road, Pudong New Area, Shanghai, 201203

Applicant before: SHANGHAI WEIQING INFORMATION TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant