
In this 21st century, mobile phones are not only device used for making calls but are used as multipurpose personal/official gadgets. There has been a lot of technical improvement and mobile devices come in with, different Operating System like Apple iOS, Windows, Android, Blackberry, Symbian, Bada OS etc. Currently, billions of people uses mobile phones and over trillions of business depend on these devices. And there are new challenges for hardware manufactures to stay in competition with the constant releases of devices in different sizes and configurations and due to this application developers are forced to deliver their best Apps over various platforms within a quick time.
What is Mobile Application Testing and Why it is needed?
In this highly competitive global market, mobile development cycle is forced to complete in a short period of time. For the vendors to ensure long term success, the App must be tested over different combinations of platforms, networks and operating systems before being launched to market, and functional and non-functional testing like usability testing, performance testing, security testing improves the quality of the mobile Apps.
Significance of Mobile Application Testing:
Testing applications on mobile devices are more challenging than testing web apps on desktop. Let us see why:
Testing should be done,
- with mobile devices having different screen sizes, different configurations like virtual keypad, trackball etc.
- with wide varieties of mobile devices like Apple, HTC, Samsung, Nokia, etc.
- with different operating system like iOS, Bada, Windows and Android etc.
- with different operating system versions like Android 4.0, 4.4.4, 5.0, iOS 9x, 10x etc.
- with different mobile network operators like GSM and CDMA
Mobile Operating Systems:
The following table gives an overview of some of the popular mobile operating systems available in market
Operating System |
Developed by |
Popularity (Low, Medium, High) |
Latest available version |
Android |
Google Inc |
High |
Marshmallow, Android 6.0.1 |
iOS |
Apple Inc |
High |
iOS 10.1.1 |
Blackberry |
Blackberry Ltd |
Low |
Blackberry 10.3 |
Windows |
Microsoft Inc |
Medium |
Windows 10 Mobile |
Symbian |
Symbian Foundation |
Low |
Discontinued |
Mobile Application Testing Strategy
The Test strategy should make sure that all the quality and performance guidelines are met. A few pointers in this area:
- Selection of devices—Should widely analyse the market and choose the devices that are used globally. Popularity is the main factor and clients will also prefer apps which suits devices which are widely used.
- Emulators—Emulators should be used only at the initial stages of development, as they are easy, quick and efficient in checking the app. Emulators duplicates the features and work in real system.
Types of Mobile Emulators
- Device Emulator – Provided by device manufacturers
- Browser Emulator – Simulates mobile browser environments.
- Operating systems Emulator – Apple provides emulators for iPhones, Microsoft for Windows phones and Google Android phones
Types of Mobile Application Testing:
Let’s see the testing process involved in Mobile App Testing.
Functional Testing:
Functional testing is a technique used to test the functional behaviour of the application to ensures that the application is working as per the requirements.
Performance Testing:
Testing the performance of the application by changing the connection from 2G, 3G to WIFI, sharing documents, battery consumption, etc.
Memory Leakage Testing:
Memory leakage testing checks the performance of the Mobile Applications to ensure that each application of the mobile device is using optimized memory for processing.
Interrupt Testing:
Is a process to replicate abrupt(Unexpected) interruption to the application. Interruptions can be; SMS/MMS/calls, battery removal, OS upgrade, switch off/switch on of the media player, etc,. An application should be capable enough to hold these interruptions by going into a suspended state and restarting afterwards.
Usability testing:
Usability testing is used to test the mobile applications in terms of usability, flexibility, and friendliness. The testing process makes sure that the mobile app is now easy to use and offers a suitable user experience to the user.
Installation testing:
Installation testing is used to test if the particular application is installing, uninstalling, and updating properly without any interruption (user experience is smooth and flexible with the application).
Operational testing:
Testing of backups and recovery plan if battery goes down, or data loss while upgrading the application from store.
Security Testing:
The purpose of security testing to test if the application’s data and network security is responding as per the given requirement/guideline.
Test Cases for Testing a Mobile App
In addition to functionality based test cases, Mobile application testing requires special test cases which should cover the following scenarios.
- Battery usage– It’s important to keep track of battery consumption while running an application on the mobile devices.
- Speed of the application- It’s important to check the response time on different devices, with different memory parameters, with different network types etc.
- Data requirements – For installation as well as to verify if the user with limited data plan will able to download and update.
- Memory requirement– again, to download, install and run and update.
- Functionality of the application– make sure application does not crash due to network failure or anything else.
Conclusion
Efficient test strategy design should choose the right mobile devices and mobile testing tools, which can make sure that 100% test coverage is done and help us include usability, performance, functionality, non functionality and security based tests in to out test suites.
–