For any application’s success, quality assurance must be involved all through the development stages of the mobile application. Whether you have an in-house testing team or you are planning to outsource, it is important to involve QA right from the initial stages of analyzing requirements to releasing the completed product. It can however be tricky to know where to start. This article outlines a step-by-step guide for your mobile application testing process.
Step 1: Planning
As part of planning, you should understand the limitations of your mobile app and you must know what you want to achieve with it.
Consider the following questions to help design a testing strategy:
· Will the mobile app integrate with other mobile apps?
· Will the app be compatible with specific network configurations?
· How will the app handle loads?
· What is the app data and storage usage?
· Is the mobile app Hybrid, Mobile-based, Web-based or Native?
· Are you only testing the front-end of the mobile app?
· Are you testing the back end too?
· Will a change in the status of the phone affect the flow of the app?
· Are all the features of the mobile app working fine?
Step 2: Identification of Suitable Testing Types
Before you test any mobile app, you should identify the type of testing to be carried out. You could test for compatibility, performance, functionality, security and usability. You also need to decide on the functional requirements to test and the target devices to use.
To determine suitable target devices, you need to:
· Identify the devices the app will support
· Identify the earliest operating system version that the app will support
· Identify popular models for your target audience
· Choose some other devices with varying screen sizes
· Determine if you will test the app on an emulator or a real device.
Step 3: Script and Test Case Design
Create test case documents for every functionality and feature.
Apart from functional test cases, you need additional special test cases to cover:
· Data requirements
· Battery usage
You’ll also need to identify the right combination of manual and automated tests to run. This is important and should not be ignored.
Step 4: Automated & Manual Testing
In this step, you should execute both the automated and manual test cases.
In the previous steps, you identified the tests and scripts to use and also created them. Now, you’ll need to run the scripts and tests on the basic app functionalities to confirm that no breakages exist.
Step 5: Beta & Usability Testing
After testing the essential functions of the app, the next phase involves testing the app’s ease of use and how satisfactory the user experience is. To ensure that the platform coverage achieved by beta testers is met, you need to maintain a cross-platform matrix.
After the app has been beta-tested in-house, you may then release the beta version to the general public.
Testing for compatibility
You need to test the app for compatibility with a wide range of mobile platforms and devices. Mobile devices have varying operating system versions, models and platforms. Your test will ensure that the apps are compatible with them.
Testing the interface
The user experience of your app must be great for it to be accepted by your target users. Test the app buttons, settings, content, navigation flow, bookmarks, etc.
Testing external factors
Mobile apps are typically intercepted by notifications, popups and the like from other mobile apps, phone calls, memory cards, network connection errors, and other device settings. Test cases should be executed around this.
Mobile apps are used by a diverse group of users, so you must ensure that your app is accessible to as many people as possible.
Step 6: Performance Testing
Mobile apps must be efficient as they have to compete with other apps to use limited device memory and power. Test the app and check its battery consumption, responsiveness and how stable it is when switching from Wi-Fi to 2G and 3G.
Performance testing checks your application for performance and scalability issues.
Functionality testing of mobile app
The functionality of the app should be thoroughly tested with regards to installation, error messages, device functions, login and sign-up, provisioning and updates.
Perform the functional testing of the app the same way you would conduct functional testing for other apps.
Apart from the functional testing, you should also run the following tests:
· Online and offline testing
· Operational testing
· Login and sign-up
· Error messages
· Installation testing
· Upgrade testing
· Device-specific functions
· Auto-deletion, memory usage, etc
Step 7: Compliance & Security Testing
We are in an era where app security and privacy are of utmost concern to end-users. Users need to be confident that their data and personal information will be kept private and secure.
Test the security of your mobile app sensitive data storage by validating all data dumps, SSL, SQL injection, packet sniffing and the like.
Check how your app functions under the different device permission requests of various apps and test the security of the sensitive data storage. Ensure all usernames and passwords are encrypted. Answer the following queries:
· Does the mobile app use secure network protocols?
· Does the app have security certificates?
· Check for the restrictions available when users attempt a specific number of wrong logins.
Step 8: Summary & Control
This phase involves a complete, intensive and detailed testing process. It covers all manners of tests, including regression tests, iterative tests, and other tests needed to detect minor bugs and ensure app stability.
After the final app testing, the features and settings used for developing the final version of the mobile app should be removed and the final version of the app released to the general public.
The entire testing process should be recorded and documented. A final report should be created from this.
The final report should contain the following:
· The quality of the mobile app
· Important information revealed by the tests
· The various kinds of tests performed and the time taken to complete each
· The quality of the testing effort
· Statistics from incident reports
The report should indicate if the mobile app meets all pre-defined acceptance criteria and if it is fit for use.