Monday, March 3, 2014

Mobile Application Testing


It is a process to test mobile applications for its functionality, usability and consistency on different platform as well as different version. The functional testing of any mobile application is same as web application but little bit difference in it’s UI and usability testing.  Any mobile application will either come pre-installed or can be installed from mobile software distribution platform.
 Different types of testing used in Mobile Application
Installation Testing: 
This is the very first stage of any kind of mobile application if it is not preinstalled in device. So this process should be user friendly and should consume less time during the process of installation in the device. Installing any mobile app should be very simple and we should display the progress bar. If any problem occurred during the installation then there should be a proper message that’s  why user may know why this problem occurred.  Does your application have any specific hardware requirements like memory, camera, CPUs etc? As mentioned above, it’s best to prevent installation on unsupported devices programmatically when possible. Here are instructions to check if your device has sufficient memory/RAM in Android and iOS and also to check for camera on iOS and Android.

Functional Testing:  
It focuses on functionality of the application. We just focus on the functionality which are required by the client. Basically functional testing of any mobile application and web application but we should remember these points while we testing any mobile application.
  • The application developed must be tested thoroughly in all major devices for its functionality.
  • If the memory is full still the application should work properly or generate an alert before reaching any critical situation.
  • If application supports multiple orientations then the app should function accordingly.
  • If application is integrated with any e-pay/payment gateway then it should make sure that the data is highly secured.
  • If application is forcefully stopped during page loading or navigating then it should provide proper informative message.
  • Application should not crash any time and if it happens then we should debug the scenario why, where and how it crashed.

Interrupt Testing:  
Test the behavior of application when any interrupt is occurred. How application handle this type of situation. There are various events that can interrupt the flow of your application. Your application should be able to handle these and should be tested for the same.
  • Incoming Call
  • Text message
  • Other app notifications
  • Storage low
  • Battery low
  • Battery dead
  • No storage
  • Airplane mode
  • Intermittent connectivity
  • Home screen jump
  • Sleep mode 

Performance Testing: 

The most important part of any mobile application is the performance testing and it should be handled efficiently. Actually performance of application may vary with the hardware, but it should not vary too much, that means any application run fast or slow based Processor, RAM, local storage.
  • Application should be capable of handling 20% more than the maximum expected load.
  • If a user performs same operation again and again then it should not crash or get hanged.
  • There should be no lagging in the application.
If multiple applications are running at a time in the device then our application should be smart enough to release the phone’s memory for other applications when our app is in background and when our app is active then it should work without any abnormal behavior

Orientation Testing:
There are two mode Portrait and landscape we should test our application on both mode. Some games work only in landscape mode while some applications are designed to work in portrait mode only and other work in both modes. Make sure you test your applications to see if there are any issues when changing the orientation like application crashing or UI bugs

Screen Resolution Testing:
Make sure that your application looks good on your target screen resolution. Smart phones and tablets come in various shapes and sizes. A list of devices with screen resolution and display density is available on Wikipedia. Some of the common screen resolutions are below:
  • 320 x 480px
  • 640 x 960px
  • 480 x 800px
  • 720 x 1280px
  • 768 x 1280px
  • 800 x 1280px
  • 1200 x 1920px
  • 2048 × 1536px

Power Consumption Testing
Power consumption by any application is the key metric, so before start power consumption testing, make sure mobile device is charged to 100%, so it is easy to measure the power consumption. Make a note of the time, when you start the app and its testing.Perform the tests with different scenarios and based on the start time and ending time, measure the battery power consumption.

Network Connection Testing:
 Most of the mobile application supports the web, so for the web application it is very important to verify the behavior of application in different types of network connection like Wi-Fi or 4G or 3G or 2G connections. If device moves out of any network then it should automatically switch to other network. . You should also test to see how they handle errors when the connection is lost
  • If there is no SIM card in the device then also the app should work properly
  • If Airplane mode is active then also app should work properly.
  • If network signal is too weak then there should be a proper message for it and application should not stopped

 Usability Testing
The most important factor which should be taken extra care while developing a mobile application is its usability. The success and failure of any application depends on its User Interface. The user interface also defined how a user easily interacts with this application.
  • UI of the app should be as per device screen size and no text/control should be cutting off.
  • Text should be readable, and provide zooming functionality is also having advantages.
  • Provide progress indicator if the app/page is loading. So user is aware that the app is fetching some data.
  • Transition of screen from left to right or right to left should be very smoothly
  • Button size should be proper and large enough that it should be easily click-able by the large fingertip and spacing between 2 buttons should also be good enough.

Security Testing:
Security and data privacy are of vital in today’s scenario. Users are worried about their data and credentials being exposed through vulnerable applications. So for each mob application this is very improvement
  • Is your application storing payment information or credit card details?
  • Does your application use secure network protocols?
  • Can they be switched to insecure ones?
  • Does the application ask for more permissions than it needs?
  • Does your application use certificates?
  • Does your application use a Device ID as an identifier?
  • Does your application require a user to be authenticated before they are allowed to access their data?
  • Is there a maximum number of login attempts before they are locked out?
  • Applications should encrypt user name and passwords when authenticating the user over a network.



No comments:

Post a Comment