A case study on game automation testing

Overview

A game tester will test video games continuously before the final build is released for the company whom they are working with video games production company. We also say beta tester & game testers have to test many versions of the game until the final version is closed. They have to play games the number of times from start to end on every new test builds to uncover bugs or errors within the game. Without the game tester, bugs and errors would abound in the game, it has the possibility of making them unplayable and decreases the reputation of the game maker company.

Challenges in Mobile Games Testing

  • Performance of the game may change across all hardware and software combinations.
  • Many inspector tools cannot be found on the game application.
  • Any locator method like Xpath, id, class name and others cannot be identified in the application.
  • Many device and resolution for Android which needs to test on.
  • User Interface in the game is very fast as compared to mobile applications so synchronization with the scripts and gameplay is very difficult.
  • Image comparison library will not work on mobile devices.
  • Automation testing in emulators does not produce many bugs for game apps so need a more real device to test.
  • Many games use direct screen access information of ActiveX/OpenGL bypass Operating system-level services.

game automation testing_image1(Image credit: Testdroid)

Things To Think When Automating Mobile Game Testing

Let’s understand how automation in testing (as opposed to manual testing) can increase and improve the development process.

VALUE AND WEALTH

Nothing matters if you go for automation or manual testing, you will need to follow wealth and resources: people, infrastructure, time, tools and training. The testing method is totally depending on the size of the project and/or application, automation testing will provide a good return on your investment. Let’s understand how it will help you in terms of costs. For Example, once test cases are created, automated test cases can run many times again at no extra cost and it can be faster completed than manual tests. It can reduce the time required to run the same tests over and over from weeks to hours. This is a time saver that affect directly to your project cost. We can say Test automation in-game is cost-saving.

Professional automatic testing software system could be an answer to a standard problem: the way to produce high-quality, strong and reliable software system with the ever-growing complexness of technology and under huge competitive pressure. automatic software testing could be a cost-efficient answer to the present problem. It gives three benefits to our business:

  • Efficiency
  • Effectiveness
  • Less time

Comparison of test automation frameworks

game automation testing_image3(Image credit: Testdroid)

Robotium

Robotium is an automation framework that supports a native and hybrid application. It makes powerful and automatic BB ( Black Box ) UI tests for android app. With using Robotium, developers can write test scenarios and span multiple activities.

UIAutomator

UIAutomator provides a good way to test user interfaces. It makes automated test cases that can be executable on real devices and emulator. It has a viewer, which is a graphical user interface tool to scan and analyze the user interface components of the android application.

Espresso

Espresso is an open-source test automation framework, and available for developers and tester to remove their UIs. It has a small API and is also predictable, understandable and easy to learn on the Android instrumentation framework. You can quickly write brief and reliable User interface tests with Espresso.

Calabash

Calabash is a cross-platform automation framework for iOS and Android hybrid application. A syntax which is used in the Calabash is easy to understand and even for non-technical people can create and execute on both of these mobile platforms.

Appium

Appium is a native tool for mobile test automation framework for mobile apps of iOS and Android native, hybrid and mobile web. By using Selenium’s WebDriver, it internally interacts with iOS and Android application with the use of JSONWireProtocol.

Appium is an HTTP server which is written in Node.js and it has the ability to create and handle multiple WebDriver sessions. It can listen to commands from the server and start tests on the device. It is the same as the Selenium server that gets the request from selenium client libraries.

Appium is a good option for both application and games because apps and games are similar on both platforms ( Android and iOS ) and the same testing scripts can be applied. Users can write tests using their favorite development tools, programming languages like Java, PHP, Python, C#, JavaScript and Objective-C and also many others.

Conclusion

Testing decides to certify success in the landscape of mobile games. But if we do not properly plan to test then it takes up to 20 to 40% of your development activities, in this case, it would also increase the cost in your budget which you have planned for the game. In simple words, automation in the testing area is the latest, and potentially greatest tool in the QA area. To ascertain that testing is highly efficient, covering the area of today’s mobile ecosystems and device models.

mm

Mohitkumar Joshi Quality Analyst

I am Mohitkumar Joshi, working as a Quality Analyst at Yudiz Solutions Pvt. Ltd. - a leading mobile app, mobile games & software development company. I am fond of learning new software techniques and try to implement those which will help to improve my testing knowledge.

Leave a Reply

Top