{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,7,20]],"date-time":"2024-07-20T00:58:17Z","timestamp":1721437097887},"reference-count":60,"publisher":"Springer Science and Business Media LLC","issue":"3-4","license":[{"start":{"date-parts":[[2019,10,19]],"date-time":"2019-10-19T00:00:00Z","timestamp":1571443200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2019,10,19]],"date-time":"2019-10-19T00:00:00Z","timestamp":1571443200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"DOI":"10.13039\/100010661","name":"Horizon 2020 Framework Programme","doi-asserted-by":"publisher","award":["ID # 770469"],"id":[{"id":"10.13039\/100010661","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Comput Game J"],"published-print":{"date-parts":[[2019,12]]},"abstract":"Abstract<\/jats:title>\n The exponential increase in the speed of the mobile industry has led to a decreasing quality in many associated mobile apps. Besides, the number of distinct Android devices reached thousands. This challenged the development of universally accepted test applications that can run on all devices. This paper focuses on the development of a new mobile game testing framework, referred to, MAuto<\/jats:italic>. MAuto records the user actions in the game and replays the tests on any Android device. MAuto uses image recognition, through AKAZE features, to record the test cases and the Appium framework to replay the user actions automatically. The feasibility of the developed tool has been demonstrated through testing on the Clash of Clans mobile game.<\/jats:p>","DOI":"10.1007\/s40869-019-00087-z","type":"journal-article","created":{"date-parts":[[2019,10,19]],"date-time":"2019-10-19T15:39:07Z","timestamp":1571499547000},"page":"215-239","update-policy":"http:\/\/dx.doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":11,"title":["MAuto: Automatic Mobile Game Testing Tool Using Image-Matching Based Approach"],"prefix":"10.1007","volume":"8","author":[{"given":"J.","family":"Tuovenen","sequence":"first","affiliation":[]},{"ORCID":"http:\/\/orcid.org\/0000-0002-4422-8723","authenticated-orcid":false,"given":"M.","family":"Oussalah","sequence":"additional","affiliation":[]},{"given":"P.","family":"Kostakos","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2019,10,19]]},"reference":[{"key":"87_CR1","doi-asserted-by":"crossref","unstructured":"Adamsen, C. Q., Mezzetti, G., & M\u00f8ller A. (2015). Systematic execution of android test suites in adverse conditions. In Proceedings of the International Symposium on Software Testing and Analysis (ISSTA) ISSTA\u201915, pp. 83\u201393.","DOI":"10.1145\/2771783.2771786"},{"key":"87_CR2","doi-asserted-by":"crossref","unstructured":"Alcantarilla, P. F., et al. (2013). Fast explicit diffusion for accelerated features in nonlinear scale spaces. In British Machine Vision Conference, Bristol, BMVC.","DOI":"10.5244\/C.27.13"},{"key":"87_CR3","first-page":"214","volume-title":"Computer vision\u2014ECCV 2012. Lecture Notes in Computer Science","author":"P Alcantarilla","year":"2012","unstructured":"Alcantarilla, P., Bartoli, A., & Davison, A. (2012). Kaze features. In A. Fitzgibbon, S. Lazebnik, P. Perona, Y. Sato, & C. Schmid (Eds.), Computer vision\u2014ECCV 2012. Lecture Notes in Computer Science (Vol. 7577, pp. 214\u2013227). Berlin, Heidel-berg: Springer."},{"key":"87_CR4","doi-asserted-by":"crossref","unstructured":"Alegroth, E., Nass, M., & Olsson, H. (2013) JAutomate: A tool for system-and acceptance-test automation. In IEEE sixth international conference on software testing, verification and validation (ICST), pp. 439\u2013446.","DOI":"10.1109\/ICST.2013.61"},{"key":"87_CR5","doi-asserted-by":"crossref","unstructured":"Amalfitano, D., Fasolino, A. R., Tramontana, P., De Carmine, S., & Memon, A. M. (2012). Using GUI ripping for automated testing of android applications. In Proceedings of the 27th IEEE\/ACM international conference automated software engineering (ASE\u201912), pp. 258\u2013261.","DOI":"10.1145\/2351676.2351717"},{"key":"87_CR6","doi-asserted-by":"publisher","first-page":"53","DOI":"10.1109\/MS.2014.55","volume":"32","author":"D Amalfitano","year":"2014","unstructured":"Amalfitano, D., Fasolino, A. R., Tramontana, P., Ta, B. D., & Memon, A. (2014). Mobiguitar\u2014A tool for automated model-based testing of mobile apps. IEEE Software,32, 53\u201359.","journal-title":"IEEE Software"},{"key":"87_CR7","doi-asserted-by":"crossref","unstructured":"Anand, S., Naik, M., Harrold, M. J., & Yang, H. (2012). Automated concolic testing of smartphone apps. In Proceedings of the 20th ACM international symposium on the foundations of software engineering (FSE\u201912), North Carolina.","DOI":"10.1145\/2393596.2393666"},{"key":"87_CR8","unstructured":"Appium. (2012). Appium testing framework. Retrieved September 2019, from \nhttp:\/\/appium.io\n\n."},{"key":"87_CR9","doi-asserted-by":"crossref","unstructured":"Azim, T., & Neamtiu, I. (2013). Targeted and depth-first exploration for systematic testing of android apps. In Proceedings of the ACM SIGPLAN international conference on object oriented programming systems languages & applications, OOPSLA\u201913, pp. 641\u2013660.","DOI":"10.1145\/2509136.2509549"},{"key":"87_CR10","unstructured":"Calabash. (2012). Calabash testing framework. \nhttp:\/\/calaba.sh\n\n."},{"key":"87_CR11","unstructured":"Chaffey, D. (2016). Mobile marketing statistics compilation. Retrieved September 2019, from Smart Insights: \nhttp:\/\/www.smartinsights.com\/mobile-marketing\/mobile-marketing-analytics\/mobile-marketing-statistics\/\n\n."},{"key":"87_CR12","doi-asserted-by":"crossref","unstructured":"Chang, T. H., Yeh, T. & Miller, R. C. (2010). GUI testing using computer vision. In Proceedings of the SIGCHI conference on human factors in computing systems, CHI\u201910 (pp. 1535\u20131544). New York, NY: ACM. \nhttp:\/\/doi.org\/10.1145\/1753326.1753555\n\n.","DOI":"10.1145\/1753326.1753555"},{"key":"87_CR13","doi-asserted-by":"crossref","unstructured":"Choi, W., Necula, G., & Sen, K. (2013). Guided GUI testing of android apps with minimal restart and approximate learning. In OOPSLA\u201913, pp. 623\u2013640.","DOI":"10.1145\/2509136.2509552"},{"key":"87_CR14","doi-asserted-by":"crossref","unstructured":"Choudhary, R. S., Gorla, A., & Orso A. (2015). Automated test input generation for android: Are we there yet? (E). In Proceedings of the ACM\/IEEE international conference on automated software engineering, pp. 429\u2013440.","DOI":"10.1109\/ASE.2015.89"},{"key":"87_CR15","volume-title":"Agile estimation and planning","author":"M Cohen","year":"2006","unstructured":"Cohen, M. (2006). Agile estimation and planning. Upper Saddle River: Prentice-Hall."},{"key":"87_CR16","volume-title":"Agile testing A practical guide for testers and agile teams","author":"L Crispin","year":"2011","unstructured":"Crispin, L., & Gregory, J. (2011). Agile testing A practical guide for testers and agile teams (7th ed.). Boston: Addison-Wesley.","edition":"7"},{"key":"87_CR17","unstructured":"Esspresso. (2015). Esspresso testing framework. \nhttps:\/\/google.github.io\/android-testing-support-library\/docs\/espresso\/\n\n."},{"key":"87_CR18","unstructured":"Fazzini, M., Freitas, E. N., Choudhary, S. R., & Orso, A. (2016). Barista: A technique for recording, encoding, and running platform independent android tests. In Proceedings of the IEEE international conference on software testing, verification and validation (ICST)."},{"key":"87_CR19","doi-asserted-by":"crossref","unstructured":"Gomez, L., Neamtiu, I., Azim, T., & Millstein, T. (2013). Reran: Timing- and touch-sensitive record and replay for android. In Proceedings of the 33th international conference on software engineering (ICSE), pp. 72\u201381.","DOI":"10.1109\/ICSE.2013.6606553"},{"key":"87_CR20","unstructured":"Google Robo Test. (2015). Google firebase test lab robo test. Retrieved September 2019, from \nhttps:\/\/firebase.google.com\/docs\/test-lab\/robo-ux-test\n\n."},{"key":"87_CR21","doi-asserted-by":"crossref","unstructured":"Halpern, M., Zhu, Y., Peri, R., & Reddi, V. G. (2015). Mosaic: Cross-platform user-interaction record and replay for the fragmented android ecosystem. In Proceedings of the IEEE international symposium on performance analysis of systems and software, pp. 215\u2013224.","DOI":"10.1109\/ISPASS.2015.7095807"},{"key":"87_CR22","doi-asserted-by":"crossref","unstructured":"Hao, S., Liu, B., Nath, S., Halfond, W., & Govindan, R. (2014). Puma: Programmable ui-automation for large-scale dynamic analysis of mobile apps. In MobiSys\u201914, pp. 204\u2013217.","DOI":"10.1145\/2594368.2594390"},{"key":"87_CR23","unstructured":"Hu, Y., Azim, T., & Neamtiu, I. (2015). Versatile yet lightweight record-and replay for android. In OOPSLA\u201915, ser. OOPSLA 2015 (pp. 349\u2013366). New York, NY: ACM."},{"key":"87_CR24","unstructured":"Hu, G., Yuan, X., Tang, Y., & Yang, J. (2014). Efficiently, effectively detecting mobile app bugs with app doctor. In EuroSys\u201914, pp. 18:1\u201318:15."},{"key":"87_CR25","unstructured":"Iqbal, M. (2019). App downloaded and usage statistics, Business of Apps, August 7th 2019, \nhttps:\/\/www.businessofapps.com\/data\/app-statistics\/\n\n. Accessed September 2019."},{"key":"87_CR26","doi-asserted-by":"crossref","unstructured":"Jabbarvand, R., Sadeghi, A., Bagheri, H., & Malek, S. (2016). Energy-aware test-suite minimization for android apps. In Proceedings of the international symposium on software testing and analysis (ISSTA), pp. 425\u2013436.","DOI":"10.1145\/2931037.2931067"},{"key":"87_CR27","doi-asserted-by":"crossref","unstructured":"Jensen, C. S., Prasad, M. R., & Moller, A. (2013). Automated testing with targeted event sequence generation. In Proceedings of the international symposium on software testing and analysis (ISSTA), pp. 67\u201377.","DOI":"10.1145\/2483760.2483777"},{"key":"87_CR29","volume-title":"Hands-on mobile app testing: A guide for mobile testers and anyone involved in the mobile app business","author":"D Knott","year":"2015","unstructured":"Knott, D. (2015). Hands-on mobile app testing: A guide for mobile testers and anyone involved in the mobile app business (1st ed.). New York: Addison-Wesley Professional.","edition":"1"},{"key":"87_CR30","doi-asserted-by":"crossref","unstructured":"Kochhar, P. S., Thung, F., Nagappan, N., Zimmermann, T., & Lo, D. (2015). Understanding the test automation culture of app developers. In Proceedings of the 8th IEEE international conference on software testing, verification and validation, Austria, ICST\u201915.","DOI":"10.1109\/ICST.2015.7102609"},{"issue":"10","key":"87_CR31","first-page":"2014","volume":"40","author":"Y Lin","year":"2014","unstructured":"Lin, Y., Rojas, J. F., Chu, E., & Lai, Y. (2014). On the accuracy, efficiency, and reusability of automated test oracles for android devices. IEEE Transactions on Software Engineering,40(10), 2014.","journal-title":"IEEE Transactions on Software Engineering"},{"key":"87_CR32","doi-asserted-by":"crossref","unstructured":"Linares-V\u00e1squez, M., Moran, K., & Poshyvanyk, D. (2017). Continuous, evolutionary and large-scale: A new perspective for automated mobile app testing. In Proceedings of the 33rd IEEE conference of software maintenance and evolution (ICSME).","DOI":"10.1109\/ICSME.2017.27"},{"key":"87_CR33","doi-asserted-by":"crossref","unstructured":"Machiry, A., Tahiliani, R., & Naik, M. (2013). Dynodroid: An input generation system for android apps. In Proceedings of the 9th joint meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC\/FSE\u201913), pp. 224\u2013234.","DOI":"10.1145\/2491411.2491450"},{"key":"87_CR34","unstructured":"MacKenzie, B. (2012). Top 10 mobile application testing automation tool requirements. Retreived April 7, 2018 from \nhttp:\/\/northwaysolutions.com\/blog\/top-10-mobile-application-testingautomation-tool-requirements\/\n\n."},{"key":"87_CR35","doi-asserted-by":"crossref","unstructured":"Mahmood, R., Mirzaei, N., & Malek, S. (2014). EvoDroid: Segmented evolutionary testing of android apps. In Proceedings of the 10th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC\/FSE\u201914), pp. 599\u2013609.","DOI":"10.1145\/2635868.2635896"},{"key":"87_CR36","doi-asserted-by":"crossref","unstructured":"Mao, K., Harman, M., & Jia, Y. (2016). Sapienz: Multi-objective automated testing for android applications. In Proceedings of the 25th international symposium on software testing and analysis, pp. 94\u2013105.","DOI":"10.1145\/2931037.2931054"},{"key":"87_CR38","unstructured":"Meszaros, G. (2007). xUnit test patterns: Refactoring test code. Pearson Education."},{"key":"87_CR39","doi-asserted-by":"crossref","unstructured":"Mirzaei, N., Bagheri, H., Mahmood, R., & Malek, S. (2015). Sig-droid: Automated system input generation for android applications. In ISSRE\u201915, pp. 461\u2013471.","DOI":"10.1109\/ISSRE.2015.7381839"},{"key":"87_CR40","unstructured":"Monkey Testing. (2016). Android ui\/application exerciser monkey. Retrieved September 2019, from \nhttp:\/\/developer.android.com\/tools\/help\/monkey.html\n\n."},{"key":"87_CR41","doi-asserted-by":"crossref","unstructured":"Moran, K., Bonett, R., Bernal-C\u00e1rdenas, C., Otten, B., Park, D., & Poshyvanyk, D. (2017). On-device bug reporting for android applications. In Proceedings of the 4th IEEE\/ACM international conference on mobile software engineering and systems (MobileSOFT).","DOI":"10.1109\/MOBILESoft.2017.36"},{"key":"87_CR42","doi-asserted-by":"crossref","unstructured":"Moran, K., Linares-V\u00e1squez, M., Bernal-C\u00e1rdenas, C., Vendome, C., & Poshyvanyk, D. (2017). Crashscope: A practical tool for automated testing of android applications. In ICSE\u201917 Companion, pp. 15\u201318.","DOI":"10.1109\/ICSE-C.2017.16"},{"key":"87_CR43","unstructured":"Newzo. (2018). Global Game Market Report, see sample by Tom Wijman at \nhttps:\/\/newzoo.com\/insights\/articles\/global-games-market-reaches-137-9-billion-in-2018-mobile-games-take-half\/\n\n. Accessed June 2018."},{"key":"87_CR44","unstructured":"Novak, J. (2008). Game development essentials: An introduction. Game development essentials series, Thomson\/Delmar Learning."},{"key":"87_CR45","unstructured":"Qmetry. (2016). Qmetry test automation framework. \nhttps:\/\/qmetry.github.io\/qaf\/\n\n."},{"key":"87_CR46","unstructured":"Quantum. (2012). Quantum. \nhttps:\/\/community.perfectomobile.com\/posts\/1286012-introducing-quantum-framework\n\n."},{"key":"87_CR47","unstructured":"Ranorex. (2017). Ranorex testing framework. \nhttp:\/\/www.ranorex.com\n\n."},{"key":"87_CR48","doi-asserted-by":"crossref","unstructured":"Ravindranath, L., Nath, S., Padhye, J., & Balakrishnan, H. (2014). Automatic and scalable fault detection for mobile applications. In Proceedings of the 12th annual international conference on mobile systems, applications, and services, MobiSys\u201914 (pp. 190\u2013203). New York, NY: ACM. \nhttp:\/\/doi.org\/10.1145\/2594368.2594377\n\n.","DOI":"10.1145\/2594368.2594377"},{"key":"87_CR49","unstructured":"Roboelectric, (2012). Roboelectric testing framework. Retrieved September 2019, from \nhttp:\/\/robolectric.org\n\n."},{"key":"87_CR50","unstructured":"Robotium. (2010). Robotium testing. Retrieved September 2019, from \nhttps:\/\/github.com\/RobotiumTech\/robotium\n\n."},{"key":"87_CR51","unstructured":"Robotium Recorder, (2014). Robotium recorder. \nhttps:\/\/github.com\/RobotiumTech\/robotium\n\n."},{"key":"87_CR52","doi-asserted-by":"crossref","unstructured":"Sasnauskas, R., & Regehr, J. (2014). Intent fuzzer: Crafting intents of death. In Proceedings of the Joint 12th International Workshop on Dynamic Analysis (WODA) and Workshop on Software and System Performance (WODA & PERTEA), pp. 1\u20135.","DOI":"10.1145\/2632168.2632169"},{"key":"87_CR53","unstructured":"Sonders, M. (2017). New mobile game statistics every game publisher should know in 2016. Retrieved from Survey Monkey: \nhttps:\/\/www.surveymonkey.com\/business\/intelligence\/mobile-game-statistics\/\n\n. Accessed August 2017."},{"key":"87_CR54","unstructured":"Ui-Automation iOS. (2015). Apple ui-automation documentation. Retrieved September 2019, from \nhttps:\/\/web.archive.org\/web\/20140812195854\/https:\/\/developer.apple.com\/library\/ios\/documentation\/DeveloperTools\/Reference\/UIAutomationRef\/_index.html\n\n."},{"key":"87_CR55","unstructured":"Uiautomator. (2018). Android uiautomator. \nhttp:\/\/developer.android.com\/tools\/help\/uiautomator\/index.html\n\n."},{"issue":"1","key":"87_CR56","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/2557833.2560576","volume":"39","author":"H Van der Merwe","year":"2014","unstructured":"Van der Merwe, H., Van der Merwe, B., & Visser, W. (2014). Execution and property specifications for jpf-android. SIGSOFT Software Engineering Notes,39(1), 1\u20135.","journal-title":"SIGSOFT Software Engineering Notes"},{"key":"87_CR57","doi-asserted-by":"crossref","unstructured":"White, M., Linares-V\u00e1squez, M., Johnson, P., Bernal-C\u00e1rdenas, C., & Poshyvanyk, D. (2015). Generating reproducible and replayable bug reports from android application crashes. In ICPC\u201915.","DOI":"10.1109\/ICPC.2015.14"},{"key":"87_CR58","unstructured":"Xamarin. (2018). Retrieved September 2019, from \nhttps:\/\/www.jimbobbennett.io\/ui-testing-your-xamarin-apps\/\n\n."},{"key":"87_CR59","doi-asserted-by":"publisher","first-page":"250","DOI":"10.1007\/978-3-642-37057-1_19","volume-title":"Fundamental Approaches to Software Engineering","author":"Wei Yang","year":"2013","unstructured":"Yang, W., Prasad, M., Xie, T. (2013). A grey-box approach for automated GUI-model generation of mobile applications. In Proceedings of the 6th international conference on fundamental approaches to software engineering (FASE), pp. 250\u2013265."},{"key":"87_CR60","doi-asserted-by":"crossref","unstructured":"Yeh, T., Chang, T. H., & Miller R. C. (2009) Sikuli: Using GUI screenshots for search and automation. In Proceedings of the 22nd annual ACM symposium on User Interface Software and Technology, UIST\u201909 (pp. 183\u2013192). New York, NY: ACM. \nhttp:\/\/doi.org\/10.1145\/1622176.1622213\n\n.","DOI":"10.1145\/1622176.1622213"},{"key":"87_CR61","doi-asserted-by":"crossref","unstructured":"Zaeem, R. N., Prasad M. R., & Khurshid S. (2014). Automated generation of oracles for testing user-interaction features of mobile apps. In ICST\u201914, pp. 183\u2013192.","DOI":"10.1109\/ICST.2014.31"},{"key":"87_CR62","doi-asserted-by":"crossref","unstructured":"Zhang, H., & Rountev, A. (2017). Analysis and testing of notifications in android wear applications. In Proceedings of the 39th international conference on software engineering (ICSE), May 2017.","DOI":"10.1109\/ICSE.2017.39"}],"container-title":["The Computer Games Journal"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s40869-019-00087-z.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s40869-019-00087-z\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s40869-019-00087-z.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,10,17]],"date-time":"2020-10-17T23:11:19Z","timestamp":1602976279000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s40869-019-00087-z"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,10,19]]},"references-count":60,"journal-issue":{"issue":"3-4","published-print":{"date-parts":[[2019,12]]}},"alternative-id":["87"],"URL":"https:\/\/doi.org\/10.1007\/s40869-019-00087-z","relation":{},"ISSN":["2052-773X"],"issn-type":[{"value":"2052-773X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2019,10,19]]},"assertion":[{"value":"16 May 2019","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"10 October 2019","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"19 October 2019","order":3,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Compliance with Ethical Standards"}},{"value":"No conflict of interest.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Conflict of interest"}}]}}