Skip to main content

Articles

Featured Products

Windows Mobile Developer Controls
Windows Mobile Developer Controls
Stay in touch using the DEVBUSS RSS feeds.
 

News

Windows Mobile Developer Controls
Windows Mobile Developer Controls

Regression testing your Pocket PC app, a new form of torture

Written by Derek Mitchell  [author's bio]  [read 45055 times]
Edited by Derek

Page 1  Page 2 

Recently we have been building a Pocket PC application for a client that involves entering quite a few forms of data. To enter a candidate for this application takes about 10 minutes or so. As you can imagine testing this application requires entering a few candidates and then synchng the data. With pretty agressive build iterations regression testing is critical, and very time consuming. Not only do you have to test new features but in cutting new builds you need to test all functionality in case you have introduced some unwanted features in other sections of the app. We have been testing this app manually for the last 3 months so I was pretty happy to find that there is a solution to this tedium in the form of Spb's Pocket PC Test Suite. Pocket PC TestSuite is the only existing application for automatic program testing on Pocket PC. You can create test suites that simulate screen taps and keyboard events and start other applications or applets from the Control Panel. It also contains functionality for testing programs in extreme conditions, such as low memory or overloaded CPU.

What really makes Pocket PC Test Suite a real boon to developers is the quick recording feature; which enables you to quickly create a script base; and the powerful scripting language based on Tcl. Tcl scripts allow cycles, conditions and other custom macros.

Also when purchasing Pocket PC TestSuite, you get unlimited support and all subsequent versions for free. Apparently the Pocket PC Testing Center uses Pocket PC TestSuite for testing Pocket PC applications.

Pocket PC TestSuite Discount

I contacted Spb and we have negotiated a 5% discount on all their products. This is how you get the discount on PocketGear:

  • During credit card selection you need to answer "yes" to the question:
    "Do you have any coupons/gift certificates that you would like to use?"
  • On the next page enter this code: 357F8W25
  • Pocket PC TestSuite on Pocket Gear

Simply done.

Quality assurance

Quality assurance is the most time consuming phase of the product cycles. In fact, effective regression testing and stress testing cannot be done without some form of automated testing.

Regression testing is the selective retesting of a software system that has been modified to ensure that all bugs have been fixed and that no other previously-working functions now fail as a result of new 'fixes'. In addition new features need to be tested to ensure that they have not created problems with existing software funcionality. Regression test sessions are executed daily so testing should be automated.

Another important aspect of quality assurance is stress testing. There are several testing scenarios that can be used only in conjunction with automatic testing, for example, performing a large number of iterations of similar actions or tracking memory leaks between certain testing cycles.

You can download a demo movie of TestSuite here (250 Kb).

Pocket PC TestSuite in action

Using Pocket PC TestSuite is simple. Let's say we want to test copy/paste in the Calculator when it is repeated 100 times. We do the following:

  1. Start Pocket PC TestSuite
  2. Create a new test script
  3. Choose "Record Taps" menu item
  4. Start the Calculator application, do what we want to test
  5. Return to the TestSuite
  6. Press OK to insert recorded commands to the script
  7. Add a loop command around the recorded commands to repeat this action 100 times:

for {set i 0} {$i<100} {incr i 1} {
#recorded commands here
}

Your script should look like this:

#TCL Script
source "My Documents\\testsuite.tcl"
for {set i 0} {$i<100} {incr i 1} {
ts_run "\\Windows\\calc.exe"
ts_wait 1913
ts_click 123 132
ts_wait 1462
ts_click 21 308
ts_wait 1121
ts_click 45 271
ts_wait 1632
ts_click 30 270
ts_wait 1035
ts_click 18 306
ts_wait 977
ts_click 48 286
}

Now we can run this script and see how Pocket PC TestSuite simulates copy/paste in the Calculator 100 times. If we need to test the functionality 10 000 times we can change 100 to 10 000 in the test suite script, start it, and continue with another job or go and make some coffee.

Next Page