Search by name
Search by State
Search by Keywords
Search by Category



What is Mobile testing ?

Mobile-device testing process to assure the quality of mobile devices, like mobile phones, PDAs, etc. The testing will be conducted on both hardware and software. And from the view of different procedures, the testing comprises R&D testing, factory testing and certificate testing.

Mobile-device testing involves a set of activities from monitoring and trouble shooting mobile application, content and services on real handsets. Testing includes verification and validation of hardware devices and software applications.

Developing applications for the Android platform is a complicated business. You have to test with multiple operating system versions, hardware vendor interface layers, hardware configurations, and network capabilities. The testing matrix for Android-based applications can be a serious challenge, impacting your product’s quality, time-to-market, and in the end, profitability.

Reasons why testing of mobile devices and applications is so challenging and here are my top five reasons.

1. OS fragmentation

According to StatCounter, approximately 85% of computers use some version of Windows (XP or newer) in January 2013. 7% use OS X and the rest is all made up by Linux, Unix, FreeBSD, iOS, and others.

If you develop some piece of software and you want it to run under Windows, you just have to use some common techniques and your software is running on all Windows versions (forgive me, hardcore coders, for this over-simplification). This approach considerably simplifies the testing process.

The mobile sector is younger and much more fragmented, and so there are more key players here – 33% Android, 23% iOS, some 11% Symbian, Windows Phone somewhere around 3%, but there is no doubt Microsoft will increase its share.

Developers - if they want to cover most of the whole market - have to develop in multiple development environments, making the development process, including testing and localization testing, more complex.

2. Limited space for visual controls

Mouse control of the traditional computers is fast, exact and configurable. Finger control of the mobile devices is slower, clumsy and, sadly, you cannot do much with the size of your finger(s).

The User Interface has to reflect this fact, which also means you have limited space for localization specialties - you cannot resize as heavily as on a desktop. You have to apply different ways of making your text strings fit - for example by using abbreviations.

On the other hand - you can quickly reach the stage of "over-abbreviation", where your target user would actually need to think about the meaning of the text, which is bad. The text needs to be straightforward; do not make your users think!.

3. Platform testing versus Operating System testing

On a desktop you usually do not care whether it is driven by an AMD or Intel CPU and whether the resolution is 1920x1080 or 1600x1200. And maybe even if you do care, you definitely do not care about the brand of the computer – it doesn't matter if your users have a Dell, an HP, etc.

The situation with mobile devices is lot more complex. Say you are targeting just the Android market - but it does not matter. Producers of mobile devices usually add some "extra UI" to their Android implementation, they can pick whatever screen resolution they want, and they can add some super-hyper camera that makes their piece of hardware unique, maybe some navigation which can work with other systems than GPS...

All this means that you cannot be 100% sure that your software can work on any Android device. But this is not just an Android problem, even Windows Phone has now versions 7 and 8, which are not compatible, plus cheaper devices have only half the RAM and some apps just refuse to launch on such devices.

Another fact worth bearing in mind is that mobile operating systems are usually firmly connected to the hardware and you simply cannot install Android on a device that you purchased with Windows Phone and vice versa (well - there are cases where you can do that but these are definitely not supported and usually accompanied by multiple functional issues). It is even a bit difficult to move between versions of the same operating system - you can easily upgrade but downgrading can sometimes be not that easy.

4. Zero configurability

Most of us know that if your desktop computer does not suffice say for the latest games, you can just change your graphic card and hooray! You can add a TV tuner, a better soundcard, larger memory... But if you turn to the mobile segment - forget it. You can sell the device and buy a new, better one. The only thing you can sometimes do is to buy a bigger memory card or some Bluetooth devices (however - carrying pockets full of Bluetooth devices is not something I would consider "mobile").

5. Virtualization, emulation

Desktop computers and their operating systems are with us for quite a few years and in the meantime the possibility of hosting multiple machines with different configurations on one physical piece of hardware improved dramatically. This is good for testing - you can have one powerful machine and deploy various systems on it in an easy way.

Mobile systems are not yet there - you have only the emulators at your disposal. And even though they are made directly by the owners of given mobile operating systems they still cannot be used to simulate 100% of the functionality of these mobile devices and in most cases you simply must involve at least a few physical devices to ensure that the software has been tested correctly and all features have been examined.