Avoiding Pitfalls in Mobile Testing
There are around 3.5 billion smartphone users worldwide, and mobile devices are being used for myriad purposes from online banking, to video editing – even doctor visits.
With the ubiquity of mobile devices and more users accessing mobile apps versus their desktop counterpart, mobile testing is crucial. Why? Because It’s quick and simple.
People don’t have the patience to wait around if the app gets stuck, crashes, or if it’s slow – hence mobile testing through best practices is critical. There are a ton of apps on the market that are rarely used because they are slow, poorly built, or have bugs that negatively impact the user experience. All those issues can be mitigated with proper mobile testing – which we will discuss in this article, along with some common challenges.
Mobile testing comes with various obstacles (Do you know how many different device types are out there for just Android?) – unlike desktop testing where you would mainly consider only two device types (Windows and Mac) there are thousands of different Android devices. According to OpenSignal, in 2015 there were 24,000 different android devices! Today, this number will be much higher. Does this mean you go out and buy all 24,000 and run tests on them? Of course not. One strategy is to test the popular and most common phones with actual devices, and less popular devices can be tested with emulators.
Although emulators are simple to use and deliver faster results, they cannot be solely relied upon; mobile app users will be using real devices such as Smartphones or Tablets, not emulators. It raises a higher risk if testing is not performed on real user devices. Another con of using emulators is they don’t have specific hardware and software support relevant to the operating systems – they just mimic the hardware, software, and operating system of a mobile device.
To add on to this, mobile devices also come in many different sizes. While it’s impossible to test each and every screen size, it is important to test small, medium, and large screen sizes to ensure that the mobile app is displayed correctly in every resolution.
People are constantly on the go, which means their mobile device network is constantly changing as well. In one part of the city a mobile user may be getting 4G, and in other areas probably 3G. If they’re on a subway train or in the basement of their home, they may be getting weak signals or no signals at all. All these things should be kept in mind while testing; apps should be able to perform in any network stage without any hiccups. Of course, some features may not work when there is no signal but there should be features that work offline. For example, if you’re at the airport ready to board and you’re getting weak to no signals, you should still be able to access the app and pull up your flight access or boarding pass. Sometimes there is also a difference in the performance of the app if you use it on Wi-Fi vs. The carriers’ network – another reason why it is important to do proper testing. For this type of testing, emulators can still be used to run basic tests, but It is crucial to perform tests on real networks.
The next challenge is making sure the app is global – although this may not apply to everyone, it’s good to keep this in mind. If an app is built and mostly used in the US, this doesn’t mean the app should be restricted from the rest of the world. Making the app global so anyone can use it in the world can be as simple as having an option to change language.
For example, I was once booking an airline ticket overseas through an airline app. The issue I found with that app was everything was in their own currency, and there was no way to convert it to other currencies within the app. The same would apply to hotel apps as well: it’s useful to have an option to convert to different currencies in the app itself. It makes life much easier for the end user if your app supports global requirements.
In any case, the end goal with an app is to ensure that it runs smoothly, efficiently, and is bug free. Like I mentioned above, a typical end user does not have the patience or tolerance to forgive bugs regardless of the concept and design. The end user needs to have a flawless experience while using the app, hence the importance of effective mobile testing. The challenges involved in mobile testing can seem initially daunting, but they have simple and fairly straightforward solutions.