By Neerav Patel
Mobile app development takes more than just developers. A good Quality Assurance (QA) team can save organizations from headaches later on. Not surprisingly, mobile app testing requires QA skills just as regular application testing does. But because of the different mobile devices, operating systems, and browsers, mobile testing is an increasingly important specialization activity in the QA domain. It takes a big effort to simulate the real-time scenarios mobile applications face.
A few rules of thumb that can be effective for delivering business-oriented testing deliverables are:
- Make sure that you have access to all physical devices on which the application runs. Emulator/simulators are strategic options, but these solutions are never 100% reliable. In fact, emulators call the authenticity of deliverables into question.
- Time is always a factor. Time constraints include additions to the delivery time and resources needed to test all the application’s modules on all the devices. The QA team needs to simulate all of the positive-negative scenarios. This can be a tedious job, so precise planning and time management both become critical.
- The QA team needs to have a definitive list of devices on which to test. This will ensure a commitment to provide 100% QA around the application’s performance on specific Operating Systems (OS). This is the approach taken by most leading mobile application development vendors today.
- During the Software Testing Life Cycle, situations often arise in which it’s impossible to do exhaustive testing on every device. In those cases, make sure to nail down a strategy where you can start involving emulators/simulators during the early stage of application development. QA teams will need to continue testing with emulators until real devices are available.
Another part of testing mobile applications involves validating Dynamic Business Requirements. The next four rules are the broad categories of business requirements and some of the sample validations that QA teams should perform in each one:
- User Interface (UI) testing
- Validation around changes in Device orientation.
- Validation around navigation flow, Bookmarking, etc.
- Validation around UI components (in terms of pixel density) including Buttons, labels, etc.
- Validation around instruction/guidelines to user like Best Viewed in browser/density, etc.
- User Experience (UX) testing
- Validation around easy and fast, leaving probability to back and forth, forth and back.
- Validation around material information, and with proper links to browse further.
- Validation around assured slow operation like downloading/uploading files.
- Validation around all latest operations are supported (e.g. for internet calling).
- Validation around language selection and grammar correction.
- Validation around voice instructions.
- Validation around cross-browser testing/various pixel density
- Validation around application’s support over data integrity in case network gets lost suddenly in a remote area.
- Validation around application’s support over data integrity in case of sudden battery failure
- Performance testing/load testing
- Validation around download/upload time and speed/response time.
- Validation around download/upload/operational speed in various networks including WIFI, 2G, 3G, and 4G.
- Security testing
- Standard encoding techniques are implemented
- The app should run in an environment/OS having standard/approved antivirus/security software.
- Authentication process, mobile code, security question, etc.
- Validation around as if the application returning malware responses once offline.
- Browser cookies needed to be cleaned up.
- Running application over https protocol.