The testing of the mobile application is never easy. It is becoming more complex each day, with the release of new devices the complexity grows by many factorials. When the combination of new hardware & software come into play the app in production apps testing has to be automated. It is true that QA activities are considered a “cost center” vis-a-vis development, however, QA is the MOST important process in software development and release the mobile app on the store. In the competitive mobile app market, one has to solve puzzle related usability, functionality and performance by keeping an eye on the project budget. There’s been so much data collected, all showing that customers who are unhappy with mobile app performance will abandon your app and potentially never return 51% of users claim to leave the app as it takes more time to load.
85% of mobile users expect mobile apps speed the same as that of the desktop app. (source)
Despite all these data points, are we improving? Unfortunately not we are going from bad to worse over the years. We are pushing poorly tested apps in the market and negatively impacting the mobile user. I don’t claim but most, if not all, of critical issues, could be fixed or at least ameliorated with correct QA strategies. If one plan on creating a robust mobile testing strategy, we wouldn’t be at a state of affairs in which 46% of mobile customers are completely dissatisfied with app performance or state 99% of performance issues are tied to easily fixable User Interface components that just load too slowly. (source)
We have been working on the mobile app over the last five years. We have developed various mobile apps and released them on app stores. Believe me, this journey was not easy. With our team’s experience, we arrived at the following strategy guidelines. I must confess we don’t apply to allow as one has to keep an eye on the project cost and it’s delivery time.
- Engage QA engineer right from the beginning of the software development cycle.
- Define test scripts
- Unit testing
- Functional testing
- UX testing
- Performance testing
- Load and Regression testing
- User acceptance testing
- Device testing
- OS version testing
- Device vs emulator testing
- Carrier testing and Network connectivity testing
- 3rd party interruption testing
- Security testing