基于android的在线地图的轨迹跟踪服务的设计与实现源代码_Humanoid:一种基于深度学习的 Android 自动化黑盒测试方法...

f799cc35c5da256e2030142583ad199b.png

摘要

自动化的输入生成器必须不断选择要与之交互的 UI 元素以及与之交互的方式,以便在有限的时间预算内实现较高的覆盖率。当前,大多数黑盒输入生成器都采用伪随机或蛮力搜索的策略,这可能需要很长时间才能找到正确的输入组合,从而将应用程序带入新的重要状态。我们提出了 Humanoid,这是一种基于深度学习的自动化黑盒 Android 应用测试工具。 Humanoid 的关键技术是一个深度神经网络模型,该模型可以了解人类用户如何与应用程序的 GUI 交互,从而从人类交互轨迹中选择动作。然后,可以将学习到的模型用于指导测试输入生成,以实现更高的覆盖率。通过在开源应用程序和市场应用程序上进行的实验表明,与最新的测试输入生成器相比,Humanoid 能够达到更高的覆盖范围,并且速度更快。Humanoid 在https://github.com/yzygitzh/Humanoid是开源的,演示视频可以在https://youtu.be/PDRxDrkyORs上找到。

索引词-软件测试,自动测试输入生成,图形用户界面,深度学习,移动应用程序,Android

I 简介

近年来,移动应用程序(简称应用程序)已得到广泛应用。这些应用在发布之前需要经过充分的测试。但是,由于发布周期快和人力资源有限,很难在短时间内手动构建测试用例。为此,学术界和工业界都对移动应用程序的自动测试输入生成器进行了广泛的研究。

测试输入生成器的有效性通常通过其测试覆盖率来衡量。因此,自动化测试输入生成器成功的关键是为给定的 UI(测试期间的当前 UI)选择正确的交互,以使所选的交互可能达到新的重要 UI 状态,从而在有限的时间预算内获得更高的覆盖率。因为机器很难理解 GUI 布局和 GUI 元素中的内容,所以很难确定要单击哪个按钮或应该输入什么按钮。因此,大多数现有的测试生成器均使用随机策略来决定与哪个 GUI 元素交互以及如何交互。尽管还可以进一步优化随机策略,但是它具有固有的局限性,因此很难选择一个有效的方法来查找可以在短时间内将应用程序驱动到重要状态的交互。

4aa7150a4a922da65037fd7403f256c7.png

图 1 人形机器人如何选择测试输入的说明。 左侧是 AUT 当前 UI 的屏幕截图,右侧列举了 UI 状态下最可能的交互。人型机器人根据从人机交互跟踪中学习的模型来计算每个动作的概率。 概率表示人形机器人将动作选择为测试输入的可能性。

与随机输入生成器相反,人类测试人员可以轻松识别值得与之交互的 UI 元素,即使

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值