一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于深度图像理解的移动应用跨平台强化学习遍历测试技术的制作方法

2022-03-05 06:07:39 来源:中国专利 TAG:


1.本发明属于软件测试领域。对提供的移动应用进行自动化遍历测试,在前端通过对截图进行图像理解抽取信息,底层通过深度强化学习方法更新探索策略,生成测试输入,最终达到检测移动应用质量、发现漏洞的目的。


背景技术:

2.随着近年来互联网以及电子设备的快速发展,人们对于互联网的依赖逐步增强。移动应用已经关系到社会生活的方方面面,在互联网快速发展的大背景下,不同平台的移动应用都在迅速更新迭代。但在这样的情况下,移动应用的质量难以得到保障,因此针对移动应用的测试技术成为了当前学术界和工业界的重要热点问题。
3.而在移动应用的测试方法中,自动遍历测试是自动化测试中常见的测试种类之一,它通过尽可能多地覆盖移动应用的场景达到检测移动应用质量、发现漏洞的目的。目前主流的自动遍历测试包括随机探索策略、基于模型的探索策略。随机探索策略在每个状态下产生随机事件作为当前状态的输入以实现状态转移,虽然目前被广泛应用,但其没有利用探索过程中得到的信息增益,往往产生无效的事件与重复的探索,故无法在有限时间内达到高效的页面覆盖。基于模型的方法利用先验知识构造软件对应的状态转移模型从而生成测试用例,但其对模型的依赖性很高,模型的好坏很大程度上决定了测试的有效性,同时该方法有很强的局限性,不具有好的泛化性能。
4.与此同时,已有的测试输入生成的技术基本都依赖于平台特性:平台会提供一些接口供测试者获取信息。但由于接口跟平台直接相关,无法在平台之间通用,自动遍历测试的成本因此会有所提升。我们希望能够降低这一不必要的成本提升,提高自动遍历测试技术的平台通用性。目前大多数软件都是通过gui界面与用户进行交互的,一种主流的自动遍历测试技术也是基于此,将gui界面内容作为依据进行测试;一种通过移动应用的页面截图进行理解,自动生成众包测试缺陷报告的技术也被提出。同时,在最新的技术中,强化学习初步被应用于借助gui界面的自动遍历测试技术中。通过与环境不断交互,利用环境对行动的反馈,进行序列行动决策上的优化,实现对状态空间的大范围覆盖。而强化学习策略在软件测试的环境下能够充分发挥其优势,恰当地对行为进行反馈可以不断优化探索决策过程,克服传统自动化测试探索策略覆盖率不足的缺点,实现对页面大范围、全方位的覆盖。在移动应用测试领域,已有一些研究者进行了一些工作,但仍未解决平台通用性的问题。
5.基于上述工作,本发明深度挖掘了在移动应用的界面图像中蕴含着的丰富直观的信息,充分发挥了强化学习在探索任务上的优势。基于已有的研究成果,将相应的图像处理理解技术以及强化学习方法进行总结,修改,并添加新的技术方法,将其应用于移动应用程序界面图像中的控件识别与图像理解,以及测试过程中的页面探索,从而自动化地生成测试输入。


技术实现要素:

6.本发明要解决的问题是:移动应用的自动化测试技术无法捕获h5页面嵌入和canvas中的内容,导致测试整体效果欠佳。我们的发明能够通过理解移动应用运行时捕获截屏中包含的信息,对应调整测试的探索策略,解决页面信息捕获的问题。
7.本发明的技术方案为:一种基于深度图像理解的移动应用跨平台强化学习遍历测试技术,其特征是能够根据用户给定的可执行apk文件生成一份测试报告。该生成方法包含一下三个模块:
8.1)交互模块:对apk运行中的状态进行截屏捕获,供图像理解模块使用,另外会在apk中执行强化学习模块选择出的动作。本部分采用adb命令行进行交互。
9.2)图像理解模块:对测试过程中捕获的截屏页面进行理解,识别并生成该页面下的控件树以及其对应的动作空间,分别产生状态特征向量和动作特征向量作为强化学习模块的状态空间和动作空间。本部分的特征提取采用ocr和canny边缘检测,将应用界面中的文字部分和图形控件识别出来并构造该截屏对应的控件树,树的每个节点都对应一个控件,生成控件对应的可交互动作,构成该控件树的整体动作空间后使用cnn提取其动作特征向量。采用lstm循环神经网络,将控件树作为输入,转换为状态特征向量输出。
10.3)强化学习模块:将图像理解模块得到的状态特征向量和动作特征向量分别作为强化学习的状态空间和动作空间,将其输入dqn神经网络并输出一个神经网络选择的交互动作,采用ε-greedy策略对选择最终执行的交互动作由交互模块执行,新捕获的截屏在由图像理解模块进行特征提取后会被与此前的状态与行为一同当作奖励函数的输入并获得对应奖励。状态-动作空间和其奖励值会被用于经验回放,存入replay memory中,replay memory会定期选择一批样本用于实时更新dqn神经网络。
11.本发明特点在于:
12.1.首次将图像理解应用于移动应用测试里强化学习策略的状态捕获
13.2.首次将dqn应用于移动应用测试
附图说明
14.图1为本发明实施流程图。
15.图2为交互模块流程图。
16.图3为图像理解模块流程图。
17.图4为强化学习模块流程图。
具体实施方式
18.下面对本发明的实施方式进行说明,本领域的技术人员可由本说明书揭露的内容轻易地了解到本发明的其他优点和功效。
19.本专利实现了基于深度图像理解的移动应用跨平台强化学习遍历测试,主要采用了图像理解技术与深度强化学习技术。涉及到的具体关键技术有canny技术,ocr技术,孪生神经网络,循环神经网络(rnn),deep q-network(dqn)等1、控件隔离分析
20.在本发明中,我们使用canny技术来对应用截图进行分割,提取出图像中每一个单独的控件进行分析。canny边缘检测算法首先应用高斯滤波来平滑图像以去除噪声;其次找
寻图像的强度梯度;接着应用非最大抑制技术来消除边误检;然后应用双阈值的方法来决定可能的边界;最后利用滞后技术来跟踪边界。
21.2、识别文本信息
22.在本发明中我们采用ocr技术来识别应用截图中控件上所存在的丰富的文本信息。ocr是指电子设备(例如扫描仪或数码相机)检查打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。
23.3、界面特征提取
24.在本发明中,我们采用循环神经网络(rnn),将控件隔离分析与文本识别得到的信息,进一步通过group,line,column操作获取当前页面控件的坐标位置信息,生成控件树。以控件树作为输入,转换为特征向量输出,循环神经网络是一类以序列数据为输入,在序列的演进方向进行递归且所有节点(循环单元)按链式连接的递归神经网络。循环神经网络具有记忆性、参数共享并且图灵完备,因此在对序列的非线性特征进行学习时具有一定优势。
25.4、界面特征区分
26.在本发明中,我们采用孪生神经网络架构,以两个控件树的编辑距离作为标签,将界面特征提取中lstm对两个控件树的输出计算曼哈顿距离作为输出,计算损失,进行反向传播。孪生神经网络由两个共享参数的神经网络构成,将两个输入分别传入共享参数的神经网络中,映射到新的空间,形成输入在新的空间的表示,通过loss的计算,评价两个输入的相似度。
27.5、动作特征提取
28.在本发明中,我们采用卷积神经网络对可执行动作进行特征提取,将控件动作转化为一个特征向量。卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络。卷积神经网络具有表征学习能力,能够按其阶层结构对输入信息进行平移不变分类。卷积神经网络仿造生物的视知觉机制构建,可以进行监督学习和非监督学习,其隐含层内的卷积核参数共享和层间连接的稀疏性使得卷积神经网络能够以较小的计算量对格点化特征。
29.6、强化学习探索
30.在本发明中,我们采用deep q-network方法。通过对界面特征提取得到特征向量分别作为状态与动作的输入,输出对应的含discount factor的预测累计奖励,进一步根据boltzmann概率采样执行动作。dqn利用深度神经网络拟合q函数,通过目标网络、经验回放等方法实现更新,指导探索策略。其通过经验回放结合奖励函数设置,解决了数据的相关性,非静态分布等问题,目标网络的引入也提高了稳定性。
31.7、奖励函数设置
32.在本发明中,我们采用curiosity-driven的奖励设置。其中a
t
表示t时刻页面可执行动作,b
t
表示t时刻页面已执行动作,n
t
表示t时刻,状态转移(s
t
,a
t
,s
t 1
)发生次数。在dqn更新时,通过该奖励函数实现对页面探索倾向性的更新。
33.本发明的基于深度图像理解的移动应用跨平台强化学习遍历测试技术主要包括:
34.交互模块:根据用户给定的可执行apk文件,通过本工具运行,与之产生交互,生成执行序列。
35.深度图像理解模块:利用截屏编码器(包括控件隔离分析,界面特征提取等)对应
用当前界面截图并分析,分别生成状态和可执行动作编码后的特征下向量
36.强化学习探索模块:在记录图像理解模块编码得到的特征向量与页面转移等信息的同时,实时反向传播更新deep q-network,指导探索策略,实现对页面大范围、全方位的覆盖。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献