What is Network Performance Testing?

The Network Performance Test suite (NetPerf) allows tests to be run that use the Symbian platform Communications Framework. The purpose of the NetPerf is to measure and report the performance of the Symbian platform Communications Framework.

The tests can be run on mobile devices or hardware reference boards. A series of tests can be combined into a single script. The script is executed and the results analysed. Device creators and application developers use the test results to analyse and optimise network performance on their hardware. These tests are repeated on the same hardware to show the effects of optimisation and configuration changes. The tests can be run on different hardware to provide a benchmark.

NetPerf provides a common basis for collaborative work on network performance between Symbian and the device creators or application developers. NetPerf is designed to run on H2 and H4 hardware reference boards. NetPerf does not run on the emulator. The tests represent the relative network performance that can be achieved by Symbian platform-based devices. This gives device creators a benchmark for their own hardware and adaptations. Device creators can apply the same test program and scripts to different devices to categorise them.

NetPerf is driven by a configuration file. The configuration file specifies tests in terms of rate, direction and packet size. This allows the test suite to emulate voice streams. This fulfils a common device creator request for information on the behaviour of the network stack when streaming voice packets. It does not emulate the end-to-end use case completely as there is no voice call control signalling.

NetPerf test suite components

The following are the NetPerf test suite components:

UCC

UCC is a daemon on the Test Controller PC that performs actions driven by a script on the Device Under Test (DUT). UCC is part of the PDT.

TestExecute also known as TEF

TEF is the Symbian test script engine. TEF is part of the PDT.

TestExecute UCC plug-in

This is a plug-in which allows the DUT to launch services and make remote procedure calls on remote PCs, in particular the Test Controller PC. The TestExecute UCC plugin is part of the PDT.

TestDriver

This is a Test Controller PC tool which uses STAT to invoke TEF-based tests, and collect the results. This allows tests to be driven from the Test Controller PC. The TestDriver is part of the PDT.

NetPerf.pl

This is a Test Controller PC script which:

  • generates the appropriate TEF scripts from the supplied configuration file

  • invokes TestDriver

  • post-processes the TEF logs to create a summary CSV file.

Delay Meter library

This is a plug-in layer for the communications framework that measures delays to the Bearer.

TestExecute NetPerf plug-in

This plug-in performs the following:

  • Sends data packets

  • receives data packets

  • collects metrics, these metrics are known as throughput or jitter

  • CPU usage meter

If the Delay Meter library is configured, it collects and reports delay measurements.

Sampling profiler

An optional component on the DUT, the Sampling profiler produces a log of the execution time spent in each function in the system. This allows the users to find any processing bottlenecks and identify possible optimisations.

NetPerf test mode

The NetPerf tests can be run in two modes:

  • Fully automatic - tests are started and controlled by the Test Controller PC.

  • Semi-automatic - tests are built on the Test Controller PC and transferred to the DUT. The DUT runs the tests. Results are copied back to the Test Controller PC for analysis.

Bearer Configuration

Bearer configuration is to set up the communication bearers between the DUT, Test Controller PC and Network Monitor PC. The NetPerf test suite uses two separate communication channels: control channel and bearer channel. These two channels can be merged into one bearer.