In addition to functionality based test cases, Mobile application testing requires special test cases which should cover following scenarios.
- Battery usage– It’s important to keep a track of battery consumption while running application on the mobile devices.
- Speed of the application- the response time on different devices, with different memory parameters, with different network types etc.
- Data requirements – For installation as well as to verify if the user with limited data plan will able to download it.
- Memory requirement– again, to download, install and run
- Functionality of the application– make sure application is not crashing due to network failure or anything else.
Typical activities and proceedings in Testing Mobile Application
The scope of the testing depends on the amount of requirements to be checked or the extent of changes made to the app. If the changes are few, a round of sanity testing will do. In case of major and/or complex changes, a full regression is recommended.
An example application testing project: ILL (International Learn Lab) is an application designed to help admin, publisher to create websites in collaboration. Using a web browser, instructors choose from a set of features to create a class that meets their requirements.
Mobile Testing process:
Step 1. Identify the types of testing: As ILL application is applicable for browsers, so it’s mandatory to test this application on all supported browsers using different mobile devices. We need to dousability, functional and compatibility testing on different browsers with the combinations of manual and automation test cases.
Step 2. Manual and Automated testing: The methodology followed for this project is Agile with the iteration of two weeks. Every two weeks development team releases a new build to testing team and testing team will run their test cases on QA environment. Automation team creates scripts for set of basic functionality and runs the scripts that help determine if the new build is stable enough to test. The Manual testing team will test the new functionality.
JIRA is used for writing of acceptance criteria; maintaining of test cases and logging /re-verification of defects. Once the iteration gets over, iteration planning meeting held where dev. Team, product owner, business analyst, and QA team discuss what went well and what needs to improve.
Step 3. Beta Testing: Once the regression testing is completed by the QA team, the build moves into UAT( User Acceptance Testing) is done by the client. They re-verify all the bugs to make sure every bug was fixed and the application is working as expected on every approved browser.
Step 4. Performance test: Performance testing team tests the performance of the web app using JMeter scripts and with different the loads on the application.
Step 5. Browser testing: The web app gets tested across multiple browsers- both using different simulation tools as well as physically using real mobile devices.
Step 6. Launch plan: After every 4th week the testing moves into staging, where a final round of end to end testing on these devices is performed to make sure the product is ready for production. And then, it goes Live!
Designing the right test strategy, choosing the right mobile simulators, devices and mobile testing tools can make sure that we have 100% test coverage and help us include security, usability, performance, functionality and compatibility based tests into our test suites.