More than ever before, organisations are now preparing themselves to engage with their customers not only to attract business but also to get to know them better. This proliferation of information makes it possible to personalise user experience for a targeted audience. Building your own Mobile App is a great medium to achieve that. But be cautious – a poorly rated app can ruin everything!
The inspiration for this blog is a piece of work that we did for one of our customer few months back. We tried to find an optimum way of testing mobile apps that were being built targeting their Australian customers.
When you look at the eco-system of mobile app testing, it can be daunting and overwhelming – especially because of the immense risks involved for a poorly tested application that can negate the brand reputation in no time. That’s why it is even more so important that you set your strategy right, before jumping into ‘some sort’ of testing.
When you look at the challenges, they are countless. Unlike any other technology space, mobile industry is going through a rapid transformation which changes as little as in every few months. And if your testing has to keep pace with that market, you will probably experience what we call as the ‘minimal set of challenges’. So here are is our minimal set of challenges –
- Diverse platforms
- Innumerable devices
- A huge fragmentation in OS/hardware/firmware – especially in Android platform
- Frequent OS upgrade
- Shorter App Release cycles
- Relatively less matured test tools
- Predicting & simulating end user behaviour
And when you have to work through these challenges, you have to have certain principles in mind that will drive your testing effort. The two most prominent among them are –
- Target the maximum with the optimum effort: Target your audience. Think about how your tests can impact the majority of your app users. A simple example can be to analyse your usage data from some other sources, look into the demography of these users – how they use it, how they interact and how they consume resources. Build your tests around those priority areas. This can be the ‘cool’ features in your app, a set of devices, one/two specific platforms, anything.
- A proper support system to help your testing: To test an app successfully, you need to have adequate support from the tools, infrastructure and resources. Make sure that you have them in place, allowing you to maximise your automation capability, thus reducing your regression time and manual errors.
So, planning is important..right? Here are my top five “to-dos” when planning for your tests –
1. What are we testing?
Seems quite reasonable question but probably the most poorly answered one. If you do not know what are you trying to test, that’s a perfect recipe for failure. Below is a simple illustration of the tests that you like to identify in a heat-map.
2. Prioritise your tests.
There are innumerable ways that you can design and write your tests but unfortunately projects work within the sphere of triple constraints! So prioritisation is the mantra. You need to understand and decide which makes the most impact and give you the biggest win in the market.
3. Determine how you will handle different tests.
It is of paramount importance that you think about what goes into each of the tests, how will you test them, what tools will be required, test acceptability criteria and so on.
The table below illustrates the idea with the help of simple table that aims to capture all possible factors that may impact your tests outcome.
4. Get your test infrastructure in place.
If you have to test the things you want, make sure there are enablers that can help you to do just that. There are few bits and pieces that you will need organise to get you going –
- Mobile Test Tools
- Test management Tools
- Test Lab/execution set up
- Mobile device lab (on-prem / cloud)
- External dependencies
This is a sample illustration of how you can integrate few of the industry-standard tools. All you are doing here is to find a way that each of the different components in your testing infrastructures gels with each other and makes your life a lot easier by seamlessly flowing information from one to another. Your test scripts can be created, organised and executed seamlessly from this kind of a set up.
5. Pick the right tools.
This does overlap with the previous point and you may be wondering which one to do first. While deciding on the different infrastructure components and understanding how they interact is a critical task, this heavily depends on finding the right fit. There are a number of tooling options in the market for testing mobile apps, each one offering their own unique features. You will have to find out what matters most to you and your organisations.
I prefer to use selection criteria when I go to pick a tool. For mobile app testing, it is even beneficial to set the criteria at two levels where you can consider going to the next level when you think the first level criteria are satisfactorily met.
The diagram below can get you a good feel of the most important things that you need to consider while selecting the right fit.
When you plan well with the right kind of dependencies, you become more confident of the things that you would like to achieve. Of course, there will be surprises – but they are less ‘uncertain’ and more ‘predictable’.
One more thing before I sign off (there is always a ‘one more thing’!) – there are countless ways that things can go wrong in a mobile world but this is also the biggest and the strongest opportunity to connect to your customers in a ‘connected’ world. So leverage it in the most effective way and get the maximum out of it.
If you are not sure how to embark on that journey, feel free to reach out to us – together we can make it happen!