• Home
  • Search
  • Scripted GUI testing of Android open-source apps: evolution of test code and fragility causes
  • Cite Icon23
  • https://doi.org/10.1007/s10664-019-09722-9Copy DOI Icon

Scripted GUI testing of Android open-source apps: evolution of test code and fragility causes

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

Evidence from empirical studies suggests that mobile applications are not thoroughly tested as their desktop counterparts. In particular, GUI testing is generally limited. Like web-based applications, mobile apps suffer from GUI testing fragility, i.e., GUI test classes failing or needing interventions because of modifications in the AUT or in its GUI arrangement and definition. The objective of our study is to examine the diffusion of test classes created with a set of popular GUI Automation Frameworks for Android apps, the amount of changes required to keep test classes up to date, and the amount of code churn in existing test suites, along with the underlying modifications in the AUT that caused such modifications. We defined 12 metrics to characterize the evolution of test classes and test methods, and a taxonomy of 28 possible causes for changes to test code. To perform our experiments, we selected six widely used open-source GUI Automation Frameworks for Android apps. We evaluated the diffusion of the tools by mining the GitHub repositories featuring them, and computed our set of metrics on the projects. Applying the Grounded Theory technique, we then manually analyzed diff files of test classes written with the selected tools, to build from the ground up a taxonomy of causes for modifications of test code. We found that none of the considered GUI automation frameworks achieved a major diffusion among open-source Android projects available on GitHub. For projects featuring tests created with the selected frameworks, we found that test suites had to be modified often – specifically, about 8% of developers’ modified LOCs belonged to test code and that a relevant portion (around 50% on average) of those modifications were induced by modifications in GUI definition and arrangement. Test code written with GUI automation fromeworks proved to need significant interventions during the lifespan of a typical Android open-source project. This can be seen as an obstacle for developers to adopt this kind of test automation. The evaluations and measurements of the maintainance needed by test code wrtitten with GUI automation frameworks, and the taxonomy of modification causes, can serve as a benchmark for developers, and the basis for the formulation of actionable guidelines and the development of automated tools to help mitigating the issue.

Similar Papers
  • Book Chapter
  • Citations13

Chapter 6 - Trends in Model-based GUI Testing

  • Jan 01, 2012
  • Advances In Computers
  • Stephan Arlt +3
  • Conference Article
  • Citations2

Ukwikora: continuous inspection for keyword-driven testing

  • Jul 10, 2019
  • Renaud Rwemalika +4
  • Research Article
  • Citations4

An Exploratory Study of Automated GUI Testing: Goals, Issues, and Best Practices

  • Apr 11, 2014
  • PRISM (University of Calgary)
  • Theodore D Hellmann +5
  • Conference Article
  • Citations2

Accelerating Automated Android GUI Exploration with Widgets Grouping

  • Dec 01, 2018
  • Chun Cao +5
  • Conference Article
  • Citations11

On Adequacy of Assertions in Automated Test Suites: An Empirical Investigation

  • Mar 01, 2013
  • Junji Zhi +1
  • Conference Article
  • Citations9

Enhancing the Automation of GUI Testing

  • Apr 09, 2019
  • M Medhat Kamal +2
  • Conference Article
  • Citations3

Translation from Visual to Layout-based Android Test Cases: a Proof of Concept

  • Aug 05, 2020
  • Riccardo Coppola +3
  • Research Article
  • Citations6

Understanding the effect of time-constraint bounded novel technique for regression test selection and prioritization

  • Feb 25, 2014
  • International Journal of System Assurance Engineering and Management
  • Bharti Suri +1
  • Conference Article
  • Citations8

Does Refactoring Break Tests and to What Extent?

  • Sep 01, 2021
  • Yutaro Kashiwa +6
  • Conference Article
  • Citations18

Mutode: generic JavaScript and Node.js mutation testing tool

  • Jul 12, 2018
  • Diego Rodríguez-Baquero +1
  • Conference Article

How Weak Reference is Used in Java Projects?

  • Dec 01, 2020
  • Yoshiki Higo +3
  • Book Chapter

Regression Checking of Changes in C Software

  • Jan 01, 2015
  • Fabrizio Pastore +6
  • Research Article
  • Citations1

Hybrid Data Approach for Selecting Effective test Cases During the Regression Testing

  • Jan 01, 2017
  • International Journal on Smart Sensing and Intelligent Systems
  • M Mohan +1
  • Research Article
  • Citations8

Regression Test Reduction for Object-Oriented Software: A Control Call Graph Based Technique and Associated Tool

  • Apr 11, 2013
  • ISRN Software Engineering
  • Nicolas Frechette +2
  • Research Article
  • Citations9

A Taxonomy of Information Attributes for Test Case Prioritisation: Applicability, Machine Learning

  • Jan 31, 2023
  • ACM Transactions on Software Engineering and Methodology
  • Aurora Ramírez +2
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.