ABSTRACT
In software testing, employing regression techniques is a viable strategy to deal with the complexity and the constant evolution of applications since its primary goal is to ensure that changes made between versions do not change the system’s behavior. Although the literature has dedicated efforts to developing new regression testing techniques suitable for the Android mobile platform, studies are limited concerning demonstrating which techniques software developers employ in practice. This study aims to report on a thematic synthesis of adopting regression testing techniques in Android projects. The research encompassed four stages: (i) conducting a structured literature review on regression testing techniques for the Android platform, (ii) carrying out an expert survey, (iii) conducting interviews with industry professionals, and (iv) building a thematic synthesis. The thematic synthesis presented a model from analyzing the results obtained in this multimethod study on regression testing techniques. With such a study, we could present empirical evidence on how professionals perform regression testing in Android projects, identify the commonly used regression testing techniques, and leverage the requirements for automating Android applications through regression testing.
- Nauman Bin Ali, Emelie Engström, Masoumeh Taromirad, Mohammad Reza Mousavi, Nasir Mehmood Minhas, Daniel Helgesson, Sebastian Kunze, and Mahsa Varshosaz. 2019. On the search for industry-relevant regression testing research. Empir. Softw. Eng. 24, 4 (2019), 2020–2055.Google ScholarDigital Library
- Domenico Amalfitano, Anna Rita Fasolino, and Porfirio Tramontana. 2011. A GUI Crawling-Based Technique for Android Mobile Application Testing. In Fourth IEEE International Conference on Software Testing, Verification and Validation, ICST. IEEE Computer Society, Berlin, Germany, 252–261.Google ScholarDigital Library
- Paul Ammann and Jeff Offutt. 2008. Introduction to Software Testing. Cambridge University Press, Shaftesbury Road, UK.Google Scholar
- Hilary Arksey and Lisa O’Malley. 2005. Scoping studies: towards a methodological framework. International Journal of Social Research Methodology 8, 1(2005), 19–32.Google ScholarCross Ref
- Sebastian Bauersfeld. 2013. GUIdiff - A Regression Testing Tool for Graphical User Interfaces. In Sixth IEEE International Conference on Software Testing, Verification and Validation, ICST. IEEE Computer Society, Washington, DC, 499–500.Google Scholar
- Nana Chang, Linzhang Wang, Yu Pei, Subrota K. Mondal, and Xuandong Li. 2018. Change-Based Test Script Maintenance for Android Apps. In 2018 IEEE International Conference on Software Quality, Reliability and Security, QRS. IEEE, Washington, DC, 215–225.Google Scholar
- Wontae Choi, Koushik Sen, George C. Necula, and Wenyu Wang. 2018. DetReduce: minimizing Android GUI test suites for regression testing. In 40th International Conference on Software Engineering, ICSE, Michel Chaudron, Ivica Crnkovic, Marsha Chechik, and Mark Harman (Eds.). ACM, New York, NY, USA, 445–455.Google ScholarDigital Library
- Shauvik Roy Choudhary, Alessandra Gorla, and Alessandro Orso. 2015. Automated Test Input Generation for Android: Are We There Yet? (E). In 30th IEEE/ACM International Conference on Automated Software Engineering, ASE, Myra B. Cohen, Lars Grunske, and Michael Whalen (Eds.). IEEE Computer Society, Washington, DC, 429–440.Google ScholarDigital Library
- Daniela S. Cruzes and Tore Dybå. 2010. Synthesizing evidence in software engineering research. In Proceedings of the International Symposium on Empirical Software Engineering and Measurement, ESEM, Giancarlo Succi, Maurizio Morisio, and Nachiappan Nagappan (Eds.). ACM, New York, NY, United States, 1–10.Google Scholar
- Daniela S. Cruzes and Tore Dybå. 2011. Recommended Steps for Thematic Synthesis in Software Engineering. In Proceedings of the 5th International Symposium on Empirical Software Engineering and Measurement, ESEM. IEEE Computer Society, Washington, DC, 275–284.Google Scholar
- Daniela S. Cruzes and Tore Dybå. 2011. Research synthesis in software engineering: A tertiary study. Inf. Softw. Technol. 53, 5 (2011), 440–455.Google ScholarDigital Library
- Marcio Eduardo Delamaro, Jose Carlos Maldonado, and Mario. Jino. 2007. Introdução ao teste de software. Elsevier, Rio de Janeiro, RJ, Brasil.Google Scholar
- Quan Chau Dong Do, Guowei Yang, Meiru Che, Darren Hui, and Jefferson Ridgeway. 2016. Redroid: A Regression Test Selection Approach for Android Applications. In The 28th International Conference on Software Engineering and Knowledge Engineering, SEKE, Jerry Gou (Ed.). KSI, Pittsburgh, PA, 486–491.Google Scholar
- Emelie Engström, Per Runeson, and Mats Skoglund. 2010. A systematic review on regression test selection techniques. Information and Software Technology 52, 1 (2010), 14 – 30.Google ScholarDigital Library
- N. Glauber. 2019. Dominando o Android com Kotlin. NOVATEC, Sao Paulo - SP.Google Scholar
- María Gómez, Romain Rouvoy, Bram Adams, and Lionel Seinturier. 2016. Mining test repositories for automatic detection of UI performance regressions in Android apps. In Proceedings of the 13th International Conference on Mining Software Repositories, MSR, Miryung Kim, Romain Robbes, and Christian Bird (Eds.). ACM, New York, NY, USA, 13–24.Google ScholarDigital Library
- Todd L. Graves, Mary Jean Harrold, Jung-Min Kim, Adam Porter, and Gregg Rothermel. 2001. An Empirical Study of Regression Test Selection Techniques. ACM Trans. Softw. Eng. Methodol. 10, 2 (2001), 184–208.Google ScholarDigital Library
- Tor-Morten Grønli and Gheorghita Ghinea. 2016. Meeting Quality Standards for Mobile Application Development in Businesses: A Framework for Cross-Platform Testing. In 49th Hawaii International Conference on System Sciences, HICSS, Tung X. Bui and Ralph H. Sprague Jr. (Eds.). IEEE Computer Society, Washington, DC, 5711–5720.Google Scholar
- Rashina Hoda. 2021. Socio-Technical Grounded Theory for Software Engineering. CoRR 0(2021), 0.Google Scholar
- Yongjian Hu and Iulian Neamtiu. 2016. VALERA: an effective and efficient record-and-replay tool for android. In Proceedings of the International Conference on Mobile Software Engineering and Systems, MOBILESoft. ACM, New York, NY, USA, 285–286.Google ScholarDigital Library
- IEEE. 1990. IEEE Standard Glossary of Software Engineering Terminology. IEEE Std 610.12-1990 0, 0 (Dec 1990), 1–84.Google Scholar
- IEEE. 1998. IEEE Standard for Software Maintenance. IEEE Std 1219-1998 0, 0 (1998), 1–56.Google Scholar
- Ajay Kumar Jha, Deok Yeop Kim, and Woo Jin Lee. 2019. A framework for testing Android apps by reusing test cases. In Proceedings of the 6th International Conference on Mobile Software Engineering and Systems, MOBILESoft@ICSE, Eli Tilevich (Ed.). IEEE / ACM, Washington, DC, 20–24.Google ScholarCross Ref
- Bo Jiang, Yu Wu, Yongfei Zhang, Zhenyu Zhang, and W.K. Chan. 2018. ReTestDroid: Towards Safer Regression Test Selection for Android Application. In 2018 IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC), Vol. 01. IEEE, Washington, DC, 235–244.Google Scholar
- Mark Kasunic. 2005. Designing an Effective Survey. Handbook CMU/SEI-2005-HB-004. CMU-SEI, Pittsburgh, PA, USA. CMU/SEI-2005-HB-004.Google Scholar
- Rafaqat Kazmi, Dayang Jawawi, Radziah Mohamad, and Imran Ghani. 2017. Effective Regression Test Case Selection: A Systematic Literature Review. Comput. Surveys 50(2017), 1–32.Google ScholarDigital Library
- Barbara A. Kitchenham and Shari Lawrence Pfleeger. 2002. Principles of survey research part 2: designing a survey. ACM SIGSOFT Softw. Eng. Notes 27, 1 (2002), 18–20.Google ScholarDigital Library
- Pavneet Singh Kochhar, Ferdian Thung, Nachiappan Nagappan, Thomas Zimmermann, and David Lo. 2015. Understanding the Test Automation Culture of App Developers. In 8th IEEE International Conference on Software Testing, Verification and Validation, ICST. IEEE Computer Society, Washington, DC, 1–10.Google Scholar
- Pingfan Kong, Li Li, Jun Gao, Kui Liu, Tegawendé F. Bissyandé, and Jacques Klein. 2019. Automated Testing of Android Apps: A Systematic Literature Review. IEEE Trans. Reliab. 68, 1 (2019), 45–66.Google ScholarCross Ref
- Xiao Li, Nana Chang, Yan Wang, Haohua Huang, Yu Pei, Linzhang Wang, and Xuandong Li. 2017. ATOM: Automatic Maintenance of GUI Test Scripts for Evolving Mobile Applications. In 2017 IEEE International Conference on Software Testing, Verification and Validation, ICST. IEEE Computer Society, Washington, DC, 161–171.Google Scholar
- Sara Mendes Oliveira Lima, Denivan Campos, and Ivan Machado. 2022. A thematic synthesis on the adoption of regression testing techniques in Android projects. Zenodo. https://doi.org/10.5281/zenodo.7121478Google ScholarCross Ref
- Sara Mendes Oliveira Lima, Denivan Campos, Larissa Rocha Soares, and Ivan Machado. 2020. Unveiling Practitioners Awareness of Android Apps Regression Testing through an Expert Survey. In Proceedings of the 34th Brazilian Symposium on Software Engineering (Natal, Brazil) (SBES ’20), Everton Cavalcante, Francisco Dantas, and Thaís Batista (Eds.). Association for Computing Machinery, New York, NY, USA, 303–308.Google ScholarDigital Library
- Tom Mens and Serge Demeyer (Eds.). 2008. Software Evolution. Springer, New York, NY, USA.Google Scholar
- Luciana Carla Lins Prates. 2015. Aplicando Síntese Temática em Engenharia de Software. Master’s thesis. Universidade Federal da Bahia, Salvador.Google Scholar
- Simone Romano, Giuseppe Scanniello, Giuliano Antoniol, and Alessandro Marchetto. 2018. SPIRITuS: a SimPle Information Retrieval regressIon Test Selection approach. Information and Software Technology 99 (2018), 62 – 80.Google ScholarDigital Library
- Gregg Rothermel, Roland H. Untch, Chengyun Chu, and Mary Jean Harrold. 2001. Prioritizing Test Cases For Regression Testing. IEEE Trans. Software Eng. 27, 10 (2001), 929–948.Google ScholarDigital Library
- Csaba Szabó, Ladislav Samuelis, Mirjana Ivanovic, and Tomás Fesic. 2012. Database refactoring and regression testing of Android mobile applications. In 10th IEEE Jubilee International Symposium on Intelligent Systems and Informatics, SISY. IEEE, Washington, DC, 135–139.Google ScholarCross Ref
- W. Eric Wong, Joseph Robert Horgan, Saul London, and Aditya P. Mathur. 1995. Effect of Test Set Minimization on Fault Detection Effectiveness. In 17th International Conference on Software Engineering, Seattle, Washington, USA, April 23-30, 1995, Proceedings, Dewayne E. Perry, Ross Jeffery, and David Notkin (Eds.). ACM, New York, NY, USA, 41–50.Google Scholar
- Shin Yoo and Mark Harman. 2012. Regression testing minimization, selection and prioritization: a survey. Softw. Test. Verification Reliab. 22, 2 (2012), 67–120.Google ScholarDigital Library
Index Terms
- A thematic synthesis on the adoption of regression testing techniques in Android projects
Recommendations
A compatibility testing platform for android multimedia applications
Along with the widespread use of smartphones, Android has become one of the major platforms for multimedia applications (apps). However, due to the fast evolution of Android operating system and the fragmentation of Android devices, it becomes important ...
Dependent-test-aware regression testing techniques
ISSTA 2020: Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and AnalysisDevelopers typically rely on regression testing techniques to ensure that their changes do not break existing functionality. Unfortunately, these techniques suffer from flaky tests, which can both pass and fail when run multiple times on the same ...
Integrating White- and Black-Box Techniques for Class-Level Regression Testing
COMPSAC '01: Proceedings of the 25th International Computer Software and Applications Conference on Invigorating Software DevelopmentIn recent years, several techniques have been proposed for class-level regression testing. Most of these techniques focus either on white- or black-box testing, although an integrated approach can have several benefits. As similar tasks have to be ...
Comments