A Comprehensive Approach to Quality Assurance in a Mobile Game Project

Quality assurance is an integral part of software development process. Game projects possess own distinctive traits that affect all stages of work. In this paper, we share the lessons learned during a three year-long mobile game development project. We discuss the conceptual architecture for mobile game quality assurance through the perspective of techniques that turned out to be most efficient for us, including manual testing, automated and manual runtime bug reporting, Crashlytics-supported crash analysis, automated smoke testing, and playtesting. We analyze how these activities address typical game-specific mobile development and testing issues, and why they can be recommended for game projects, as well as for wider range of mobile applications.

[1]  Mordechai Ben-Ari The bug that destroyed a rocket , 2001, SGCS.

[2]  Mario Linares Vásquez,et al.  Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mobile App Testing , 2017, 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[3]  Marina Purgina,et al.  Believable self-learning AI for world of tennis , 2016, 2016 IEEE Conference on Computational Intelligence and Games (CIG).

[4]  Ahmed E. Hassan,et al.  What Do Mobile App Users Complain About? , 2015, IEEE Software.

[5]  Janni Nielsen,et al.  Getting access to what goes on in people's heads?: reflections on the think-aloud technique , 2002, NordiCHI '02.

[6]  Maxim Mozgovoy,et al.  Unity Application Testing Automation with Appium and Image Recognition , 2017 .

[7]  David Lo,et al.  Understanding the Test Automation Culture of App Developers , 2015, 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST).

[8]  Emerson R. Murphy-Hill,et al.  Cowboys, ankle sprains, and keepers of quality: how is video game development different from software development? , 2014, ICSE.

[9]  Joanna DeFranco,et al.  Software Testing Practices in Industry: The State of the Practice , 2016 .

[10]  Katherine Isbister,et al.  Games User Research (GUR)Our Experience with and Evolution of Four Methods , 2008 .

[11]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[12]  Randy J. Pagulayan,et al.  User-centered design in games , 2012 .

[13]  Liming Zhu,et al.  Software quality and agile methods , 2004, Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004..

[14]  Massimiliano Di Penta,et al.  How Is Video Game Development Different from Software Development in Open Source? , 2018, 2018 IEEE/ACM 15th International Conference on Mining Software Repositories (MSR).

[15]  Mario Linares Vásquez,et al.  Automated GUI Testing of Android Apps: From Research to Practice , 2016, 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C).

[16]  C. C. Mann Why software is so bad , 2002 .

[17]  Cem Kaner,et al.  Lessons learned in software testing ; a context - driven approach , 2002 .

[18]  Christopher Vendome,et al.  CrashScope: A Practical Tool for Automated Testing of Android Applications , 2017, 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C).

[19]  Maxim Mozgovoy,et al.  Using Image Recognition for Testing Hand-drawn Graphic User Interfaces , 2017 .

[20]  Karthik Dantu,et al.  Demo: Fully Automated UI Testing System for Large-scale Android Apps Using Multiple Devices , 2017, MobiSys.