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

被引:0
作者
Riccardo Coppola
Maurizio Morisio
Marco Torchiano
Luca Ardito
机构
[1] Politecnico di Torino,Department of Computer and Automation Engineering
来源
Empirical Software Engineering | 2019年 / 24卷
关键词
Mobile development; Automated software testing; GUI testing; Software evolution; Software maintenance;
D O I
暂无
中图分类号
学科分类号
摘要
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.
引用
收藏
页码:3205 / 3248
页数:43
相关论文
共 37 条
[1]  
Alégroth E(2015)Visual gui testing in practice: challenges, problemsand limitations Empir Softw Eng 20 694-744
[2]  
Feldt R(2015)Mobiguitar: automated model-based testing of mobile apps IEEE software 32 53-59
[3]  
Ryrholm L(1990)Grounded theory research: procedures, canons, and evaluative criteria Qual Sociol 13 3-21
[4]  
Amalfitano D(2014)Mobile application testing: a tutorial Computer 47 46-55
[5]  
Fasolino AR(2016)Developing, verifying, and maintaining high-quality automated test scripts IEEE Softw 33 68-75
[6]  
Tramontana P(1968)The discovery of grounded theory; strategies for qualitative research Nurs Res 17 364-507
[7]  
Ta BD(2015)Review of mobile applications testing with automated techniques Int J Adv Res Comput Commun Eng 4 503-5
[8]  
Memon AM(2008)Automatically repairing event sequence-based gui test suites for regression testing ACM Trans Softw Eng Methodol (TOSEM) 18 4-3531
[9]  
Corbin JM(2012)Testing android apps through symbolic execution ACM SIGSOFT Software Engineering Notes 37 1-3630
[10]  
Strauss A(2014)Software testing automation using appium International Journal of Current Engineering and Technology 4 3528-147