AVGUST: A Tool for Generating Usage-Based Tests from Videos of App Executions
by Saghar Talebipour, Hyojae Park, Kesina Baral, Leon Yee, Safwat Ali Khan, Kevin Moran, Yuriy Brun, Nenad Medvidovic, Yixue Zhao
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 Avgust tool for automating the construction of usage-based tests for mobile apps. Avgust learns 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 Avgust on 374 videos of use cases from 18 popular apps and found that it can successfully exercise the desired usage in 69% of the tests. Avgust is an open-source tool available at https://github.com/felicitia/UsageTesting-Repo/tree/demo/. A video illustrating the capabilities of Avgust can be found at: https://youtu.be/LPICxVd0YAg.

Citation:
Saghar Talebipour, Hyojae Park, Kesina Baral, Leon Yee, Safwat Ali Khan, Kevin Moran, Yuriy Brun, Nenad Medvidovic, and Yixue Zhao, AVGUST: A Tool for Generating Usage-Based Tests from Videos of App Executions, in Proceedings of the Demonstrations Track at the 45th International Conference on Software Engineering (ICSE), 2023, pp. 83–87.
Bibtex:
@inproceedings{Talebipour23icse-demo,
  author = {Saghar Talebipour and Hyojae Park and Kesina Baral and Leon Yee and 
            Safwat Ali Khan and Kevin Moran and Yuriy Brun and Nenad Medvidovic and 
			Yixue Zhao},
  title =
  {\href{http://people.cs.umass.edu/brun/pubs/pubs/Talebipour23icse-demo.pdf}{{AVGUST}: 
  {A} Tool for Generating Usage-Based Tests from Videos of App Executions}},
  booktitle = {Proceedings of the Demonstrations Track at the 45th International Conference on Software Engineering (ICSE)},
  venue = {ICSE Demo},
  address = {Melbourne, Australia},
  month = {May},
  date = {14--20},
  pages = {83--87},
  year = {2023},
  accept = {$\frac{38}{80} \approx 48\%$},
  
  note = {\href{https://doi.org/10.1109/ICSE-Companion58688.2023.00030}{DOI: 10.1109/ICSE-Companion58688.2023.00030}}, 
  doi = {10.1109/ICSE-Companion58688.2023.00030},

  abstract = {<p>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 Avgust tool for automating the construction of usage-based tests
  for mobile apps. Avgust learns 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 Avgust on 374 videos of
  use cases from 18 popular apps and found that it can successfully exercise
  the desired usage in 69% of the tests. Avgust is an open-source tool
  available at https://github.com/felicitia/UsageTesting-Repo/tree/demo/. A
  video illustrating the capabilities of Avgust can be found at:
  https://youtu.be/LPICxVd0YAg.</p>},

  fundedBy = {NSF CCF-1763423, NSF CCF-1955853, NSF CCF-2210243, 
  NSF CCF-2106871, NSF CCF-2030859 (CIFellows)},
}