In order to successfully build an application for a mobile device you need to go through the same process as you would for building any other application when it comes to testing. Unfortunately this is typically a painful process as it requires the application to be tested on numerous devices, much of which is hard to automated. Luckily, building applications for the Windows Mobile platform and particularly the .NET Compact Framework reduces the variability of devices and provides a set of expectations around the target device. This process is also painfully slow as the process of building, deploying and testing on the device is much slower than on the desktop.
Most device developers will have at some stage used the device emulator to help them build, test and demonstrate their application. Visual Studio 2005 shipped with v1 of the device emulator which, unlike previous versions, was a standalone emulator that could be used without the overhead of Visual Studio. It was also considerably quicker than previous versions.
Since then we have seen version 2 release and now with Visual Studio 2008 just around the corner there is going to be a device emulator v3. Mohit Gogia has gone into detail about one of the most significant features of the new version – Automation. Automation has particular relevance to testing applications as it enables the tester to programmatically control the emulator. This allows test cases to be fully automated so that they can be integrated into an organisation continuous build system.