Verification of the correct operation of the developed application on various devices, taking into account different hardware configurations, screen resolutions, system versions or network configurations, is crucial to its success.
Testing equipment is selected according to the needs of the client. It is checked on which market it is to operate, in which industry, what is the target group of recipients and the budget and the amount of time for creating and testing the application are specified. Statistics are useful in such an analysis, e.g. on the website of Statcounter Global Stats you can check the market share of producers or operating systems for the region, country or time period you are interested in.
Few companies can afford their own mobile device lab, i.e. gather a group of devices in one place and let the development team work on them. In such a situation, the most popular and cheapest solution is testing on emulators. For example, the Android Studio mobile app building tool allows you to preview and test your app on different emulators that represent physical devices. You can choose an existing model or configure your own by selecting RAM, screen size, system version, battery percentage, etc. However, emulators don't quite replicate the interaction we would have on a real device. It's hard to explore scanning a code, changing orientation or connecting to another device such as Bluetooth headphones.
A much better but expensive solution is mobile device farms such as Browserstack or Amazon Device Farm. These are cloud-based solutions that allow you to test Android and iOS apps on real, physical phones and tablets. Browserstack has over 2000 devices. In addition to basic functionality, we can test, among other things:
There are a few more areas in mobile app testing that are specific to it. It's worth checking how the app behaves depending on the battery level - whether it works properly in power saving mode or while the device is charging. How it behaves when the smartphone switches between networks e.g. from LTE to WiFi or during an incoming call.
It is important to remember how important a user's first impression is. There is such a large selection of apps on the market, easy to download but also easy to remove from the smartphone, that the first minutes after installing it are often decisive. An app should be visually appealing, intuitive, fast and reliable. If we want to have feedback from users before publishing the final version, it is worth making the application available for beta testing. Everyone uses a smartphone and an application in their own way, and this allows to detect new errors.
Once the final version is published, it is a good idea to use automatic bug reporting. This will allow you to catch problems quickly, even before they are reported by users.
The performance of mobile applications is affected by a large number of factors that are constantly changing. Each new version of the system or a new phone model may cause undesired behaviour. It is impossible to predict everything, but it is possible to plan the tests well and start them as early as possible, so that the final recipient receives a product of the highest quality.