A while back we wrote on the role of the QA agent within the development team. In a way this article is an expansion upon that allowing us to have a discussion around the types of issues that a QA agent may discover during the course of their work.
As far as we know, Product Designers design perfectly tuned features and engineers always program their features in a bug free manner. The QA’s true role in the app development team is prove both of these wrong. The QA agent is often the first true user experience test that a feature will go through. A solar eclipse is often more frequent then a feature passing through QA without any discovered issues.
General Bugs
The most common issues that a QA agent surfaces are those of general bugs and failures. Thee are often technical issues from a bad code routine, improper syntax, etc. For example if a desired message dialog failed to appear or if a reward for a game play routine failed to be credited to the users account.
Usability / Design Issues
The next type of issue that QA agents generally uncover is issues within the design that inhibits the users game play. This could be restrictions in the rule sets around the feature that prevent the user from progressing in an efficient manner. Or it could be a situation where two items are both locked and each are required to unlock the other. These often require a change in how the feature is designed or approach to make the feature easier to work with.
Implementation Issues
Implementation issues are ones where the feature may technically work, however the rulesets or triggers are not according to design. For example there may be a message that you want to show to a user only when the app loads for the first time, however the message is being displayed every time the user returns to the main game lobby.
Hacks / Exploits
These are often uncovered through destructive testing methods, such as attempting to be an end user and take advantage of a given feature. These types of issues can be difficult to uncover but are very critical to maintain a healthy economy within the app. The way for a QA agent to discover these types of issues is to treat the app as a playground — don’t worry about hurting it — because if you do — you did in an isolated test environment. You can then provide details of what you did and allow developers and product designers to resolve the issue before the world at large discovers the exploit. A sample of this type of exploit could be if a feature gave an award for inviting a friend. Well, what happens when a user invites the same friend over and over and over again. Are they able to retrieve the same reward again and again?
These issues are just a small sampling of the types of issues that a QA agent can uncover in the course of their work. My personal favorite are the hacks and exploits being uncovered via destructive testing as these most closely represent the users who can do damage to your app once in production.