Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License
"Eclipse Public License v1.0" which accompanies this distribution,
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
Nokia Corporation - initial contribution.
Contributors:
-->
<!DOCTYPE concept
PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-D1B54263-1637-5D4E-8FE1-92612AB2851C" xml:lang="en"><title>What
is Network Performance Testing? </title><shortdesc>The Network Performance Test suite (<i>NetPerf</i>) allows tests
to be run that use the Symbian platform Communications Framework.
The purpose of the <i>NetPerf</i> is to measure and report the performance
of the Symbian platform Communications Framework. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>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. </p>
<p> <i>NetPerf</i> provides a common basis for collaborative work on network
performance between Symbian and the device creators or application developers. <i>NetPerf</i> is
designed to run on <codeph>H2</codeph> and <codeph>H4</codeph> hardware reference
boards. <i>NetPerf</i> 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. </p>
<p> <i>NetPerf</i> is driven by a <xref href="GUID-4D55E43C-B203-5145-9105-D75660D02E3B.dita">configuration
file</xref>. 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. </p>
<section id="GUID-21250CAF-01ED-483D-8D2E-F2AB3CCA6EE6"><title>NetPerf test suite components</title> <p>The following are
the <i>NetPerf</i> test suite components: </p> <ul>
<li id="GUID-F3837338-DCC6-5AC8-AA92-2C978A6AA062"><p> <xref href="GUID-D1B54263-1637-5D4E-8FE1-92612AB2851C.dita#GUID-D1B54263-1637-5D4E-8FE1-92612AB2851C/GUID-006E5816-65F0-50D4-80BD-CAA1D2408FF2"> UCC</xref> </p> </li>
<li id="GUID-A23AD4CE-8613-5009-8060-005121060BB6"><p> <xref href="GUID-D1B54263-1637-5D4E-8FE1-92612AB2851C.dita#GUID-D1B54263-1637-5D4E-8FE1-92612AB2851C/GUID-71E8B043-2917-5B77-B055-D0D366095905">TestExecute also known as TEF</xref> </p> </li>
<li id="GUID-79553BF1-7488-514D-8D63-11A1FF4E505E"><p> <xref href="GUID-D1B54263-1637-5D4E-8FE1-92612AB2851C.dita#GUID-D1B54263-1637-5D4E-8FE1-92612AB2851C/GUID-71B269BB-9A4A-57D4-A558-858A0492D416">TestExecute UCC plug-in</xref> </p> </li>
<li id="GUID-DCBA552D-78EA-5EDC-9271-1D8D016DF447"><p> <xref href="GUID-D1B54263-1637-5D4E-8FE1-92612AB2851C.dita#GUID-D1B54263-1637-5D4E-8FE1-92612AB2851C/GUID-BDD35AF3-DDE6-5E23-9CD1-20C9EB96B0D1">TestDriver</xref> </p> </li>
<li id="GUID-4F3460F0-F8BC-5033-943B-B1A987EF5BF3"><p> <xref href="GUID-D1B54263-1637-5D4E-8FE1-92612AB2851C.dita#GUID-D1B54263-1637-5D4E-8FE1-92612AB2851C/GUID-BFB52F4C-E85A-5EAE-8F06-A54E117896D2">NetPerf.pl</xref> </p> </li>
<li id="GUID-989DD78D-9D50-5293-A5D2-6E1513F86610"><p> <xref href="GUID-D1B54263-1637-5D4E-8FE1-92612AB2851C.dita#GUID-D1B54263-1637-5D4E-8FE1-92612AB2851C/GUID-B10A2F17-A7CD-5770-81C6-D2F60581484B">Delay Meter library</xref> </p> </li>
<li id="GUID-CB48AD6A-3879-5252-B8F3-F3768DC66E80"><p> <xref href="GUID-D1B54263-1637-5D4E-8FE1-92612AB2851C.dita#GUID-D1B54263-1637-5D4E-8FE1-92612AB2851C/GUID-A9AC1C30-3661-5C2D-9469-29D65459314D"> TestExecute NetPerf plug-in</xref> </p> </li>
<li id="GUID-41F2CAC9-117C-5B02-94ED-0B5BF20B4675"><p> <xref href="GUID-D1B54263-1637-5D4E-8FE1-92612AB2851C.dita#GUID-D1B54263-1637-5D4E-8FE1-92612AB2851C/GUID-ECB33906-F3C5-5B57-874A-3D2D9B0B3963"> Sampling profiler</xref> </p> </li>
</ul> <p><b>UCC </b> </p> <p> <i>UCC</i> is a daemon on the <i>Test Controller PC</i> that
performs actions driven by a script on the Device Under Test <i>(DUT)</i>. <i>UCC</i> is
part of the <i>PDT</i>. </p> <p><b>TestExecute also known as TEF </b> </p> <p> <i>TEF</i> is the Symbian
test script engine. <i>TEF</i> is part of the <i>PDT</i>. </p> <p><b>TestExecute UCC plug-in </b> </p> <p>This is a plug-in which allows the <i>DUT</i> to
launch services and make remote procedure calls on remote PCs, in particular
the <i>Test Controller PC</i>. The <i>TestExecute UCC plugin</i> is part of
the <i>PDT</i>. </p> <p><b>TestDriver </b> </p> <p>This is a <i>Test Controller PC</i> tool which
uses <i>STAT</i> to invoke <i>TEF-based</i> tests, and collect the results.
This allows tests to be driven from the <i>Test Controller PC</i>. The <i>TestDriver</i> is
part of the <i>PDT</i>. </p> <p><b>NetPerf.pl </b> </p> <p>This is a <i>Test Controller PC</i> script which: </p> <ul>
<li id="GUID-B79DFB91-2AEB-5C9D-9367-FB7EF1E5E43F"><p>generates the appropriate <i>TEF</i> scripts
from the supplied configuration file </p> </li>
<li id="GUID-E3EAA3C2-AD51-50E4-A745-64BF77161033"><p>invokes <i>TestDriver</i> </p> </li>
<li id="GUID-548D295D-FD1D-5FCB-AC02-4E3783AFE5EF"><p>post-processes the <i>TEF</i> logs
to create a summary <i>CSV</i> file. </p> </li>
</ul> <p><b>Delay Meter library </b> </p> <p>This is a plug-in layer for the communications
framework that measures delays to the Bearer. </p> <p><b>TestExecute NetPerf plug-in </b> </p> <p>This plug-in performs the following: </p> <ul>
<li id="GUID-2AE9F834-9098-5258-86B8-F937DD59B94A"><p>Sends data packets </p> </li>
<li id="GUID-D9BC6822-08FA-59E1-A250-96BBE0EBFE3D"><p>receives data packets </p> </li>
<li id="GUID-57C4B11F-F890-5E42-9DCE-01E9FFF284A9"><p>collects metrics, these
metrics are known as throughput or jitter </p> </li>
<li id="GUID-194CCCEA-AC69-553A-AA4F-F20665952471"><p>CPU usage meter </p> </li>
</ul> <p>If the <i>Delay Meter</i> library is configured, it collects and
reports delay measurements. </p> <p><b>Sampling profiler </b> </p> <p>An optional component on the <i>DUT</i>,
the <i>Sampling profiler</i> 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. </p> </section>
<section id="GUID-4E66FF6D-F3FC-4766-BA6F-FF196F715100"><title>NetPerf test mode</title> <p>The <i>NetPerf</i> tests can
be run in two modes: </p> <ul>
<li id="GUID-9229E4A5-3BB9-5508-A8F0-58E895FE0E1B"><p>Fully automatic - tests
are started and controlled by the <i>Test Controller PC</i>. </p> </li>
<li id="GUID-353B71C8-B5F2-54D1-89FB-E0A4CA69BD2C"><p>Semi-automatic - tests
are built on the <i>Test Controller PC</i> and transferred to the <i>DUT</i>.
The <i>DUT</i> runs the tests. Results are copied back to the <i>Test Controller
PC</i> for analysis. </p> </li>
</ul> </section>
<section id="GUID-CD3B9054-17C4-4519-A242-7959D2C2B8E2"><title>Bearer Configuration</title> <p>Bearer configuration is to
set up the communication bearers between the <i>DUT</i>, <i>Test Controller
PC</i> and <i>Network Monitor PC</i>. The <i>NetPerf</i> test suite uses two
separate communication channels: control channel and bearer channel. These
two channels can be merged into one bearer. </p> </section>
</conbody><related-links>
<link href="GUID-B7A40638-BA80-5175-B23D-2F3964C274A0.dita"><linktext>Goals of
the Comms Architecture</linktext></link>
<link href="GUID-72F3CFD2-DDE4-56F1-907A-7C455BEDF674.dita"><linktext>Running
the NetPerf Test Suite</linktext></link>
<link href="GUID-5CDD2D09-33B2-501B-A060-784C401CA373.dita"><linktext>Building
a ROM for Development Board</linktext></link>
<link href="GUID-C2125B4A-A945-529C-AA2F-BDD00EADF489.dita"><linktext>Configuring
the Communications Database for the DUT</linktext></link>
</related-links></concept>