[发明专利]一种基于强化学习的Android应用自动测试方法及系统有效
申请号: | 201911402274.2 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111008154B | 公开(公告)日: | 2021-09-28 |
发明(设计)人: | 潘敏学;黄安;张天;李宣东 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N20/00 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 张苏沛 |
地址: | 210023 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 强化 学习 android 应用 自动 测试 方法 系统 | ||
本发明公开一种基于强化学习的Android应用自动测试方法及系统,在测试过程中,自动测试工具自动运行Android APK,获取当前界面控件布局情况并推测出可执行交互事件,采用Q‑learning算法,交互事件第一次被探索到时会有一个初始价值,自动测试工具依据交互事件价值选择并执行交互事件。每次执行交互事件后都会产生一个奖赏对交互事件的价值进行更新。奖赏给定主要以新状态与过往状态的差异为判定标准。本发明引入神经网络对状态进行比较,可以判定两状态是否处在同一功能场景。基于该神经网络判定结果给定的奖赏,可以引导自动测试工具优先对Android应用中的各个场景进行探索,以此提升测试效率,同时发现更多代码中存在的缺陷。
技术领域
本发明涉及Android应用自动测试,具体涉及一种基于强化学习的Android应用自动测试方法及系统。
背景技术
随着智能手机的普及,移动应用给我们的生活带来了巨大的变化。然而,由于状态空间大等问题,对移动应用进行较完善测试需要耗费大量的人力和时间,这种需求在如今各大互联网公司快速推出应用快速版本迭代的情况下难以被满足。因此,针对移动的自动测试工具,尤其是高效的自动测试工具具有重要价值。其中Android系统在移动端操作系统中占比达到70%以上,因此,针对Android应用进行自动测试显得尤为重要。
目前已有一些面向Android应用的自动测试方法,但实践证明它们的效果仍然有待提升。以Monkey等为代表的随机自动测试工具采用伪随机数的方式生成交互事件,随机点击屏幕上的区域进行测试。这种方式会产生大量冗余的无用数据,影响测试效率。同时因为缺少有效探索策略或者探索策略过于简单,导致测试不均匀,一些较容易到达的界面被过度测试,而另外一些界面测试不充分。
以Stoat等为代表的基于模型的自动测试工具首先利用静态或者动态分析的方式构建模型对Android应用的行为进行描述。然后基于模型生成测试用例对应用进行自动测试。因为Android应用的行为十分灵活,静态或动态分析得到的模型往往不能完全准确地描述应用的行为,如果模型与应用的真实行为存在偏差,生成的测试用例就不能对应用进行有效测试。
以Sapienz、ACTEve等为代表的系统测试工具利用符号执行和进化算法生成特定的测试用例对Android应用进行测试。这类方法受限于符号执行等技术,在对特定代码进行覆盖的场景中表现良好,不适用于要求整体代码覆盖率的场景。
发明内容
为解决现有技术中存在的不足,本发明的目的是:提供一种基于强化学习的Android应用自动测试方法和系统,结合了随机测试和基于模型测试的优点。通过记录Android应用的部分行为信息来更好地指导测试,同时不完全依赖于模型,避免了模型与应用真实行为不一致带来的问题。
为了实现上述目的,本发明采用的技术方案为:一种基于强化学习的Android应用自动测试方法,包括以下步骤:
S1:在Android虚拟机或者物理机上自动运行APK;
S2:获取Android应用当前的控件布局情况;
S3:推测可执行的用户交互事件;
S4:选择当前状态下价值最高的动作进行执行;
S5:采用神经网络将新状态与过往的部分状态进行比较,并以此给定奖赏;
S6:对被执行事件的价值进行更新;
S7:判定当前界面是否跳转到被测应用以外的状态;
S8:重复执行S2~S7,直到达到设定的测试时长;
S9:得到覆盖度文件、缺陷相关信息文件并计算得到覆盖度随时间变化的曲线。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911402274.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于铝铸轧生产的石墨喷涂装置
- 下一篇:一种顶棚伸缩定位结构及工程机械