Mobile testing - What are the Challenges in mobile testing & Strategies we can follow to deal with them

Challenges in Mobile testing                                    

1.       There are many different Mobile platforms - IOS , Android , Windows , BB

2.       Further different versions of these operating systems

3.       Many different screen resolutions

4.       Different CPU configurations

5.       Different Memory configurations

6.       Different Keypad Types – hardpad, Virtual Keypad

7.       Number of Manufacturers – Micromax , Nokia , HTC, Samsung

8.       Furthermore, the common tools used to test desktop and web-based applications are not fit to test mobile applications. So we need different tools and scripts to do this.

How can we test a mobile applications and What types of testing it requires?Any mobile application should be testing for the following:

1.       Interface Testing – testing the UI interface of the application like screens, buttons, textboxes, navigation etc.

2.       Functional Testing – Verifying the functionality of the mobile application

3.       Uability Testing – This involves testing how simple the application is for user to use. It includes Screen navigations, Text Visibility etc.

4.       Performance Testing – Checking the response time of the application , Memory leaks, Battery consumption etc.

5.       Operational Testing – Testing how well application data is backed up and restored, calls, message testing, alarms and battery usage.

6.       Security Testing – As with any other application , mobile applications are much more prone to security threats. So we much check the application for unauthorized user access, encryption/ decryption etc.

7.       Compatibility testing – for all the hardware and software combinations discussed above( in "Challenges in Mobile testing" section ) .

8.       Network testing – Testing for the Connectivity Issues and various Network types Wi-Fi, 2G, 3G, 4G etc.

9.       Interrupt Testing – Mobile application must be tested for the interruptions like Cable Insertion and Removal for data transfer , Battery Removal , Media Player on/off, Incoming and Outgoing calls , Incoming and Outgoing SMS and MMS , Incoming Notifications etc.

There are several tools available in the market which can aid in testing of a mobile application :

1.       QTP a.k.a. Quick Test Professional .

2.       Infostrech automation framework integrated with TestNG , Selenium

3.       Calabash - Functional testing tool

4.       Testin – A cloud based solution that helps you test mobile apps across 300+ devices.  

5.       Crashlytics - Free tool for iOS and Android devices

6.       SOAPUI - Open Source Cross-Platform Functional Testing Tool for SOA and Web Service Testing

7.       SOASTA TouchTest - Mobile test automation for functional testing

8.       Perfecto Mobile - Automation for functional testing

9.       Robotium - Automation tool for Functional, System, and Acceptance Test

10.   Android Lint - This is integrated with Eclipse IDE for Android. This will point out potential bugs, performance problems

11.   Maveryx - Maveryx for Android is an automated testing tool for functional, regression,

12.   Clang Static Analyzer - An open source tool for running static analysis for iPhone code

And what strategies we need to follow to test it?

1.       Select a target device to test the mobile application in such a way that it justifies the use of application/device and cost of testing.

2.       Emulators – Device Emulators are a cost effective solution to test mobile applications.

3.       Cloud Testing – You can take advantage of cloud computing to test the mobile applications and boost ROI. In this approach data is mad available on the internet rather than on individual devices.

4.       Real time Devices on real Networks – It is imperative to test the mobile applications on an environment which is production like . As mobile devices will be used globally in real time environments with varying signal strengths.