The Challenge of Quality Assurance in Mobile Development
One year ago, I started my work at grandcentrix as a mobile app tester. Reviewing and testing Smart Home and IoT solutions for mobile devices is a lot different to usual software testing.
In this article, i’ll try to show you the differences and the risks for mobile app testing. So if you’re working in quality assurance you should learn something new, but also people who have no clue about testing should understand this article.
Why do we need Quality Assurance in Software Development?
Generally, the goal of quality assurance is a way of preventing mistakes and defects in manufactured products and avoiding problems when delivering solutions or services to our customers. In the following article, I want to tell you something about quality assurance, especially for mobile applications.
Apps are more often cloud-based solutions. They are mostly running in sandbox mode and we have a lot of different devices which have to be supported, like tablets or wearables.
So what are the main differences between testing mobile apps and software testing in general? It really depends on the nature of the project. For example, if you have an app which needs Bluetooth for communication, you have another risky source of bugs because most of the Android devices have custom drivers and different Bluetooth chips. The combination of Bluetooth chips and Android versions is almost infinite, it isn’t feasible to test all combinations, especially if you don’t have the time or budget to invest. So what is the best strategy to cover most of the combinations?
Testing, in general, should be an ongoing task included in the whole development process. If I have an ongoing project, then I try to switch devices as often as I can. Another important point is that the smartphone market is changing rapidly. Most of the hardware is outdated and no longer receives updates or security patches, even after only one or two years. Yet many people still use these devices. It’s useful to look at statistics to find out which devices or OS versions are commonly used. For example, most of the users in my current project are using iOS 12 devices. Only 10% of people use an older Apple OS, so it makes sense to focus on iOS 12 related tests.
Another important point is the different screen sizes and notch. Using graphics that scale automatically can often lead to UI bugs. I’ve noticed several times that an app which looks great on an iPhone 6+ looks horrible on a smaller device like an iPhone SE.
With Android the variations of software can be a high risk of bugs. Even the “Low Battery Mode” can affect the app in different ways. It depends on how the device handles things like a bad network connection or GPS signal, for example.
At least the design of your app is an important aspect of making a good app.
Most users decide in the first 5 or 10 seconds if they will continue using the app or just delete it and leave a bad rating. The first start is very important for the quality of our products. If the app has a bad or misleading description, most users will be very unhappy and that has nothing to do with the functionality.
The user experience is just as important as in every other industry, especially for quality assurance.
A usability test should include a variety of people and devices. If you have an app which is often used outside, the contrast and colors should be optimized for brighter environments.
I hope my article has given you insight into the difficulties involved when testing mobile applications! If you want to read more on that topic, I suggest reading this article or this Weekly Newsletter.