Avgust: A Tool for Generating Usage-Based Tests from Videos of App Executions

Published: 01 Jan 2023, Last Modified: 16 May 2025ICSE Companion 2023EveryoneRevisionsBibTeXCC BY-SA 4.0
Abstract: Creating UI tests for mobile applications is a difficult and time-consuming task. As such, there has been a considerable amount of work carried out to automate the generation of mobile tests-largely focused upon the goals of maximizing code coverage or finding crashes. However, comparatively fewer automated techniques have been proposed to generate a highly sought after type of test: usage-based tests. These tests exercise targeted app functionalities for activities such as regression testing. In this paper, we present the Avgusttool for automating the construction of usage-based tests for mobile apps. Avgustlearns usage patterns from videos of app executions collected by beta testers or crowd-workers, translates these into an app-agnostic state-machine encoding, and then uses this encoding to generate new test cases for an unseen target app. We evaluated Avguston 374 videos of use cases from 18 popular apps and found that it can successfully exercise the desired usage in 69% of the tests. Avgustis an open-source tool available at https://github.com/felicitia/UsageTesting-Repo/tree/demo. A video illustrating the capabilities of Avgustcan be found at: https://youtu.be/LPICxVd0YAg
Loading