If you have ever visited the Quality Assurance section of our website, you will have noticed that functional testing, listed among several testing services, is included in all our project estimates. You might feel that while major mobile projects, for example iOS 8, do require preliminary testing before official release in order to ensure that users’ phones can at least connect to a carrier, most mobile apps seem to have not much to test.
But they do. Testing is a vital aspect of an app's success on App Store and Google Play, because battery drain, crashes, and poor performance increase the chance that those applications will be abandoned by users despite a cool idea or a dashing design. Furthermore, if to speak of enterprise apps, the absence of stability along with security breaches can place the entire business at risk.
What should be tested?
There are three basic things that require testing in all projects, whether a mobile app or PC software:
- Compatibility of scripts and libraries;
- General layout;
- User experience (navigation, help features, error messages, and alerts).
In addition to these basic issues, mobile applications feature six specific aspects that require the attention of quality assurance (QA) engineers. Let’s take a closer look.
1. Diverse smartphones, tablets, and phablets
In an attempt to gain users in a highly competitive market segment, mobile brands keep experimenting with the screen size of phones, tablets, and phablets. For a quality assurance team, that requires an extra set of tests to catch bugs in various screen sizes and layouts. That work is an even bigger challenge because new devices enter the market so frequently that testing all possible configurations is impossible.
Obviously, no company can possibly test all devices produced. That is why testers usually rely on emulators and simulators that have certain limitations. All teams must be aware of existing drawbacks and the limited capabilities of the emulators they use. They must know for sure what can be reliably tested and what cannot.
2. User interaction
Touch screen, Siri, Google Now, gestures – mobile devices are becoming smarter and smarter, which gives QA engineers a new testing dimension. They must not only ensure that an app works smoothly but also ensure that it works smoothly with all means of interaction.
3. Privacy and security
Even though an application does not use confidential information, for example credit card numbers and bank account codes, and there is no need for a sophisticated penetration test, there’s still work for the QA team in order to ensure that users’ data are secure.
4. Cellular and Internet dependency
Connecting to 3G/4G, a weak or no signal, switching from WiFi to cellular or vice-versa or variations in signal strength and type – all these factors can affect an apps’ performance and cause feature malfunctions and even crashes. All these situations should be tested, which is rather hard as it’s not always possible to simulate all possibilities in a lab.
5. Mobile OS updates
Major mobile OS updates usually require updating apps as well, as we once mentioned writing about iOS 8 and KitKat. It's not just developers, but also QA engineers who should follow developments and be aware of new OS features and how they might influence a particular app.
Another aspect of OS updates is backwards compatibility. Although Apple’s general policy (and astonishing adoption rate) is to support just one previous version, the situation is different for Android users, a large part of whom are owners of outdated models.
6. Constant interruptions
Calls, SMS, and other apps are constantly interrupting users working with your app. For QA engineers that means that it is important to test:
- How the app handles those interruptions and saves data and its status;
- How the app might interfere with the work of other apps and how irritating that might be for users.
Hopefully, we have convinced you that testing is a significant component of success for your future application. Humanum errare est, and even the most brilliant professionals can introduce a bug or two. Don’t leave a bug undetected that later might ruin an app’s entire impression. That’s what quality assurance service is all about.
Image credits: Apple, Azoft, Nick Heer