Testing of applications is a standard process and Techment is very religious in abiding by its defined processes. Our testing services are focused primarily on mobile app testing, web application testing and API testing. Though the overall process involved in testing remains the same, testing of platform-specific unique attributes needs to be considered, analysed and addressed mandatorily. Please have a look at the following link to scan through our standard testing process and the content below for mobile app specific additional testing considerations and processes.
1. Requirement Analysis – Apart from gathering clarity on functional requirements clarity on the following attributes is also identified in this phase
- The nature of the app, whether it is Native or Mobile-web or Hybrid
- Scope of testing whether it is limited to front-end or back-end testing is also included
- The features supported in offline mode
- Evaluation on whether any change in the phone’s status affects the application’s flow
- Evaluation of other solutions which the mobile app would be interacting
- Evaluation of compatibility with multiple networks
- Evaluation of frequency data/space is utilization
- Evaluation on how the load is to be handled
2. Planning Phase – The planning phase should also include identifying the applicable testing categories for the mobile app’s i.e. functional, usability, compatibility, performance, security, etc.
The phase also includes deciding on applicable target devices on which the app should be checked based on the following criteria
- Identifying the earliest version of operating systems being supported
- Identifying additional devices of different screen sizes being supported
- Deciding the emulators be used for which device types
3. Test Case and Script Design -Apart from the imperative test cases on functional specifications, the test cases should check on the below as well
- Battery usage
- App speed
- Data requirements
- Device compatibility
4. Test Execution should include the following
- Functional Testing: Apart from testing the functionality, the app should be tested on checking the installation process, updates, sign-up and login, provisioning, device-specific functions, off-line mode behaviour, error messages etc.
- Compatibility testing: The solution should be compatible with the various mobile devices which vary over different platforms, models, and operating system versions. A clear subset of devices should be selected for testing the solution.
- User Interface testing: The app should be tested from the user experience and usability perspective i.e. navigation and content displays, menus, options, buttons, bookmarks, history, settings, and flow of the application.
- Testing external factors: Mobile apps be checked with respect to interactions and interruptions from the device’s other features like various network connection types, SD cards, phone calls, and assorted device settings.
- Accessibility testing: Mobile devices have a diverse demographic of users so it is important to ensure that the app is widely accessible
- Mobile Network Performance Testing: Mobile apps should be tested for change in connection from 2G, 3G to WIFI, responsiveness, battery consumption, stability, etc.
- Security and Compliance Testing: To ensure security and data privacy check the app by validating SQL injection, data dumps, session hijacking, packet sniffing, and SSL. Also, check how the app behaves under various device permissions. Have the usernames and passwords encrypted. See that application has security certificates and makes use of secure network protocols.
- Execute test cases and scripts in all the identified devices, in the cloud, and/or in physical devices in the lab or via testing tools.
With the ever-evolving mobile technologies, the consideration for testing keeps evolving too. Hence it is important to keep auditing the processes to include new considerations and eliminate redundant ones.