Abstract
Developers must spend more effort and attention on the processes of software development to deliver quality applications to the users. Software testing and automation play a strategic role in ensuring the quality of mobile applications. This paper proposes and evaluates a Distributed Bug Analyzer based on user-interaction features that uses digital imaging processing to find bugs. Our Distributed Bug Analyzer detects bugs by comparing the similarity between images taken before and after an user-interaction feature occurs. An interest point detector and descriptor is used for image comparison. To evaluate the Distribute Bug Analyzer, we conducted a case study with 38 randomly selected mobile applications. First, we identified user-interaction bugs by manually testing the applications. Images were captured before and after applying each user-interaction feature. Then, image pairs were processed (using SURF) to obtain interest points, from which a similarity percentage was computed, to identify the presence of bugs. We used a Master Computer, a Storage Test Database, and four Slave Computers to evaluate the Distributed Bug Analyzer. We performed 360 tests of user-interaction features in total. We found 79 bugs when manually testing user-interaction features, and 69 bugs when using digital imaging processing to detect bugs with a threshold fixed at 92.5% of similarity. Distributed Bug Analyzer evenly distributed tests that are pending in the Storage Test Database between the Slave Computers. Slave Computers 1, 2, 3, and 4 processed 21, 20, 23, and 36% of image pair respectively.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Amalfitano D, Fasolino A, Tramontana P (2011) A gui crawling-based technique for android mobile application testing. In: Proceedings—4th IEEE international conference on software testing, verification, and validation workshops, icstw 2011, pp 252–261. doi:10.1109/ICSTW.2011.77
Amalfitano D, Fasolino AR, Tramontana P, Ta BD, Memon AM (2015) Mobiguitar: automated model-based testing of mobile apps. IEEE Softw 32(5):53–59
Azim T, Neamtiu I (2013) Targeted and depth-first exploration for systematic testing of android apps. ACM SIGPLAN Not 48(10):641–660
Bay H, Tuytelaars T, Van Gool L (2006) Surf: speeded up robust features. Comput Vis eccv 2006, 3951:404-417. doi:10.1007/11744023 32
Choi W, Necula G, Sen K (2013) Guided gui testing of android apps with minimal restart and approximate learning. ACM SIGPLAN Not 48(10):623–639
F-Droid-Limited (2016) F-droid. Retrieved from https://f-droid.org
Ham H, Park Y (2011) Mobile application compatibility test system design for android fragmentation. Commun Comput Inf Sci, 257 CCIS, pp 314–320
Hu C, Neamtiu I (2011) Automating gui testing for android applications. In: Proceedings—international conference on software engineering, pp 77–83
Kaasila J, Ferreira D, Kostakos V, Ojala T (2012) Testdroid: automated remote UI testing on android. In: Proceedings of the 11th international conference on mobile and ubiquitous multimedia, mum 2012
Liu Z, Gao X, Long X (2010) Adaptive random testing of mobile application. In: Iccet 2010, 2010 international conference on computer engineering and technology, proceedings, vol. 2, pp V2297–V2301
Lowe DG (2004) Distinctive image features from scale-invariant keypoints. Int J Comput Vis 60(2):91–110
Lu L, Hong Y, Huang Y, Su K, Yan Y (2012) Activity page based functional test automation for android application. In: Proceedings of the 2012 3rd world congress on software engineering, wcse 2012, pp 37–40
Machiry A, Tahiliani R, Naik M (2013) Dynodroid: an input generation system for android apps. In: 2013 9th joint meeting of the European software engineering conference and the acm sigsoft symposium on the foundations of software engineering, esec/fse 2013, proceedings, pp 224–234
Méndez-Porras A, Alfaro-Velásco J, Jenkins M, Martínez A (2015) Automated testing framework for mobile applications based in user-interaction features and historical bug information. In: Xli conferencia latinoamericana en informática. Arequipa-Peru. doi:10.1109/CLEI.2015 .7359996
Muccini H, Di Francesco A, Esposito P (2012) Software testing of mobile applications: challenges and future research directions. In: 2012 7th international workshop on automation of software test, ast 2012, proceedings, pp 29–35. doi:10.1109/IWAST.2012.6228987
Yang WB, Prasad M, Xie T (2013) A grey-box approach for automated gui-model generation of mobile applications. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 7793 LNCS, pp 250–265. doi: 10.1007/978-3-642-37057-1-19
Zaeem R, Prasad M, Khurshid S (2014) Automated generation of oracles for testing user-interaction features of mobile apps. In: Proceedings, IEEE 7th international conference on software testing, verification and validation, icst 2014, pp 183–192
Acknowledgements
This research was supported by the Costa Rican Ministry of Science, Technology and Telecommunications (MICITT). We also thank the Computer and Information Science Department as well as the Graduate Program in Computer and Information Science from the University of Costa Rica.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Méndez-Porras, A., Méndez-Marín, G., Tablada-Rojas, A. et al. A distributed bug analyzer based on user-interaction features for mobile apps. J Ambient Intell Human Comput 8, 579–591 (2017). https://doi.org/10.1007/s12652-016-0435-7
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12652-016-0435-7