Testing games as native apps on phones / mobile devices / tablets makes testing of regular apps, or websites appear like a piece of cake. Testing games becomes even more challenging when you think about automating the same.

I got an opportunity to build Functional Test Automation for a suite of games – and what an exciting time it turned out to be!

These games are built either using Cocos2d-x, or Unity (cross platform game engines for mobile games, apps and other cross platform interactive GUI and are known for their speed, stability, and easy of use).

The key challenges I encountered were:

  • Millions on users, playing the games on a huge variety of devices
  • Limited unit testing
  • API testing & Functional Testing done in isolation (mini-waterfall approach)
  • Usage of Cocos2d-x & Unity for game rendering – which cannot be automated via Appium
  • Limited Functional Automation (for native apps)

Come to this session to understand how I overcame the challenges and helped build:

  • A better way of working (you can call it ‘Agile’)
  • Break down the walls by fostering a mindset of “build quality-in, as opposed to test for quality”
  • Setup vision of CI-CD – and how to setup CI pipelines to enable end-2-end visibility
  • Build a new functional automation framework using java/testing/appium-test-distribution/reportportal/jenkins with focus on – specify test intent once and run on all supported channels (ex: Andriod, iOS, …)
  • Build a solution for Cocos2d-x layer automation
  • Ability to use same framework for multiple games

Outline/Structure of the Case Study

  • Challenges of testing and automating games
  • Experiments done, options explored
  • Sharing the custom solution to automate Cocos2d-x

Learning Outcome

  • Automation strategy for games
  • Test Automation Framework architecture to support multiple products, and multiple channels per product
  • Solution for automating Cocos2d-x layer
  • CI-CD setup, with multi-branch pipeline
  • Upskilling team members on this approach (coding practices, PRs, design patterns, etc.)

Target Audience

QAs, Automation Engineers, Devs

schedule Submitted 1 year ago

Public Feedback

comment Suggest improvements to the Author
  • Aino Corry
    By Aino Corry  ~  1 year ago
    reply Reply

    Hi Anand

    As I already said I liked your other talk better :-)

  • Naresh Jain
    By Naresh Jain  ~  1 year ago
    reply Reply

    Hi Anand,

    Thanks for sharing this case-study. Can you please help me understand why you considered this under the Chaos Engineering theme as compared to DevEx and DevOps theme?

    • Anand Bagmar
      By Anand Bagmar  ~  1 year ago
      reply Reply

      Hi Naresh, I was actually unsure and in dual minds about where this topic would fit better. If you think the devops theme is more appropriate, I will update it now.