Nokia

Manufacturer of mobile telephones.

Overview

Assisted in the design, development and support of a test framework to exercise the software servers within mobile phones attached to a computer.

Technicalities

The .NET based class framework allowed junior developers to rapidly produce tests to exercise Nokia series 40 (and to a lesser extent series 60) phones. The latter prove harder to test as much of their functionality is controlled via functional interfaces that are difficult to call from outside the phone, the former make much greater use of message based interfaces that can be called from a PC. The department this system was developed for specialised in multi-media applications (Camera, Music and Voice Recognition and Recording) but other groups (such as USB development) also quickly picked up on its functionality, with the system eventually being rolled out across the corporation. The tests produced were packaged into a library ready for execution within a test environment.

A major contributor to the ease of developing tests was the ability to rapidly build messages to be sent to the target phone. Within the .NET framework these messages were represented as classes. As there are hundreds of messages that can be sent to a phone a tool was developed that ingested .PMD files (that describe the messages a phone understands) and produced the appropriate C# or Visual Basic classes via the CodeDOM.

A system service monitored specified directories for command xml files to appear that would cause the service to go off and automatically flash a phone with the specified software release. Once flashed the service would run a set of tests (as described earlier). Once complete the results were emailed to the appropriate individuals (as specified within the xml file).

The development of FFT based audio and image comparison mechanisms permitted the possibility of automating what were previously considered to be manual tests - for example the testing of audio quality, detection of corrupted photos, etc. To this end a prototype based around the Windows Workflow Foundation was produced that would allow test developers to record a series of keystroked on the phone and at appropriate stages take a snapshot of the display to determine, via OCR, if the phone had reached the expected destination. If so further actions could be taken such as recording audio or extracting a photo from the phone and these media files examined for differences from what was expected. The prototype relied on the developer dragging actions, such as keyboard playback, start recording audio, grab snapshot of phone display, etc. on to the worksheet. Whilst constructing the work flow they could toggle recording of key strokes on the phone via a tool bar, or alternatively record the keystrokes at a later date once the work flow was constructed.

Further details on the project