Problem solve Get help with specific problems with your technologies, process and projects.

Automation speeds up testing in Windows Mobile embedded projects

John Scarpino, VP of QA & Adjunct Professor of Robert Morris University, describes a way to automate testing on Windows Mobile embedded projects.

Is there a way to execute automated embedded software testing on a Windows Mobile portable data terminal (PDT) device?

John Scarpino John Scarpino,
vice president of QA
and adjunct professor,
Robert Morris University

Technically, yes, although the solution requires some jimmy-rigging. In my quest to find a viable automation solution, I scoured the software testing tool industry. I researched every traditional and nontraditional vendor and tool method I could find for test automating on a Windows Mobile embedded PDT device. No one vendor could provide a tool that would suffice, not with out-of-the-box nor with custom configuration.

Eventually, I found a way to automate embedded testing using a combination of tools from the U.K. I started with a tool I was already somewhat familiar with: EggPlant, by TestPlant. EggPlant uses graphical user interface (GUI) image recognition to create test automation. It also allows data input and pickup.

EggPlant is built with a two-tiered approach consisting of a controller machine, where scripts are created and executed, and a system under test (SUT) that runs a virtual network computing (VNC) server.

No one vendor could provide a tool that would suffice.

VNC is a graphical desktop-sharing method that uses the Remote Frame Buffer (RFB) protocol to remotely manage another computer. Here, I used a second tool called RealVNC. RealVNC provides a server and client application for the VNC protocol. Once I got RealVNC up and running on the PDT device, EggPlant had the hooks it needed to automate testing on the device.

EggPlant connects to the VNC server, and the SUT, which is the PDT device with built-in TCP/IP viewers. The SUT can be any system that has a VNC server installed.

Because of this VNC interaction, EggPlant was the first automation tool on Apple OSX. EggPlant uses SenseTalk scripting. An English-like language that is easy to use, SenseTalk provides a "guided record" mode. The tester instructs EggPlant to direct a system's actions and verify a set of test steps.

SenseTalk is derived from the HyperTalk language used in HyperCard, where it was used for application programming for Apple Macintosh and Apple IIGS systems.

The installation of the RealVNC server on the PDT device had never been done before, and it was a little tricky.

The PDT device used at my organization was Motorola MC75A with Avalanche software. A wireless connection to the PC was facilitated by installing Avalanche. I downloaded EggPlant for Windows Mobile and installed files in the directory containing Avalanche on the PC so that the VNC Mobile Server could be executed on the Windows Mobile PDT device. After the VNC server was added, I selected and configured options on the VNC server on the PDT device based on my company's setup.

Just a word of caution: If you choose to use EggPlant as described here, it may take some trial and error to make it compatible with your environment setup. The PC will eventually be able to move the PDT device to automate. Make sure that the PDT device is already on the network when you connect EggPlant to the PDT device via RealVNC to begin the automation process.

Remember, the purpose of automation is to reduce the burden on testers so that they can test other systems. It takes a little extra upfront work, but investing that time should save even more time later. As part of my company's proof of concept, a summer intern created four EggPlant automation scripts for the PDT. Later, the intern remarked how easy the tool was for him to pick up and use, even without prior knowledge of quality assurance and test automation.

Next Steps

Get familiar with the eggPlant Functional app testing tool.

Dig Deeper on Topics Archive

Join the conversation


Send me notifications when other members comment.

Please create a username to comment.

Do you think test automation for a Windows Mobile embedded project is worth the upfront work?
It depends on the type of mobile software project and the types of tests you want to conduct. You can't get 100% test coverage with any automation and yet people still think they can, especially from articles like these. Be more specific in the types of tests and the types of mobile projects for me to even answer this question. I tried posting a comment twice to the article but I got an error.
What kinds of testing did you automate? What I mean by "kinds of testing", I mean load, stress, overall performance, data validation, user experience, functional?

Also what type of mobile software project did you apply? Was it a mobile website, mobile web app, mobile native app or a hybrid app?

Very important to share this information so testers can learn from your article and apply in their mobile testing projects.
Good questions. The tests were all functional. The tests were created for a large US retail company’s UPC system for barcodes and scanning products. The system is responsible for both pricing and inventory, so the number of permutations to test against could be endless. We tested using TestPlant on both the PDT system and within its emulator. Outside of this project, I have also used the tool to review a website -- where it easily recognized if certain colors within an image were correct or not.