Software testing: Characteristics and types of mobile testing
Testing of mobile applications
In software testing, mobile application tests have a number of challenges related to device variety, screen size and resolutions. Some of the most important challenges are certainly the following:
- Hardware: multiple manufacturer challenges and application compatibility on all devices, different CPU and device specifications, different sensors and different screen sizes and resolutions
- Software: challenges related to operating system and user interface compatibility and browser compatibility
- Network: challenges related to multiple network operators and network types such as Wi-Fi, GSM, 2G, 3G, 4G, etc.
A tester must test the application to ensure that the application works on multiple devices with different specifications, is compatible with previous versions of the operating system, always taking into account the characteristics of the devices, the consequent transfer of data and loading of the server and so on . In addition, the main application stores have their own compliance guidelines that must be respected, thus complicating testing. The need for rapid releases and shorter development cycles and tests complicate the problem of providing suitable quality applications.
Types of Mobile Testing
In mobile software testing there are some specific types of testing for mobile devices due to the atypical nature of applications, devices and mobile platforms.
Testing for device features
The differences in the types of devices and the differences in their capabilities imply that testing must be conducted on a large number of devices. This means that for a given application the target devices must be tested in order of priority.
Testing for connectivity
Mobile devices normally operate in one of three modes: always connected, never connected or intermittently connected. This has an impact on the way data is synchronized between Client and Server, on requests for local data storage and on the Store and Forward when connectivity is not present.
Testing of applications on different platforms
Every mobile operating system has its limits. Testing a single application on multiple devices running on the same platform is also a challenge, due to shorter release cycles of the platforms and compatibility issues. Testing on all platforms further increases the challenge.
Common types of testing applied to mobile testing
There are many types of tests to test conventional applications and many of them are also valid for the testing of mobile applications. Some are: Installation, User Interface, Functional, Security, Performance, Stress, Usability, Database, Compatibility, Shortage of Resources, Memory Usage, Battery, Certification and others.
Let’s look at some of them in detail:
- Functional Testing: normal functional testing, but in the context of mobile application.
- Testing Input Methods: input data testing using all supported input methods: physical keyboard, virtual keyboard, touch screen, motion sensors, voice, gestures, video and sound input (if present), light sensors, accelerators, gravity , magnetic fields, pressures, thermal sensors and others.
- Testing for UI and Guidelines: the user interface must be tested against the guidelines provided by each platform.
- Orientation Testing: orientation testing to ensure that the UI application is correctly shown.
- Testing Interruptions: testing of various types of interruptions such as voice calls, SMS, low battery chargers and others while the application is active.
- Network Testing: testing the behavior of the application with different types of connections (Wi-Fi, GPRS or telephone data connectivity etc.) in data transfer conditions.
- Testing of Preferences: testing of the impact of preferences on the application, ie if the application allows changes or not to preferences.
- Battery Testing: testing the impact of battery life and its state on the application
Finally, some mobile applications require field testing to ensure that they work based on the network requirements provided by different service providers and on different types of communication technologies. Field tests require careful planning and identification of the types of tests to be performed. One of the challenges of field testing is the availability of various types of connections and services from network providers, especially when remote application development and testing is performed.