Is there a way to execute automated embedded software testing on a Windows Mobile portable data terminal (PDT) device?
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.
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.
This was first published in January 2014