· 2013
Guided GUI testing of android apps with minimal restart and approximate learning
- 321citations
- 2013year
Short summary
Swift-Hand, an automated GUI testing technique for Android apps, uses approximate learning and avoids app restarts to achieve significantly better state coverage than random or L*-based testing within a given time budget.
AI-generated from the title and abstract; the full text is not read.
Key points
- Swift-Hand automates Android app GUI testing by learning app models and generating inputs for unexplored states.
- The technique avoids restarting the app, a costly operation, to improve efficiency.
- It employs approximate learning, forgoing precise model accuracy to speed up test guidance.
- Experimental results demonstrate superior state coverage and faster peak coverage achievement compared to random and L*-based testing.
AI-generated from the title and abstract; the full text is not read.
Abstract
Smartphones and tablets with rich graphical user interfaces (GUI) are becoming increasingly popular. Hundreds of thousands of specialized applications, called apps, are available for such mobile platforms. Manual testing is the most popular technique for testing graphical user interfaces of such apps. Manual testing is often tedious and error-prone. In this paper, we propose an automated technique, called Swift-Hand, for generating sequences of test inputs for Android apps. The technique uses machine learning to learn a model of the app during testing, uses the learned model to generate user inputs that visit unexplored states of the app, and uses the execution of the app on the generated inputs to refine the model. A key feature of the testing algorithm is that it avoids restarting the app, which is a significantly more expensive operation than executing the app on a sequence of inputs. An important insight behind our testing algorithm is that we do not need to learn a precise model of an app, which is often computationally intensive, if our goal is to simply guide test execution into unexplored parts of the state space. We have implemented our testing algorithm in a publicly available tool for Android apps written in Java. Our experimental results show that we can achieve significantly better coverage than traditional random testing and L*-based testing in a given time budget. Our algorithm also reaches peak coverage faster than both random and L*-based testing.
The authors' abstract, as published at the source., 2013 · DOI ↗
Continue with a free account
Ask the paper: 3 free questions a day about this paper; save it, get its citation, new summaries every day for your field. Takeaways are Premium.
Continue free on the webSign in with Google or Apple; no card needed. You come back to this paper.
On your phone:
Field: Software
SoftwareComputer Science