如何利用
深度学习实现移动应用程序自动化
移动应用程序已经在数字化方面留下了印记。Google Play商店和Apple Store中已经有大量应用程序。如今几乎所有内容都有应用程序。但是,随着移动应用程序市场的扩展,它们面临着新的挑战和需要克服的障碍。
深度学习是人工智能的辅助技术。它使用算法来解析数据并提供对应用程序及其问题的深入了解。通常,时间限制和截止日期的压力会使开发人员变得更好,并且不允许开发人员或更高级别的管理层在盛大发布之前正确地测试应用程序,在这里深度学习可以帮助自动化移动应用程序的测试和部署。
用户和系统之间的交互通过GUI(图形用户界面)得以促进。特别地,交互可以包括点击,滚动或将文本输入到GUI元素中,诸如按钮,图像或文本块。输入生成器可以为多个测试产生交互,
人形系统:
类人系统趋向于通过自动化来测试应用程序,但仍使系统像人工测试器一样工作。它是一个自动化的GUI测试生成器,可以学习人类如何与移动应用程序进行交互,然后使用学习到的模型指导人类生成测试器。
此方法可以分为两个阶段:
离线阶段:
这是一个离线阶段,用于通过人工生成的交互跟踪来训练模型。深度
神经网络用于识别GUI(图形用户界面)与用户执行的交互之间的关系。GUI在当前UI中表示为可视信息。
交互表示为动作类型(触摸,滑动等)和动作的位置坐标。从大量的人机交互痕迹中学习后,Humanoid能够预测新用户界面的动作类型和动作位置的概率分布。由于UI被认为是应用程序开发中最重要的因素之一,因此企业希望聘用移动应用程序开发人员, 他们可以优化应用程序的UI,但是预测的分布用于预测与人类交互的每个UI元素。以及如何与之互动。
在线阶段:
在在线测试阶段,Humanoid为被测应用程序(AUT)构建了一个名为UI过渡图(UTG)的GUI模型。人型机器人使用GUI模型和交互模型来确定要发送的测试输入。UTG指导“人形生物”系统在浏览的UI之间导航,而交互模型指导新的Uis的浏览。
交互轨迹预处理:
为了训练用户交互模型,使用了具有人类交互轨迹的大型数据集,这是类人动物的关键组成部分。原始的人机交互轨迹就像是连续的运动事件流。
每个动作代表进入,移动和离开屏幕的光标的位置。由于动画和动态加载的内容,光标状态的变化是连续的。
模型学习:
它使用
机器学习算法从人机交互轨迹中学习人机交互模式。最终用户根据他们的需求和要求与应用程序进行交互。
他们通过GUI与应用程序进行交互。考虑到UI上下文向量,交互模型的输出是“动作”,很可能由处于当前状态的人类执行。该预测的“动作”是预期的类人动作的类型和位置的概率分布。
卷积层:
这是一种非常流行的图像特征提取方法。在涉及现实数据集的计算机视觉任务时,它被证明是非常有效的。输入的宽度和高度通过位于卷积层之后的stride-2最大合并层减少到一半。池层还帮助模型识别具有不同环境的相似特征的UI元素。
剩余的LSTM模块:
LSTM代表长期短期记忆,这是一个用于解决诸如视频分类或机器翻译之类的序列建模问题的网络。普通LSTM的输入和输出的最后维度是通过残差路径直接添加的,这种残差结构使神经网络优化更加容易。它还指导开发人员应该在UI元素内执行的操作的位置。
反卷积层:
该组件从残留LSTM模块的低分辨率输出中生成高分辨率概率分布。可以考虑使用诸如双线性内插,解卷积等选项来实现高分辨率概率分布。使用反卷积层是因为它比D插值方法更容易与DNN集成,并且更通用。
类人生物方法的好处:
对于大多数UI状态,类人动物可以将类人的行为排在前10%。
人形模型带给测试生成器的时间开销很小。
类人动物可以为超过50%的UI状态的人为操作分配最高的概率。
基于模型的测试工具可以为移动应用程序测试实现更好的测试性能。
无论是开源应用还是市场应用,它对两种类型的应用都非常有效。
局限性:
人形模型并不包括来自人机交互的所有输入。
对于某些应用,通过类人动物获得的覆盖率不到10%
人形模型尚未探索文本信息。
类人动物模型主要基于人与人之间的互动,避免了非人与人之间的互动。
结论:
随着与人工智能相关的技术将得到更多关注和研究支持,将出现高度先进的移动应用程序,这些应用程序可以改变我们看到智能手机的方式。随着人形机器人模型从人机交互中学习并提供概率分布,以渲染高度智能的应用程序,并为每个用户请求提供更多实时响应。与其他测试工具相比,它能够实现更高的测试覆盖率和更快的速度,因此可以自动化开源和市场应用程序的测试过程,从而节省了许多企业和公司的成本和时间。此外,使用机器学习算法可以使过程无错误。

关注 CDA人工智能学院 ,回复“录播”获取更多人工智能精选直播视频!