Mobile application testing is a process where a software application is developed for handheld mobile devices and they will be tested for functionality, usability, and consistency. Mobile application testing can be automated or Manual testing
For any application, we must first identify application-related factors:
- Which functional application is it based on (banking, business, gaming or social, …)
- Objects that the application targets (consumers, businesses, education, …)
- Distribution channel is used to spread the application (Apple App Store, Google play, direct distribution)
Below I will share the test scripts for an online flight booking application
1. Functional Testing – Functional testing.
Functional Testing is the most basic testing step for any application to ensure that it is working according to the requirements and regulations set out.
Similar to other basic user-interface applications, mobile applications need human interaction with them.
- Confirm that there is always a flight ready to be displayed for a given destination and allows to select a date.
- Confirming the past day is not displayed in search results.
- Verify that the application works properly when there are calls, messages, notifications from other applications
- Verify the application supports all payment gateway transactions such as Visa, Mastercard, Paypal, etc. as required by the application.
- Verify that the user receives the appropriate error message such as Network error.
- Verify that the application will continue at its last activity in case of a hard reboot or system failure.
2. Compatibility Testing – Testing compatibility.
Compatibility testing is the most important step when it comes to mobile application testing.
The purpose of each mobile application compatibility test is to ensure that the main application functions work as expected on a particular device. The application compatibility only takes a few minutes, and can be scheduled in advance so that it can proceed smoothly.
- Verify that flight search was performed successfully with the Android device.
- Verify that flight search was performed successfully for Apple iPad.
3. Usability Testing – Testing usability
Test usability of app reviews based on the following three criteria for the target audience –
- Efficiency – The accuracy and completeness that the user is assigned can achieve the specified goals in a specific environment.
- Efficiency – The resources used relate to the accuracy and completeness of the goals achieved.
- Satisfaction – The comfort and acceptance of the system that works for users and others affected by its use.
The ability to use the date from the beginning of the application design must be checked and should not be performed only when the application is complete.
- Check availability should be on the homepage.
- Sponsored ads should not be displayed in the middle of the content
- Make sure the buttons are the required size and suitable for your finger.
- Ensure that the buttons are placed in the same part of the screen to avoid confusion to the end user.
- Make sure that icons are natural and relevant to the application.
- Make sure the buttons have the same function.
- Make sure that authentication for zoom in and out gadgets is turned on.
- Ensure that the application provides a method to go back or undo an action, touch the wrong item, within an acceptable time frame.
- Make sure the font size is large enough to be readable and not too large or too small.
4. Localization Testing.
Today, most applications are designed for use globally and they take care of the current user's location, language, time zone, etc. It is important to confirm the function of the application when someone changes the time zone. That must be taken into consideration that sometimes designs for Western countries may not work as intended for objects from eastern countries and vice versa.
- Verify that there is no user interface or data clipping problem when we use mobile applications with different languages (or spoken, non-English languages).
- Verify that the time zone change function is conveniently handled for your mobile applications.
5. Laboratory Testing.
Laboratory testing is usually done by a network operator, and is done by completely simulating wireless networks. This test is done to find any problems when a mobile application uses voice or data connection to perform some functions.
- Verify that there is no problem while a customer is having a voice chat with support staff.
6. Performance Testing – Performance testing.
Perform Mobile performance tests including client application performance, server performance, and network performance.
The basic goal of this type of testing is to ensure that the application works well under certain performance requirements, such as access by a large number of users, or removal of a critical infrastructure. like database server.
- Verify that checking for available flight flights only takes a reasonable amount of time.
- Verify that while checking for available mobile phones flights are operating normally and not hanging.
- Determine the application's battery consumption
- Determine application performance when making network changes from Wifi to 2G / 3G and vice versa
7. Stress Testing.
Stress Testing is a test case for the purpose of detecting errors in exceptions, crashes, and deadlocks that may not be noticed during Functional Testing and interface testing.
Here is a list of some of the criteria for Stress Testing:
Download your application with as much data as possible to try to reach its limit.
Perform the same actions and more.
Perform repetitive operations at different speeds – very fast or very slowly.
For your application to run for a long time, both interact with the device and just let it rest after performing some automated task after a long time, for example a slideshow.
Randomly tap on device screen and keyboard during application run.
Install multiple applications running on your device so you can switch between your applications and other applications.
Check out 1000 users who are accessing the mobile application to search for domestic flights.
Check out 1000 users who are accessing the mobile application to search for international flights.
8. Security Testing – Security testing.
Vulnerabilities for hacking, authentication, and authentication policies, data security, data management and other security standards need to be confirmed as part of Security Testing.
One way to check for security related cases is to expose your mobile data through a proxy server like OWASP Zed Attack Proxy and look for vulnerabilities.
- It is safe to assume that applications are not executed with the same user information on two different mobile devices.
- Make sure that an automatic session expires, if it remains inactive for more than 15 minutes.