- January 12, 2016
- Posted by: Mahesh Kulkarni
- Category: Blogs
Mobile technology and smart devices are the trend now and are change the future of the world. Testing mobile applications is different and more complex than testing traditional desktop and web applications. Mobile applications need to be tested on a variety of software platforms and versions, on diverse hardware and under different network connectivity conditions. An effective mobile application testing strategy is essential for getting your applications to market on time and within budget. One of the major key element to consider for effectively testing applications are Target Device Selection that is, which device should we select to test our application and what are the parameters needed to be considered while selecting the device for testing.
Here we’ll discuss these parameters.
Selection of Device :
A commonly used and effective method for selecting Android test devices relies on selecting the most popular devices based on market data. We have to analyze the market and choose the devices that are widely used. Android devices are available in all shapes and sizes. Each device has its own IPA level, screen size, resolution and density, hardware specifications and mobile provider modifications.A variety of other factors (keyboard, CPU type, memory) can affect specialized applications that depends on specific device features and should be taken into account when necessary. While testing an application there are many parameters which should be considered like android version, hardware specifications ,screen size, display type etc. All these parameters are very much important for selection of mobile device for application testing.
Android devices are manufactured by companies like HTC, Samsung, Motorola, LG, Sony and many more. Android phones from HTC, Samsung, Sony Ericsson and Motorola, Google has brought phones to market that feature its own branding. Main difference between Google and other Android phone is that, the user interface they use is completely unaltered from Google’s original design and that they do not feature the customization’s that the likes of HTC and Samsung use to put their own stamp on their Android phones. Samsung puts their own features to the device like TouchWiz UI theme on top of android and on other side HTC have its own UI called HTC Sense which can change the look of various default elements. So it becomes more important to select device for testing your application because most of the times it might happen that a application running on the Google Android phone might fail to run on Samsung or other devices due to the extra layer added by these manufacturers.
Lets discuss following parameters in details which are important for selecting the device for the testing.
- Screen Size of devices
- Device Fragmentation
- Hardware Configuration
- Android -Versions :
Android version is important to be considered for testing the application. The most recent major Android update is Android 6.0 “Marshmallow” in October 2015 and introduced new features at application level. According to new Google Play Store app survey. There are number of devices running a different version of the Android, following figure shows the distribution of the devices that are running on various android versions.
This shows that while testing an application, you need to test it on different versions of android because different operating versions have different capabilities and in short the application should be compatible with the different android versions. Thus android version is the one of the important parameter for device selection because in most of the cases it is observed that application running on one version does not support another version.
For example : I was testing one application on android version 4.4 using Samsung S III and 5.0 on Google Nexus 5. In certain cases I found that some functions of that application were not supported on others versions, that is one function which was working fine on version 4.4 was experiencing some issues on 5.0 version. This is the reason why testing your application on different versions is important.
- Screen Size :
Now as we know that android devices are available in variety of screen sizes and densities The screen size and screen resolution of a device (aka display density) can also affect application user experience (e.g. look and feel of UI, rendering of web pages). Here the challenge is that, the application should work properly on different screen sizes. Most of the times it is observed that application running properly on one screen size have some UI issues on the devices having large screen size. While choosing the device, it is very much important that screen size of device should be good enough, which will cover all test areas related to UI of the application. Google also provides statistics on the number of devices that have a particular physical screen size and density. Information on pixel count for various screen sizes is also available. On the basis these statistics we can get to know that which screen size is mostly used, so that we can choose a device which has a screen size used often.
- Device Fragmentation :
Most difficult aspect of the mobile testing is device fragmentation. It is especially an issue for Android operating system. Lets take a look on image below-
Mobile devices are built on a variety of fragmented platforms that include multiple versions of iOS, Android, Windows, BlackBerry. This is a survey by OpenSignal, more than 24,000 separate Android device models are used in August 2015 over 1200 different mobile brands. According to this survey, Samsung is the market leader with global Android device market share of 37.8%. Each device has its own hardware specifications, so it becomes very tricky to select best device to test on, out of these.
- Device Configuration :
Android devices are available in number of different configurations. Many times application have specific hardware requirements like memory, camera, CPU etc. While selecting a device, we need to consider hardware requirements of application which we are going to test. It is observed that application is running slow or gets crashed on the device which has less memory (RAM) but same application have no issues on device having greater memory. If one application requires 2GB RAM and the device you selected have only 1GB of RAM then you will face issues while testing that application, this makes it important that hardware requirements needed to be considered for selecting a device.
Despite the challenges in mobile application testing, careful selection of devices ensure an effective mobile testing process. An optimal selection of devices for mobile application testing involves all these parameters discussed above. It is always important that you should test your application of appropriate device which can make user testing much more effective.