Android应用GUI并行测试技术研究
发布时间:2021-09-30 23:33
目前Android商业应用变得越来越庞大,通常具有上百个Activity,并且其GUI也变得愈加复杂,这给测试这类应用带来挑战。现有的自动化测试技术主要关注于提高测试的覆盖率,它们会采用启发式策略或者机器学习算法来指导测试,以达到提高测试覆盖率的目的。然而面对商业应用,这些测试工具往往需要耗费大量时间才能完成对于应用的测试,无法在短时间内给出测试结果以应对具有上线压力的应用。针对现有工具上述局限,我们受并行计算概念的启发,提出在多台测试设备上采用并行测试的方法完成对一个应用的测试,从而提升应用测试的效率,缩短测试耗费的时间。具体而言,本文工作主要包括:1.提出了以Activity为粒度的并行测试技术。该技术将应用的每个Activity划分为一个测试任务,并行地在多台设备上探索这些Activity,以达到并行测试的目的。所有任务通过一个优先级队列进行调度,同时,还采用了路径简化和widget模糊匹配方法来提高重放的效率。2.鉴于以Activity为粒度的并行测试技术需要执行大量的重放,影响测试效率,因此对其加以改进,提出了以GUI子树为粒度的并行测试技术。GUI子树中的每个节点是应用的一...
【文章来源】:南京大学江苏省 211工程院校 985工程院校 教育部直属院校
【文章页数】:90 页
【学位级别】:硕士
【部分图文】:
图3-2:?Activity隔离示意图??
最终又回到了这个状态,那么这两个相同状态之间的动作事件都是无用的??冗余的,可以将其去除而不影响重放事件序列到达目标Activity。??如图3-3所示,该应用现在所处页面包含三个Tab按钮,初始时应用处于??
widgetlD,那么这个widget就;所要找的小?件丨I标。然而,可能会出现应川状??态不一致的情况,这样的不一致可能会导致组件在GU丨树中信息的改变,尤其??是组件的index信息。如图3-4,在重放时,页面没有加载完成,出现了提示正??在加载的LoadingView,导致之后的所有组件的index都出现了偏移,这样的??偏移会直接导致定位事件目标失败。为了提高事件目标匹配的鲁棒性,我们提??出widget模糊匹配的方法。??经过我们的观察,这种加载不完全或者页面动画变动,往往导致组件??的index的偏移,最终导致事件目标匹配的失败。因此我们将index的匹配??从widgetlD中分离出来,我们首先匹配classname以及resourceld,GU丨树中??的组件想要勻事件吕标匹配,符先耑要W件丨丨标拉打相同的classname和??resourceld,我们称之为具有相同的结构,即从GU1树的根节点开始到目标组??件
本文编号:3416839
【文章来源】:南京大学江苏省 211工程院校 985工程院校 教育部直属院校
【文章页数】:90 页
【学位级别】:硕士
【部分图文】:
图3-2:?Activity隔离示意图??
最终又回到了这个状态,那么这两个相同状态之间的动作事件都是无用的??冗余的,可以将其去除而不影响重放事件序列到达目标Activity。??如图3-3所示,该应用现在所处页面包含三个Tab按钮,初始时应用处于??
widgetlD,那么这个widget就;所要找的小?件丨I标。然而,可能会出现应川状??态不一致的情况,这样的不一致可能会导致组件在GU丨树中信息的改变,尤其??是组件的index信息。如图3-4,在重放时,页面没有加载完成,出现了提示正??在加载的LoadingView,导致之后的所有组件的index都出现了偏移,这样的??偏移会直接导致定位事件目标失败。为了提高事件目标匹配的鲁棒性,我们提??出widget模糊匹配的方法。??经过我们的观察,这种加载不完全或者页面动画变动,往往导致组件??的index的偏移,最终导致事件目标匹配的失败。因此我们将index的匹配??从widgetlD中分离出来,我们首先匹配classname以及resourceld,GU丨树中??的组件想要勻事件吕标匹配,符先耑要W件丨丨标拉打相同的classname和??resourceld,我们称之为具有相同的结构,即从GU1树的根节点开始到目标组??件
本文编号:3416839
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3416839.html