When a videogame first enters the Quality Assurance (QA) phase, many things can happen. Every game is different and unique in terms of programming, and this is the first challenge any QA team faces: the unpredictable nature of testing.
QA starts with minimum system requirements set by the developer, the benchmark above which they expect their videogame to run without major issues. We begin by looking into the way videogames perform in what’s expected to be their minimum requirement devices, because this is how we start pinpointing issues and bugs right away. It’s understandable to have unrealistic expectations regarding videogames minimum requirements, because developers want their product to be accessible for as wide a number of gamers as possible, according to their business plans. Testing implemented by QA is where these expectations are also put to the test. Sometimes it happens that a videogame tested on a minimum requirement device simply does not work, either because its loading time is too long, or because a series of bugs is unchained in a way that makes the user experience impossible or not enjoyable.
Finding bugs is a job that requires a lot of creativity, and this is an aspect of QA easily ignored. Creative thinking in the QA phase allows two things: to test hypotheses of potential issues, and to clearly explain bugs to the development team responsible for fixing them. It’s not just playing a game the way it’s supposed to be; but it’s by trying to play the game in radical ways the programmers did not intend that issues and bugs start to show up, issues and bugs that, if left unattended, can ruin what would otherwise could be a successful game.
Our TagWizz QA team shares the twelve most common bugs encountered in testing.
One of the most common bugs is when a videogame crashes. This happens when the player asks the videogame to perform an action that it’s not programmed to do, or that the developers did not predict, and the app shuts down. A million variables can cause this issue. In fact, the possibilities are so many from the technical point of view, that it requires a lot of creative thinking to find and replicate bugs that make a videogame crash, and pinpoint with precision what’s causing the issue.
Very similar to the crash bug, and usually paired in the same category with it, it triggers when the videogame is not programmed to perform something the player is asking, and the game simply freezes. Like with any bug, it can happen for a multitude of reasons, but one of the most common causes is memory overload. In this case, the videogame’s issue lies in its minimum system requirements.
Another recurrent reason for freezes is when the videogame uses asynchronism in performing tasks and when a task awaits for another one to finish, but this last task ends with an error, or does not end. This is particularly common when dealing with data downloaded from a server.
In-Game Purchase Bugs
This is a very delicate issue because users can get very frustrated and angry when a purchase they make is not recognized by the app. Of course, users invested their money, and the game’s failure to deliver what it promises. This bug can appear in many forms and for many reasons, but they most common are the following three:
- The game crashes during a purchase, but it doesn’t recognize the purchase even when in had already charged the money.
- The videogame blocks an item from being bought again because it registers that it has already been bought, when in fact the purchase didn’t go through.
- The videogame doesn’t allow the player to purchase an item shown in the store, because the item isn’t registered in the app store, but it’s programmed to be shown in the videogame store.
When the videogame doesn’t show its visuals the way it’s intended to, deteriorating the videogame’s aesthetic vision. Not the most common, but certainly the most complicated to solve is when the issue lies to the graphic processing unit’s (GPU) speed, or when the specific GPU of the device is incompatible with the way the game has been programmed.
Some other reasons are easier to fix, for example when the texture files werenamed incorrectly, so the game can’t load them when needed.
Other reasons include:
- When the textures are uploaded in a lower resolution than intended, such that the game experience is depreciated.
- Texture flickery, a bug perceived when graphics are looked at from certain camera angles.
- When textures are seen in wrong locations.
Bugs regarding sound effects and music come in many different forms: a sound is too high or too low in a way that it’s not intended, or a sound effect or music plays at the wrong moment, or it keeps playing in a loop. Sometimes it’s due to the games searching for the sound file, but it’s incorrectly named. For instance: a player interacts with an element that comes with a sound, but the sound keeps replaying itself in a loop after the context is past, breaking the gaming experience.
Collision Engine bugs
This is a fairly common bug in 3D-modeled environments, and it happens when players can cross to areas not intended to be accessible, like when they cross walls and doors. It also manifests when objects and other characters can be crossed as if they weren’t there, none of which are usual occurrences intended by the developers, unless the intention is to make the player experience some kind of disembodied existence. Otherwise, material collision is expected to work like in real life. This bug occurs when developers or designers miss something when delimiting zones and objects, and can go as far as breaking the gaming experience when players get trapped in an area or object, or when there’s an invisible barrier that prevents the player from normally traversing scenarios. Some other times, the player can see his character simply falling in the void.
Navigation menus can be game breaking too. Sometimes, game menus are programmed incorrectly, so that a button leads to the wrong menu, or a menu becomes inaccessible, or the player gets stuck in a menu he can’t exit. This is usually due to problems of logic with the navigation programming, so that an action not intended executes itself, or blocks itself.
When a videogame is nor performing something that it’s supposed to do, according to the game rules, or it’s performing an action in an unintended way, we have a gameplay bug. This bug can come, literally, in infinite possibilities, like when an element does not behave the way it should according to the context provided to the player, to elements that should be destroyable and are not destroyed (or the other way around), or actions with unintended consequences, or tools and weapons that don’t affect enemies or the environment. It’s common to hear cases of “the enemy is bugged” or “the weapon is bugged” and so forth. This means, the game is not doing what it’s supposed to do regarding that particular gameplay element.
One key element is for QA to have at his disposal the project’s game design documents, to compare whether the game behaves the way it was intended to.
Loading Resources bugs
Sometimes, when a videogame is loading its resources, it loads them incorrectly, in the wrong place, in mid air, below the floor, or at times it doesn’t load them at all. It’s fairly common to have this kind of bugs with disguised loadings when a player is crossing from an area to the next, and as the videogame loads the new area, it misses some resources because it didn’t have enough time to do it, something that occurs in games where the player can move faster than the time the system requires to load the new resources. Or even more game breaking, when the player’s character loads inside an object, or in a situation where it means certain death, like a free fall, or in the middle of an impossible challenge.
Text Localization bugs
Games usually come with texts, and there’s plenty of issues that can come with text, starting from the ancient misspelling, bad grammar issues that are not exclusive to videogames. Those issues are generally spotted by specialized QA teams (QA Localization teams) that understand a wide range of languages. In fact, it is common that QA Localization is performed by the same group of people who initially translated the game to other languages.
However, a lot of mobile games nowadays do not pretend to have perfect translations because it can be quite expensive. Instead, their objective is for the game to simply be “understandable”. As a consequence, they frequently use automated translation tools like Google Translate. In such conditions, it becomes overkill to use a QA Localization team for a Google-translated game.
That said, text localization bugs can be more critical than only misspellings or grammar issues. Indeed, some languages require special characters that the game may not support (and the game may only display squares instead of letters), or they also imply diverse text lengths for the same display space. When that happens, the text becomes unaligned, or it becomes too big or too small for the screen display, and unreadable.
This is the main reason why it’s always a good idea to have people in the QA team check the game in multiple languages. Even if they do not understand the language, they can always spot some of these problems.
Before the upcoming of mass Internet connectivity, and videogames had to be distributed in compact discs, game developers shipped the product and hoped for the best in terms of bug fixing. Today all videogames are updated by downloading directly from the Web. But sometimes, developers find themselves in the position of having to update so many times that a videogame stops being profitable.
Some updates can break a game, as when they erase saving files, or some elements are no longer available in a game breaking way, or the game simply crashes. This type of bugs is solved with new updates and patches to fix issues introduced by previous updates.
That generally leads to very angry users and very bad reviews. It is very important to always do a QA Pass on several devices, with different levels of game advance anytime an update is to be applied.
A very common bug related to saving is not about game progress saving, but simply about settings saving. Settings saving disregard frustrate players who are compelled to constantly change their setting every time they run the game.