With smartphones slowly becoming a must-have, dependency on mobile applications is also increasing day by day. The market is already overflowing with millions of apps. So there is a huge responsibility that the app should be exciting, unique, and bug-free. Also, it becomes challenging for the QA that before the app launch in the market, the app should be free from glitches, and for that, the mobile app should undergo the precise testing process.
Mobile app testing is a procedure to test the application for usability, functional, and consistency glitches. It is very different compared to web testing or software testing. For performing the mobile app testing, we should consider certain specific scenarios, and below are some of the key points to be considered during this process.
Some devices have variations in the pixel density, ratios, viewport and resolution. Even it is different for Android, iOS, and Windows devices. With the variety in screen size, it is essential to check if all the features are working well on different screens, pixels, and ratios. There may be a case that a mobile app that works very smoothly on one screen resolution may not work well on the other device. So it becomes a difficulty in the mobile app to succeed in "All device" testing.
Based on the number of devices
There are several devices in the market with different brands. The pace at which the mobile devices are increasing, testers also need to check the app performance on the various devices. Also, it may not be possible for the testers to check each device available in the market so it is challenging for the testers to choose the device type and testing can run easily.
Some points you can consider while selecting the device:
- Choose the device most widely used in the market.
- Choose multiple devices with different OS.
- Check for the device that has a different screen resolution.
- Check for the hardware specification, memory size, connectivity of the device.
Turning the GPS on/off
Some of the apps use GPS features to guide the user what the apps are doing when you are using the app. Many apps do not require the location of the user, while some apps use the user location to have more accurate information like search near you, weather forecast. While asking for the location permission, the apps show the explanation of why they are asking for it. For the apps that need your location to use, it is essential to make sure that whether the feature of GPS is working or not. Also, need to check how the app function when you have not provided the permission to use your location or you have your GPS off.
Testing of the responsive interface is as necessary as varying screen device testing. The user interface of the app changes with the change in the orientation of the mobile screen. The responsiveness of the app changes with the change in the adjustment of the screen. Clarity, visibility, and readability also vary with the change in orientation. By default, the app uses the adjustment of the mobile. Sometimes the app does not support the mode that the user chooses for the mobile. In that case, the app picks the orientation that it supports. To make sure the elements do not run out into the screen edges, Zoom in/out, app display, alignment of text, images, and the text are readable in all the screen orientation we must carry out the visual display testing of the app.
Various OS and their versions
There exist many different operating systems such as iOS, Android, Windows. Also, this OS has different versions. So, it becomes difficult to test each version of the mobile. There may be the case that a mobile app which is working very smoothly on one OS may not work well on the other operating system or the other version of the OS. So, the testers need to verify that an app should work properly on all the supported platforms and its various version as we are unknown where the user would be installing the application. Also, OS keeps on updating its version from time to time for a better experience. So we need to verify the complete application with the new OS release.
As the device varies, the network also varies depending on the mobile phones. There are different mobile data and network providers across the world such as 2G, 3G, 4G. As the data change, their data transfer speed also varies. In this case, we must check that the app must perform well in different network speeds and also the quality of connectivity while using the app. We should make sure how the app work when the network is slow. Also, these different network providers have different data range capacity. So we must make sure that how the app should work in case of the low data range or no data range.
There are very fewer modifications we see in the mobile battery, but mobile specification and its usage are increasing day-by-day. People are more and more using the apps that lead to power consumption and short battery life. Many of the apps are using other mobile services like location, Bluetooth in the background that will drain out the battery very quickly. Some of the apps use more data that will ultimately use a lot of CPU cycles and lead to battery drain. So we need to make sure the app should use less battery power so that users can use the app for a longer time.
The essential factor in which the app might be working is mobile data, WiFi, or other different networks. The distinct networks carry varying data strength, so it is important to check the data usage by the app. Also, we should take care when there is weak signal strength, low WiFi speed, or sudden network drop that causes a poor impression on the user. These factors can impact the user experience and the performance of the app too. So we should take care how the app will work in case of the network interruptions.
Localization is a technique in which the behavior of the app is tested as per the local settings of the mobile device. On-device localization testing should consider the details such as switching between the device language, date and time, time zones, currency and desired local look-and-feel.
While testing the app localization following aspects can be included:
- Translating the language correctly as per the region
- Assigning the correct language keyboard
- The date and time according to the location
- The default currency applicable for that region
- Phone number format as per the region
App permissions are granting access to what your app is allowed to do and access. App permissions are privileges that the app has like being able to access camera, location, microphones, pictures. The app permission is granted by the user, who may revoke the permission at any time. So the testers need to check how the app function when you have not provided the permission to use specific service or you have that service turned off.
There are different types of permissions that include:
- Access to personal information like contacts, calendar
- Access for the location
- Making and receiving phone calls
- Sending and reading text messages
- Access to bio-metric information like fingerprint
- Access to camera and microphone
- Access to Bluetooth, WiFi, and other interfaces.
Push notifications are the message or the information that is sent to the user to receive the alerts providing the information. The push notifications in the mobile device are used for the purpose that it does not require the app to be open to receive the notification. Push notifications allow us to send the alert and display text even when the device screen is locked.
For the push notification, you must consider the following scenario:
- The notification is received when the app is not running
- The notification is received when the device is locked
- Notifications are received while using another app
- Check the title and description are displayed correctly
- Click on the notification opens the correct view in the application
- The notification counter on the app should increase if the notification is not opened by the user.
Social login allows third-party applications to authenticate using the credentials from the social networks instead of creating a new profile, remembering the new password and filling in all the details. In social login, you can directly point them to the login screen of the selected social media application and after successful authentication, it gets all the necessary details from that provider. Most common social login providers an application uses are Google, Facebook, Twitter and Instagram.
For the social login integration we should consider the following scenarios:
- When a user tries to login with the social media app, verify the user can log in with valid email and password.
- If the browser cookies are cleared, the system should ask for the credentials again.
- If the user changed the password of the social media application, the system should automatically throw the user out and ask for the new credentials again.
- Validate the login when the browser cookies are turned OFF.
- Remember password settings of the browser should not remember the password.
With this, I have reached towards the end of my topic.