Friday, April 25, 2008

Testing Mobile Applications

Mobile developers will tell you that probably the hardest part of the entire mobile application development process is testing. You would need access to hundreds of mobile devices, test on each and every one, and make sure that the features you implemented in your application work properly on each and every test device. Sure we have emulator, but all they provide is an emulated environment of the phone. Sure you should start with an emulator when testing the application, but eventually, to see how it works on a real device, you need to push further. The question that unfolds is what can you do if your company does not have access to hundreds and hundreds of devices. Here are a few possibilities:

Motorola offers a Handset Loaner Program through which you can test your mobile application on Motorola handsets. The kit that you will receive will consist of the Handset, Charger, Battery, and a USB Cable. The cost of the kit for a 30 day loan varies between $35 and $70. There are not a lot of devices available as far as I can tell. If you loose or damage the device, the fee is $1000 for most of the devices. A lot isn't it? Make sure you do not damage or loose the device.

Nokia offers the Remote Device Access program free of charge for all Nokia Forum members. It is a service that allows you to remotely test your mobile application on Symbian OS-based Nokia devices. "The main features of the service are remote controlling a device, installing and running applications, transferring files, and analyzing log files in real-time."

Sony Ericsson Virtual Lab service allows for remote testing of your mobile applications on selected 2007 Sony Ericsson mobile phones that are connected to a network 24/7. The cost varies between $18 to $20 an hour. The platforms supported are Java ME and UIQ 3.

Probably the most well known service is DeviceAnywhere, and this is because of the high number of devices/manufacturers/operators supported. It offers remote access to almost one thousand mobile devices from more than 25 manufacturers that run on more than 20 networks from places like Japan, UK, US, France, etc. Individual device packages are $100 a month each (and you can choose from over 20 packages); the hourly rate various between $13 and $16 and the hours can be used across all device packages. The unused hours do not roll over to the next month, since unused hours expire at the end of each month. You do get 3 hours of free trial to try the service.

DotMobi Virtual Developer Lab, powered by DeviceAnywhere, offers you 5 free hours to test your mobile application.

PACA Mobile Center offers access to more than 850 handsets. As far as I understood, you need to go to one of their centers (located in France) to get access to the pool of devices. The daily access cost is 500 euros, with the possibility of a 10 day plan starting from 3000 euros, and a yearly plan of 12000 euros. For start up companies, the fees are usually half off the regular price mentioned.

Mob4Fire implements the concept of crowed sourced mobile application testing. How it works is easy and straightforward: "The developer chooses a mix of handsets, network and OS's to test the software on, gets it tested by the crowed, gets feedback and pays the tester." There is an online rating system where testers are rated based on the quality and timeliness of the response. Developers are also tested based on how clearly they outlined the job testers need to do.

I will keep adding to this blog if I find new information. If you want to participate, you are very welcome, so please leave comments.

3 comments:

AndroRoot said...


An 3ds emulator is a hardware device or software program that enables one computer system (also known as a host) to imitate the functions of another computer system (known as the guest). It enables the host system to run software, tools, peripheral devices and other components which are designed for the guest system.

Best Root App said...

Thanx for sharing Useful Information...best root apps for android

All Tech Nerd said...

A 3ds emulator is a hardware device or software program that enables one computer system (also known as a host) to imitate the functions of another computer system (known as the guest). It enables the host system to run the software, tools, peripheral devices and other components which are designed for the guest system.