Testing programs on Pocket PC

Shamil Kerimov (shamil@softspb.com), January 17, 2002.

Introduction

If a program is not tested it does not work. Good developers understand that testing is needed. Experienced developers demand testing. What is specific about testing Pocket PC programs? This article describes the experience of Pocket PC Testing Center.

Background

As soon as the first computer was born, the programs written for it had many bugs. But time passed, and now we have a great experience of testing programs for many different hardware platforms. Pocket PC is a very young platform, and there is no much experience of testing software written for Pocket PC.

Pocket PC Specific features

Testing software applications for Pocket PC is slightly different from testing those written for desktops. The basic difference is that different Pocket PCs are really different - there are 3 different architectures. To ensure that your program works right on all Pocket PCs you must compile your code into 3 different executables and test each one on a corresponding device. As we have already noticed, the most problematic device is the HP Jornada 540. It is the slowest Pocket PC device ever, and the bugs we catch on it can even disappear when testing the same application on other platforms.

Here is a list of things that are specific to Pocket PC and affect the testing process,

The most wide-spread bugs

Logo Requirements

Microsoft has the "Ready for Windows" Pocket PC logo program. You can download Pocket PC Technical Handbook document that contains requirements for getting this logo sertification. Even if you are not going to certify your program for being a logo-application I recommend to fulfill the logo requirements because they describe standard style and will help you create a prorgam that looks like standard built-in Pocket PC applications.

Automation

Good testers know that everything that can be automated in testing should be automated. On Pocket PC you can use Pocket PC TestSuite application for writing test suites that simulate clicks, keyboard events, etc. It can also be used for testing your application in low memory and low CPU conditions.

Related resources: