By 2020 users will have downloaded 350 billion mobile apps
The above statement essentially sums up the importance of having applications targeted for the mobile users. Smartphone market is expanding at a rapid pace due to the fact that there are many manufacturers who are offering the phones at a competitive price. With the increase in computing power of the mobile phones, users are moving away from the traditional web based applications to mobile based apps. The other major attraction for the users is they can access the application while they are on a move without having a need to carry a heavy lap top. To capture this huge market of mobile users’ organizations have started investing their time and money in developing mobile apps.
- Mobile users not only expect a good functionality but also expect easy navigation in the Apps. Want to complete a specific function with minimum data entry and minimum clicks.
- Mobile users are very impatient and if a particular App is not meeting their expectations they are more likely to move to a competitor App. According to statistics 79 percent of the users would retry a mobile app only once or twice if it failed to work the first time.
- Lot of emphasis on the performance of the application. Users reject an App with good set of features if it takes more time to launch or to do a specific operation.
- Respect for their privacy and a robust App which is secure.
- Before trying an app users tend to rely a lot on peer reviews.
Challenges for the App developers:
Mobile App’s pose the following challenges:
- Identify targeted Geography – This decides lot of critical factors which include:
- Whether to develop an app targeting Android market or IPhone market.
- What is the amount of backward compatibility that has to be provided from an OS perspective?
- Performance criterion that has to be taken into consideration based on the network speeds.
- Different mobile size – With multitude of device sizes this is one of the biggest challenges.
- App features – Based on the app features the depth to which security has to be implemented will have to be decided. If the App takes personal information or money related things it should have a robust security and privacy implementation
Desktop applications run on a standard hardware and to a large extent on a fixed operating system which is windows. Unlike desktops Mobile world does not have a standard hardware and a fixed operating system. This non-standard environment brings in huge challenges and different set of strategies to test the mobile applications.
Emulators Vs Physical devices: Due to huge count of devices available in the market, it is practically impossible to test on all available Physical devices. To come out with a good mix of Emulators and Physical devices a market analysis should be done in the targeted Geography and identify the top selling mobile devices. Based on this analysis a good mix of emulators and Physical devices should be identified.
Network connectivity testing: How the App behaves if the network connectivity is lost while the user is accessing a particular functionality? Critical features of the App should be tested by ‘disabling’ the network connection while a action is in progress. Not only this for the critical functionalities provided in the App a check has to be done to see how it behaves while on WIFI and while using Mobile network.
OS version testing: An analysis has to be done to find out the operation system that is prevalent in the targeted Geography. This analysis helps in deciding on the number of operating system’s on which the App has to be tested. For Android App’s the site https://developer.android.com/about/dashboards/index.html will help in the decision making process. Similarly, https://david-smith.org/iosversionstats/ gives data about IOS users.
Offline functionality: What functionality should be available to the user when there is no network? Functionality like Appointment booking should be done only in real time. A clear line should be drawn between the functionalities that can be only real-time and the functionalities that can be offline. Real time only functionality should never be made available to the user in the offline mode.
Another thing which has to be considered in offline mode is data security. The critical data should be encrypted so that ‘unwanted’ persons will not be able to decipher the data even if the mobile is lost.
A test of synchronization of offline data after the network is back should be done to prevent data loss.
Upgrade testing: Will the existing application break if the user does not upgrade to the latest App? If the answer is ‘Yes’ the focus should be on how easily the app gets updated on the end user mobile has to be tested.
— Contributor – Anil