Why Testing Matters: An Example from a Frustrated Customer
In this blog, we’re going to take a look at a thread that we found on Reddit to illustrate why software testing shouldn’t be considered an ‘add on’ expense during the development process and how it effects your users and their experiences.
The application that is being discussed in the thread is the mobile game Mine Colony. It is a game designed specifically for Android OS that, according to the thread, contained multiple bugs, including the experience highlighted on the thread.
According to the thread, the application didn’t require any special permissions to run, and proceeded to crash during installation. However, the game icon was still located on the screen so the client continued to play the game.
(To read the thread for yourself, click here or follow the link at the bottom of the article)
When the client wanted to uninstall the app from their Android device, an error essentially temporarily bricked their device. In addition to this specific customer, other users reported problems while using the application with major issues requiring a factory reset to be resolved.
As commentators concluded, the probable cause of the crash was the icon file size resulting in an ‘Out of Memory’ exception error. Also, as mentioned: most developers will miss the error due to the fact that that they use programs to install the application and those programs never display the icon.
Fortunately for the customer, they were able to recover some of the data on their device (they were using a PRIV, which made it more difficult for the author of the post to retrieve their data) and it seems that others had more success by carrying out a factory reset.
How can this be prevented?
Upsetting your clients is not something that any developer wants to do, and no one wants their project to go famous because of errors. So how do you prevent such errors from occurring?
Test, test and test again. Unfortunately, for most companies and developers, testing is more of an afterthought than a priority.
While some developers can get away with releasing an application without thoroughly testing it, sooner or later the odds will catch up to them and they will end up chasing away customers instead of bringing them in.
In some cases, testing can be expensive, but you can greatly reduce costs by prioritizing your needs.
For instance, in the case we discussed above, it would have been wise to outsource testing on the top 5 Android devices to see how users react. Crowdtesting could have also caught these errors, although in some cases crowdtesting may not be the best option.
While it may be difficult to justify the cost of testing during development, it will be harder to live with the thought of chasing away customers with an error that could have easily been prevented.
Follow the link below to read the thread for yourself: