Installation testing is the testing performed to ensure the application is successfully installed and is working as expected. This is the first point of interaction of the end user with your app which needless to say should be smooth. Few key scenarios to look out while installing applications:
- Storage Space Availability:
Testing your application installation behaviour amidst storage space availability is important. Monitoring the application installer package behaviour during low disk space plays an important role. End users should be displayed proper error messages regarding the space availability issues. Usually, those are taken care by the OS and play-store/app store but handling the same at code level is also a good practice. Testing the application installation with sufficient and insufficient storage space should be one of the test scenarios for installation testing.
2. Storage Location:
Certain apps work their best when stored in the device internal memory while others work best when stored in an SD card. If you do not save the app in the right designated memory, you may encounter issues in app installation because of an unknown error. Developers can provide an attribute during development that defines the storage space where the app should be installed. For example, if the app is to be installed in external storage, then it should be installed in external storage and should not be installed in internal storage.
Hence it’s important to test the app both ways when the attribute is defined and when it is not and try installing apps in both external and internal storage. It is also important to ensure that your app has the option to install/move to SD card as users may run out of memory,
3.Track your Application Size
App size is one of the important parameters as its one of the factor users consider while installing the application. App with more size is usually not preferred by users for installation due to the availability of space in their mobile or due to certain enforcement provided by OS. For example, IOS let you install application of 50mb over the cellular network and post that IOS recommends user to install heavier application over a stable wifi connection. Hence it is important to keep track of your application sizes across different releases. You can use Android Studio for Android builds that helps to compare application with multiple APK’s on different parameters one of which is size. This can be performed via APK Analyzer of Android Studio. Post-monitoring, you can propose your developers to optimize the app size. Also, ensure to verify the app size before and post-installation.
4. Network Throttling
Network variances can often let to unpredictable behaviour of your application. It is important to verify your application behaviour under different network conditions when your app is installing. Hence whenever installing application try to switch on to different networks like 2G, 3G,4G or even wifi. Ensure your application gets installed on different network conditions. Also, evaluate your app installation behaviour when no network is present. The user should be displayed an appropriate error message like ‘Kindly check your network connection’ or ‘Waiting for network connection’ etc.
5. Verify app installation across minimum and maximum versions
Apps developed are defined to be supported for a minimum version. Sometimes developers tend to support higher API version than the defined version as per requirements. Hence it’s important to verify application installation on the minimum app version supported by the app. Sometimes issues like libraries used in app development no longer support the version, the app is supposed to be compatible with leading to issues in installation, hence it’s important to test application on minimum version also.
It’s important to test app installation not just on the minimum version defined but also on all the latest versions released in the market. This helps to ensure your application compatibility on multiple version support and bring out issues if any during the installation period.
Updating your application
App update is also a crucial factor while performing mobile testing. We as testers usually neglect this area of testing. But update feature of an app is also as important as installation. Any failure discovered by end users during an update of the app can lead to issues in the proper functioning of the current version of app or users disinterest in using the app due to an outdated version. Below pointers are important to be considered while testing across the updates for an application:
- Forceful Update: Sometimes few updates across apps are mandatory to be performed due to current app incapabilities to function may be because of stale libraries or third parties etc or due to a crucial feature introduction which may lead to change in the business flow of the application. In such cases, those versions of apps are provided with a forceful update of the app through users. For example, an app with version 1.2 was no longer supported by the developers due to a depleted library used, hence a forcefull updated was thrown to end users, where either they had to update the application or if they choose not to, the application gets auto-killed. Hence testing application update across stale versions is also important.
- Automatic Versus Manual Update: Android and IOS can automatically update your apps and help you save time. But sometimes you may have come across issues where few apps may not have been auto-updated, its because of the manual intervention required from the end users end, which is usually the case of change of permissions which the app may require now or any terms and condition of the app which may have changed and users may need to agree for future updates. Such scenarios should also be tested across by keeping your phone permission on for auto-update and verifying that the app does not get auto-updated due to manual intervention required.
- Data Restoration: It’s important to ensure all user activities or data remains intact pre and post update. It has been seen across many application where user data was lost post update for example edited videos or files from your mobile device etc. Hence this is another criteria to watch out while testing for the update of your application. In this case, I am referencing to the application who majorly takes your mobile data to edit or use for any reference in the app. Usually, e-commerce apps map individual data with login user ID’s and in this case, this scenario may not be applicable.
Note: When updating your app and application is running in the background, the app should be updated and the app running in the background should be auto killed.
It is the testing performed to ensure the application is successfully uninstalled from the user’s mobile device. It is performed to ensure all components of the app are removed during the uninstallation process. Post uninstallation ensure no data in the mobile app folder is remaining related to the app and all files are removed during uninstallation itself and the mobile is restored to its stable state.
With apps reach to end users, is just a click away and similarly apps removal from the device also, it’s important we understand their importance as testers and validate them time to time. Focussing on mere functionality in case of mobile apps may not suffice. Its important to be in the shoes of the end users and validate every possible interaction of the end users with the app starting with installation and ending with uninstallation. Greater the seamless experience more likelihood of your app usage by the end users because in the end what matters is the experience.
Closing the article with the below quotes:
“I think the biggest change, and the one we’re already starting to see take shape, is that globally the majority of internet usage will be done via a mobile device and for most people the mobile web will be their primary – if not their only – way of experiencing the internet.”
– Peter Rojas, Co-founder ofEngadgetandGizmodo