In this blog I have tried to list down various types of Mobile Testing and along with that the quality criteria’s that we should focus on to complete that testing type.
Usability testing is testing how user friendly the application is. Usability of an app is the key to success for any business.
Below are the requirements that we should be focus on:
- User Experience – UI is soothing and is easy and is appealing to the average user.
- UI Navigation – Make sure that menu items like Help, About etc. are easy to find and navigate.
- Text Selection – Make sure that there are no problems in Text Selection and back button etc.
- Error Messages – Your error messages should be clear, concise and actionable.
- Screen Orientation – Application behaves similarly in Landscape and Portrait.
- Localization – Internationalization – multiple Language support.
- Disability Support – If your app is for disables also, then it needs greater emphasis on Usability Testing.
Compatibility testing is done to make sure that the same app works on different handsets and also different operating systems. This testing is divided in two types which go parallel to each other.
- Different Manufacturers – Apple and Samsung etc.
- Different Screen Sizes – Tablet/Smartphone
- Screen Resolutions – Small, medium and high density
- Keypads – Virtual, hardware and Trackball.
- Processing Power – RAM, CPU and Memory
- Various Operating Systems – iOS and android
- Versions of Operating systems
- If the operating system is the upgraded one?
Performance testing is basically testing the parameters related to the app’s performance and these parameters are:
- App is too slow to install/load?
- UI is unresponsive?
- Peak load Performance
- How the app behaves when its fully loaded
- Are there any memory leaks or resource deadlocks?
- CPU/Memory Utilization
- Observe the memory utilization of app under following circumstances:
- When the app is launched
- When the app is run in:
- When we Exit the app
- Battery Utilization
- Check what is the apps battery utilization over a period of time
- Test the app in various battery strengths:
- During charging
It’s very important to test the app on the various networks bandwidth on which app will be used. The parameters to keep in mind are:
- Different Carriers:
- AT&T and T Mobile etc.
- At least top 2 carriers of the region.
- Various Speeds:
Most of the mobile apps deal with sensitive user data, so they should be highly secure in way they process the user information and also the way the data is stored.
The parameters to keep in mind are:
- Confidentiality: Does your app keep your private data private?
- Integrity: Can the data from your app be trusted and verified?
- Authentication: Does your app verify you are who you say you are?
- Authorization: Does your application properly limit user privileges?
- Availability: Can an attacker take the app offline?
- Non-Repudiation: Does your app keep records of events?
Conformance Testing is to make sure that we are following international standards/practices and app store guidelines. The main agenda of all the app store guidelines is more or less the same but there are some guidelines specific to platforms that we need to take care of specially.
For Androids app here is the location for various guidelines:
- Launch Checklist: http://developer.android.com/distribute/googleplay/publish/preparing.html
- Brand Guidelines: http://developer.android.com/distribute/googleplay/promote/brand.html
For iOS app here is the location for various guidelines:
- App Store Distribution: https://developer.apple.com/support/appstore/
Installation testing verifies that the installation process goes smoothly without the user having to face any difficulty. This testing process covers installation, updating and uninstalling of an application.
Although Installation testing is mentioned in the end, but this should not undermine the importance of Installation Testing because installation is the first step when uses interact with the app. And as the famous Wording says “First Impression is the last Impression”. Users have shown little patience with regard to apps that are not easy to install and run.
Parameters to keep in mind are:
- Is your application easy to install and launch?
- Activities covered:
- Methods to upgrade:
- Over the Air
- Via Cable
- Via SD Card
Functional Testing means testing that the app is working as intended or as per the requirements. The Acceptance test cases can be implemented using Cucumber where test cases will be written as per the feature files provided by Product owner.
I believe this summarizes different types of mobile testing that be done and after reading this you will have a fair idea of what all needs to be done to Test a Mobile App thoroughly.