With the prosperity of mobile apps, quality assurance of mobile apps becomes crucially important. Automated mobile User Interface (UI) testing had arisen as a key technique for app quality assurance. However, despite years of efforts, existing mobile UI testing techniques still cannot achieve high code coverage, especially for industrial-quality apps. To substantially improve the efficacy of mobile UI testing, we investigate state-of-the-art techniques and find a fundamental limitation--each testing technique attempts to apply one predefined strategy to explore the UI space of all mobile apps. However, we observe that different UI design characteristics require customized UI exploration strategies in practice. With this finding in mind, in this paper, we propose a new direction for mobile UI testing--automatic customization of UI exploration strategies for each app under test. As a first step in this direction, we target ineffective exploration behavior, which refers to cases where UI testing tools fail to make progress effectively. We present Vet as a general framework for applying the idea of trace analysis on UI testing history to identify ineffective exploration behavior for a given UI testing tool on a given app. Vet embraces specialized algorithms for speculating subsequences in the trace that manifest ineffective exploration behavior of UI space exploration. Vet then enables enhancing the testing tool by guiding the exploration to avoid ineffective exploration. We evaluate Vet by applying it to three state-of-the-art Android UI testing tools. Vet locates ineffective exploration behaviors that reveal various tool-app applicability issues hindering testing efficacy. Vet automatically fixes the applicability issues and achieves up to 46.8% code coverage relative improvements on 11 of 15 industrial-quality apps under evaluation.
翻译:随着移动应用程序的繁荣,移动应用程序的质量保证就变得至关重要。自动移动用户界面(UI)测试已成为软件质量保证的关键技术。然而,尽管做了多年的努力,现有的移动用户界面测试技术仍然无法达到高代码覆盖,特别是工业质量应用程序。为了大幅提高移动界面测试的功效,我们调查了最新技术,并找到了一种根本性的限制级测试技术,试图采用一种预先界定的战略来探索所有移动应用程序的UI空间。然而,我们观察到,不同的用户界面设计特征要求在实践中采用定制的用户界面勘探战略。考虑到这一发现,在本文中,我们提出了一个新的方向,即移动用户界面测试测试-对每个正在测试中的应用程序自动定制UI的勘探战略,仍然无法达到高代码覆盖。我们首先针对无效的勘探行为,即UIA测试工具无法有效取得进展的案例。我们把Vet作为应用各种用户界面测试历史的追踪分析概念的一个通用框架,以识别在给定的用户界面的准确度测试工具上实现无效的勘探行为。我们发现,在给定值范围上,在本文中,我们发现,我们发现,在使用该选项上,我们提出了一个新的定义,在测试中,在测试中,在测试中,在测试中,在测试中,通过Se-Ve-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-tal-e-e-e-e-e-e-e-e-tal-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-tal-tal-e-e-t-t-t-a-e-e-e-t-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e-e