Anyone who has played a game to kill boredom must have encountered how some games tend to suddenly shut down or freeze at crucial moments. Such glitches apart from making you lose your unsaved data- will build a strong urge to throw your cell phone away in frustration. The deep dissatisfaction which is felt in those moments is so strong that many a time, it motivates the user to develop a negative feeling toward the developers of that game.

Why Is QA Important In-Game App Testing?

In an industry of high global demand and rapid growth, QA has become a game-changer. Gaming companies are paying more attention to “Quality Assurance” (QA) to discover and manage bugs that can make or break a game’s success. QA has emerged as the most effective way that can solve gaming bugs and end the frustration and anger felt when a game stops working. The challenges with game testing are not unique in most cases.

Things To Be Considered While Testing The Game Applications

  1. Drive testing without losing quality: Perform all the testing activities quickly to get a better shape.
  2. Maximizing time and resources
  3. Collaboration: Make people from various locations with multiple devices participate and make them try to access the game any time at any place to know the complete behavior.

Objectives

When you plan to test a gaming software, it’s essential that you identify the types of testing required. The objectives of a game are quite different from the objectives of a business application. For example, the objectives of a business application could be to provide the given user the features to easily, reliably, and accurately perform certain business tasks. However, in the case of a game, the main objective is to enable the users to entertain themselves and have fun.

Testing Types

  1. Installation Testing: Design test cases for the installation steps and then execute these test cases on each of the common configurations.
  2. Feature Testing: This is the most important step in game testing. We should aim to cover all the game’s features as exhaustively as possible, by designing detailed test case documents.
  3. User Interface Testing: In the UI, things that need to be tested are UI layouts and elements, menu structure and functions, screen orientation, screen resolution, etc.
  4. Performance Testing: Performance tests determine how fast a game can work under a particular workload. Load testing, stress testing, configuration testing are some aspects of performance testing.
  5. Security Testing: It is the process of determining how safe the software works from external threats.
  6. Multiplayer Support: Multiplayer support includes sending an invitation to other players or accept a pending invitation from others and playing with them.
  7. Social Media Integrations: Social network integration is also a very important part of games today. In many games, it is essential to be able to share results across different social media sites with friends. This should be thoroughly tested in the context of real Android and iOS devices, with different OS versions and different device configurations, to understand the functionality and ease-of-use.

Checklist for Gaming Apps

User Interface

  • Check for landscape and portrait mode
  • Check for animation, movement of the character, graphics, zoom in/out (all gestures), etc.
  • There should not be any clipping (a background that has been cut)
  • Test whether one object overlaps with any other object
  • Verify if the loading indicator is displayed wherever required
  • Character should not move out of the screen/specific area
  • Test for ‘enable and disable’ images/icons/buttons, etc
  • Check for screen title
  • Check for message title, message description, label (should be appropriate)
  • Check scrolling
  • Check the font displayed (color, size, etc)
  • Check other objects too (Example: if it’s a car race- you need to look at the road, people, other objects like buildings, etc)

Performance

  • Check the loading time of a game
  • Make sure that any action is not taking a considerably long time. The game flow should be fast.

Score

  • Verify leaderboards (general/all time/weekly/local)
  • Check the score registration functionality
  • Check the format (whether a comma is required in the score or not. Ideally the score should be written in international number format)
  • Check whether the level completion syncs with the score

Time Out

  • Check for time out
  • Do the actions when time-out is yet to happen

Multitasking

  • Switch between different apps and play the game, check for sound, score, UI, time-out etc

Pause

  • Check if the game is paused if a call is being received, is multitasking or is in sleep mode

Save Settings

  • Switch the device off and then turn it on, then check if settings are saved
  • Log out /on and check the same
  • Making sure that a user does not lose his game in the above conditions

User Profile

  • Put all types of images in the player profile and check
  • Put special characters, numbers, space in username and check
  • Password should appear hidden (for example, in asterisks)

Functionality

  • Check game area, game logic
  • Play till the last level
  • Get the cheat codes from the development team and check all the levels
  • Check for the features that will be unlocked level-wise
  • Check for bonus score
  • Check the score hike when the level gets increased
  • Check for multi-tap action (example: in a car race, we hold down the accelerator and also turn the button left/right simultaneously)
  • Menu options
  • Different game modes/locations

Help and About Screen

  • Should be in an easily understandable format
  • Free from spelling mistakes
  • URL should be hyperlinked

Multiplayer Game

  • Session expiry check
  • Login/Logout
  • Registration (signup)
  • Verify account (receive verification mail)
  • Login with the registered but not verified account (without clicking the verification link)
  • Forgot password checks (many cases here)
  • Game flow
  • Check for win/loss/draw
  • Check options such as challenge/decline challenge/receive challenge
  • Check for time-out (for one player)

Check For Background Music and Sound Effects

  • Switch ON/OFF sound and background music
  • Receive phone call and check
  • Verify if sound effects are in sync with the action
  • Switch ON/OFF device sound(native sound) and check
  • Check for vibration effect if present

Memory Leak

  • Check the game when device memory is low

Network (N/W) Check

  • N/W messages if N/W is not present
  • Check what happens when the network is not available and the user plays a move (whether the score is submitted for that move etc)
  • Check for localization
  • Should be supported by different languages

Check For Time Format

  • Change the device time, format, etc

Size

  • User won’t like if your game takes a lot of device space, so keep an eye on game file size

Check Share Options

  • Post score via mail/FB/Twitter
  • Check the posted/sent messages in FB/Twitter/Mail. Check links should be hyperlinked and the application icon should be displayed in the post (depending on other situations)

Music Playing During App Launch

  • If the music player is running and we start installing any game app, music player should pause without prompting the user for permission.

Interruption

  • If the app is in running mode, then check the behavior of interruption like Bluetooth, Infrared, and CALL/SMS/MMS.

Upgrade The Game/ Battery Effect

  • Upgrading games to the latest version and while migration all data should persist [score, user profile, etc]