The importance of testing your mobile apps

DevToolsGuy / Tuesday, March 31, 2015

Let’s not kid ourselves, when you’ve put hours of hard work and effort into developing an app, the last thing you want is someone to come and pick a load of holes in it. From conceiving an idea, to planning it out to writing the code, your app can end up being your ‘baby’. So, to have someone come along, asking questions and poking around for bugs can be infuriating to put it lightly. Nonetheless, your app will often need a fresh pair of eyes to find mistakes you might not see and to pick holes in your build (if not your pride). So, getting your app tested - either by a professional tester or using an app testing tool is well worth doing.

The alternative - not testing your build - is hardly a sensible solution. Just because you know how the app is meant to work, not all users will approach it in the way you expect. It’s no good saying the problem is with, how shall we say, ‘less smart’ end users. If you want your app to be a success, if you want it to be a useful tool in users lives, your apps need to avoid common design mistakes. Testing is the only way you can really go about avoiding such errors, and so, annoying as it can be, it’s better to do a thorough job of it than not. 

Without proper testing, users are likely to come across many unexpected bugs and errors which devs simply didn’t think of. The danger here is that they’ll quickly lose patience with your app, and the vast majority will simply stop using it without ever letting you know why. Testing helps avoid this happening.

Testing 101

Time is a luxury in the rapid world of app development, but some of the fundamental rules you need to consider when testing an app include:

 

  • Always ask questions. App testing means you need to constantly think outside of the box. It’s all about asking “what would happen if?”, “why does this work in the way it does?”, “what happens when?”. Constantly asking questions of the app will throw up unexpected issues. It’s good to get a fresh pair of eyes to do this - if you’ve been working on an app for months, it’s hard to approach it from this angle as you know so intrinsically how it’s supposed to work, and thus forget that new users will have no prior knowledge.
  • Get into character. There are as many different types of users as there are apps. It’s therefore important to think about how different ‘personas’ will approach it. You need to think about people with different tech proficiency levels, different age groups, people who speak different languages. Some people who download your app will be perfectly at ease working their way around a new interface, others will struggle. It’s important to make sure it’s as simple as possible for everybody.
  • Map your app. A fundamental rule of app testing is that you think about every possible way that users will navigate through it - including when they ‘do things wrong’. What happens when they ‘pinch’ their smartphone screen when they should ‘flick’? What happens when they tap the ‘back’ button? Does going down the wrong route take them to an inexplicable error message, or does it signpost them where they should be going?
  • Get out of the office. When you build apps you’ll be doing it in the ‘perfect’ environment - that is, at your desk on a powerful computer. However, what happens when the screen is in bright sunlight? What about when the user’s phone is low on battery? Does the app work when an incoming call interrupts it? And does it keep working smoothly when the user has limited connectivity? Testing your app in the ‘real’ world is crucial for finding weak points.
  • Test it on different devices. There is a huge range of mobile devices which can run your app, so making sure it looks and feels right on all of them is fundamental. Does the UI look right when the phone is tilted for instance? Does it feel native on iOS, Android and Windows Phone? Device testing can reveal answers to these questions.

 

A necessary evil

Testing is far from the most enjoyable part of mobile app development. Nonetheless, there is a range of tools which make this task a lot easier, quicker and smoother. Xamarin's Test Cloud for instance, lets you upload your builds and try them out on over one thousand devices. This means you can release your app with more confidence that it will work well everywhere.

App testing may not be the reason you became a developer, but it needn’t be too painful if you put some simple steps into action. Finding and resolving bugs before an app is released will make your builds far more popular and will see wider take up in the long run.