Mobile Testing Advanced Learning (Android and iOS)
In this fast growing technology life and software development mobile application developments are playing an essential role to acquire the market and making the application more handy and popular.
Particularly in mobile platform development and testing are two important parts to play the role to pull more and more people interaction and business enhancement.
Here I am going to talk about how and what should be tested first to provide the best quality for the application if you get an application to test on mobile platform.
Operating Systems : There are mainly 5 operating systems available in the market that are frequently used by mostly mobile companies.
- Android from Google
- iOS from Apple
- Symbian from Symbian Foundation.
- BlackBerry from RIM
- Windows from Microsoft
I am going to talk specially about Android and iOS Operating Systems first because these are the operating systems that are much popular than other two.
Before I start in detail we should know few more things that will help to understand the mobile testing from the scratch.
Types of Mobile Apps : There are two types of mobile apps are used in all the mobile devices-
- Native Application.
- Mobile Web Apps.
Native application looks like icon and could not be deleted from the mobile however Mobile Apps cold be deleted and install according to our requirement.
One thing I want to make clear all the mobile apps run on browser, however it does not look like its running on browser because browsers are customized and to operate handy its protected from additional browser features.
But native applications alone were not sufficient to fulfill the requirements and later on we integrated native and mobile web applications and we named and Hybrid Application.
Hybrid applications have icon as well as running on browsers.
Native + Mobile Web Apps = Hybrid Application
We fulfilled the gap between Native and Web application by using the technology Phone Gap Technology.
We have many tools available in the market to develop hybrid application for i.e. Worklight, Kony etc.
The applications file extension we use for android as .apk and for iOS as .app. In later part we will discuss in details about these two applications.
The question comes how we can get these application from the market ?
Android (.apk) : This application can be accessed from Google Play Market.
iOS (.app) : This could be accessed with iTunes from Apple App Store.
Note : Application could be installed locally as well if .apk of .app files are given by the developers. In next few paragraph I will discuss how to install the application locally.
Mobile Centric Testing : There are few important points that every mobile testers must know-
UX : User Experience Connectivity
Installation User Scenarios
OS and Firmware updates App Permissions
Device Settings Mobile Interruptions
SD Card SIM Card
UX:User Experience :
User experience plays a vital role for any application. If user is not satisfied or not able to access the application easily they will stop using immediately, in this case it does not matter how important functionality is available. So when ever you are going to test make sure the application is user friendly not much complected.
Application should be installed in minimum duration of time and all the necessary documents and guideline should be available during installation and un-installation of the application. All the supportability information should be available during installation. Once installation is complete check the basic behavior of the application and confirm you are not facing any issue that makes people uninterested.
OS and Firmware Updates :
Its not necessary application is working fine in one version of operating system will work fine in all the operating system. Similarly if the application is working fine in one device is not necessarily work fine in other device. So its testers responsibility to take care of behavior of the application in different versions of Operating systems as well as if any update done in the device. You can check the application by installing in any version of OS existing in device and later on upgrade the version or any firmware like memory or another device and check the behavior of the application.
Device Settings :
Application functionality or behavior should not change if you are doing any device settings. For example if you are installing another application of accessing another application in the device the application functionality should not be effected. If you are changing the network of using wi-fi the application behavior should be same and it should work fine. Similarly you can change other settings and test the application.
SD Card :
These days devices are coming with different SD card size (4GB/8GB/16GB etc). Use different capacity of cards and check the behavior of the application. Why I am saying because if mobile hard disk size run out of memory it creates the virtual memory by taking the additional space from SD card. So its important not to miss this scenario and confirm the application in different size of memory.
This is very important part in mobile app testing. Generally if you are testing any application in any network, check if network changes, the application acts in efficient way. Change the network should not effect the application activity. Also check the application in different band width of network or in slow connection. Use the application and during access disconnect or switch the network from mobile network to wi-fi and check the application.
User Scenario :
The priority work of the mobile is to receive and make the calls. If you are accessing the application and during access if call comes and once call gets over the application behavior should not change. Similarly if you are accessing the application and if in middle you need to read the text message should not effect the application behavior.
App Permission :
Some applications need the app permission to access or install the application. It should not ask the same app permission again and again. Also check the installation of application by giving coreccet data or wrong data or giving without any data. Always it should give the relevant information.
Mobile Interruption :
Access more than one application at a time and try to use the installed application that need to test, check the application behavior by switching one application to another. In all the scenarios application should work fine. Similarly during the access do some other activity parallel to and confirm the test application should not crash or stop working.
SIM Card :
This is also quite important to check the application behavior by changing the sim card and using another notwork. Change the sim or using another sim card or network should not effect the behavior of application.
These are the important points for any tester who are going to test mobile applications and should not be missed. Hope this will going to help and keep everything in mind during mobile app testing.
In advanced technology mobile applications Touch is everything and very less physical keyboard are used.
In Touch we perform operations with following activities :
- Touch Modes
Any activity done by touch. For example touch the application icon, drag and drop the app from one place to another place in the device.
- Tap / Long Press / Move / Fling
Tap : Tap any application to open it.
Long Press : To see more information or to act different activity long press on the application or any functionality.
Move : Place any application from one place to another place. Move the screen back and forward.
Fling : Swap the screen left or right.
- Multi Touch
Perform the more than one activity by touching many functionality all together. Generally while playing games.
- Pinch / Zoom / Rotate / Tilt
Pinch : Zoom the application by two fingers.
Zoom : Zoom the application of increase the size of the page.
Tilt : Rotate or move the device to perform operation. Generally in game tilting device many times.
Resolution of the screen and image is also very important part in mobile testing to take care. Image resolution also should be according to screen resolution. It should not be blur if you zoom the screen.
Screen density is a ratio of resolution and display size, which can be quantified as dots per inch, or dpi. The higher the dpi, the smaller each individual pixel is, and the greater clarity. Simply put, a higher dpi means more detail is displayed per inch, but does not necessarily correlate with a higher screen resolution. For example, the Galaxy Nexus (4.65” diagonal) has a 720×1280 px resolution, while the Nexus 7 (7” diagonal) has an 800×1280 px resolution. It is a common misconception to assume that they have about the same screen density, since their resolutions are almost identical. However, the Galaxy Nexus has a screen density of about 316 dpi and the Nexus 7 has a screen density of 216 dpi, not even close. This is because while they are displaying the same resolution, they are also displaying it in different amounts of space. Again, screen density is a ratio of resolution and display size, and both factors contribute to the density.
There are mainly three kind of resolutions applied in andriod-
- LD (Low Density)
- HD (High Density)
- MD (Medium Density)
- XHD (Extra High Density )
Mobile Interface Testing : If you are going to test interface of application in mobile few things you have to think on-
- New ways of user interaction
- Make sure the page loads properly
- No horizontal Scrolling
- Zooming may be turned off on we pages.
- Different layouts for different form-factors.
- Effects of Orientation changes.
New ways of user interaction :
- Touch Based
- Voice Based
- Motion Based
These are the important Form-Factors :
- Smaller Screens, Bigger Controls
- Rotation and Ratio Change
- User Interaction
- Screen Density
- Limited Resources.
The above are most important factors that should always be in your mind if you are going to test mobile apps.