It’s hard to imagine the life of a modern human without mobile devices and, naturally, mobile applications. A testing process is part and parcel of development of such applications.
Proper organization of mobile application testing gives the possibility to properly distribute time, needed for testing, and develop a qualitative, clear and user-friendly application.
We must pay the price for our errors in testing. If it’s a commercial product, then the price is decreasing the number of users and potential clients and, moreover, the rating of the company that has developed the application also declines.
Software that has been developed for using in the industries and in the field of social activity pays the price by losing an income and obtaining hundreds of angry clients.
That’s why this article is devoted to describing the main moments of mobile product testing.
Preparation for the planning
Before you start designing a test plan, you should set boundaries of testing (we mean a list of platforms, operating systems, and devices that are needed for product testing).
- Choosing an operating system. It’s recommended to use the most popular official versions (developer.android.com and developer.apple.com). You shouldn’t forget about testing the product on the earlier versions since not all devices can be upgraded to the last version of the operating system and moreover, some users don’t do this because they don’t want.
If you are working on a long-term project, it’s important to constantly view the content of the operating system that has been chosen for testing. Frequently, new versions don’t support certain elements of the earlier versions. In such a case, the mobile product needs modification.
- Choosing a mobile device. Since a number of software producers and a variety of mobile device types are really huge, it’s obvious that you can’t test a product on all possible devices even if you really try. Therefore, it’s necessary to use several variants of devices that differ in their technical specifications (amount of memory, screen resolution, etc.)
You can use emulators instead of buying all available mobile devices. Yes, this needs some time for their installation but you will get complete access to all necessary devices instead and will have the possibility to rapidly move between them.
Geolocation testing and layout testing can’t be executed without emulators but you should keep in mind that they can’t replace a real smartphone or tablet. You shouldn’t waste time on simulators since they depict a real environment of a device but can’t cover its hardware and this can directly impact a final result.
Therefore, to perform complete testing of mobile applications, you need to have only 3-4 devices and, if you need to perform sample testing, you can do this on emulators.
- Choosing a platform. This indicator basically depends on the product’s target group and client’s requirements. If the product is developed for different types of users, it’s released on iOS and Android (according to statistic, 98 % of mobile software is developed on these two platforms and only 2 % – on the rest. When we talk about specialized software, it’s usually developed on one platform.
Planning test work
When the boundaries of testing have been set, we can move to directly designing a test plan. It’s important to know that testing a mobile product requires more time than testing a website or desktop software since it’s necessary to study certain moments and leave some time for future tests.
It’s an important stage in mobile application testing.
The main task is to give a user the possibility to comfortably work with the software.
For this, you need to meet the following requirements:
- High speed of work;
- A user’s action has a response;
- Simple and clear interface;
- A minimum amount of information needed to be entered from a keyboard.
The software should also meet general requirements to style.
Frequently, requirement testing is not included in a list of compulsory tests when checking the fixes. As a result, we actually receive an incomplete description of a technical task in a check-list (mobile application specifics is not taken into account or there is a contradiction between the specification and a web product.
When an application was being developed, the testers could also not take these requirements into account and do everything as it seems for them to be correct and easier.
In such a case, we test an application that behaves in absolutely different ways on various platforms or an application with constantly appearing system errors when a set of user’s actions has not been mentioned in a personal technical assignment.
Therefore, it will be correct to evaluate the requirements and tell an analyst about the unspecified moments that can occur during the work, before passing these requirements to a developer.
The functionality of the web software that was used for developing a mobile product greatly impacts the time spent on testing. Web versions constantly changed, in the same way as a data structure and as a result, software releases couldn’t keep up with them and services couldn’t simply give a product the necessary data.
Hence, API testing is an important component of this process. While testing the content and format of the data that is being transferred back and forth through REST services, we can find the areas where the software doesn’t keep up with a web version.
At the stage of functional tests of a product, to ensure that mobile software meets the requirements, we should test the software behavior in different situations, such as:
- While the software is being rebooted or upgraded to the last version;
- When changing the current mode to the background mode, when messages and calls can be received;
- When processing the cases when there is no connection (when there are messages on the absence of Internet connection and restoring the previous work, when the connection returns);
- When a mobile application is working, with other devices connected to it;
- When working with various types of connections (4G, 3G, Wi-Fi).
Since various technical conditions and situations impact the above-described tests, they should be executed on real devices.
We should mention that smartphone emulators don’t show real data on the speed of the product’s functioning, its performance, and responsiveness of a real mobile phone. It’s also hard to evaluate the interface with the help of an emulator.
In other words, bigger part of functional testing can be executed with the help of emulators but software behavior in real conditions can be checked only on real devices.
While testing a mobile product, you should primarily choose the devices that will be used for testing the software, calculate the time, needed for requirements testing and API testing and also study the product’s behavior in real conditions by using mobile devices. But, above all, it’s important to make an application clear, accessible and user-friendly.