Presentation Title

Download Report

Transcript Presentation Title

Certification Test Tool
Jon Wheeler
Test Lead
Microsoft Corporation
Assumptions

Familiar with UPnP v1 architecture and
terminology

Interested in evaluating a device’s
compliance against the UPnP standard

Pursuing the UPnP Logo
Overview

Certification Test Tool purpose

What is tested

Test capabilities

Using the tool and interpreting results

Future versions

Tool is posted on www.upnp-ic.org
Purpose of Cert Tool

Drive the certification of UPnP devices

Execute device independent syntax tests
against the UPnP v1 standard

Support device dependent syntax and
semantic testing
Certification Tests
Govind Ramanathan
Software Development Engineer
Microsoft Corporation
What is Tested

Device independent protocol tests

Device specific syntax tests

Device specific semantic tests
Protocol Tests

Validates SSDP and HTTP packets and
their sequence

Tests the following stages: Addressing,
Discovery, Description, and Eventing

Protocol tests are executed regardless of
device type
Syntax Tests

Test actions can be specified for services
that are specific to the device undergoing
test

Syntax tests are created by editing the
<ServiceId>.SyntaxTests.XML file

Tests are run during the Control and
Eventing test stages

Actions are invoked in the order in which
they appear in the XML file
Semantic Tests

Verifies specified output parameters, error
conditions or events

Create semantic tests by editing the
<ServiceId>.SemanticTests.XML file

Actions must be within the same service

Results of one action cannot be used as
input parameters in another action
What is Not Tested

Does not test performance specifications

Does not certify device extensions external
to the UPnP standard
Test Environment

Test tool requires Windows XP

Run only one UPnP device and a single
instance of the test tool on an isolated
network

Turn off LAN connection settings (i.e. proxy
settings) in Internet Options control panel on
Windows XP
Test Environment Diagram
UPnP Cert Tool running
on Windows XP
Device under test
Isolated network
DHCP server
for AutoIP and
DHCP tests
Sniffer for
debugging
(optional)
Configuring XML Files

Tool relies on XML configuration files




<DeviceId>.xml

Gives the Services that this device implements and the embedded
devices.
<ServiceId>.xml

Gives the Actions and State Variables implemented.
<ServiceId>.SyntaxTests.xml

Gives the Action names and the ‘In’ arguments for each Action.
<ServiceId>.SemanticTests.xml

Gives the Action names, ‘In’ arguments and the expected ‘out’
arguments or error code.
Using XML Config Files

Working Committees write the XML config
files


From the XML files the tool verifies if




Standardized config files are distributed with the
tool
Devices have all required service.
Services implement required Actions and State
Variables.
Responds correctly for each Action invocation.
Proprietary devices can be tested but
require the respective XML config files
Device Description
<device>
<deviceType>urn:schemas-upnporg:device:WANDevice:1</deviceType>
</device>
<device>
<Optional/>
<deviceType>urn:schemas-upnporg:device:LANDevice:1</deviceType>
</device>
Service Description
<serviceStateTable>
<stateVariable>
<name>EthernetLinkStatus</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>Up</allowedValue>
<allowedValue>Down</allowedValue>
</allowedValueList>
</stateVariable>
</serviceStateTable>
Syntax Tests XML File
<TestCase>
<Id>1</Id>
<Category>Valid Action And Valid
InArgs</Category>
<ActionName>GetEthernetLinkStatus</Action
Name>
<ExpectedReturnCode>ACTION_AND_INARGS_ARE
_VALID</ExpectedReturnCode>
</TestCase>
Semantic Tests XML File
<ManualAction>
<ActionInstruction> Remove cable.
</ActionInstruction>
<VerificationInstruction> Verify link
light is off.
</VerificationInstruction>
<ExpectedSuccessResponse />
</ManualAction>
Launch the Application
Select Test Options
Step Mode / Run Until Failure

Step Mode




Pauses between each test
Click the “Next” button to continue
Useful when debugging a failure
Run Until Failure

Pauses the test execution at the first failure
Interpreting the Test Log
Test Case 2.0.0.1 Passed
Test Case 2.1.0 Failed to Run
Failure Reason :Precondition Failure - Unable to
Construct Device Discovery Message List.
Reason : Unable to Acquire Root Device Description
Url.Badly formed Notify Alive Packets Header
Value.
Reason : NT Header Value = SSDPBVT is Not Compliant
to UDA V1.0
Tips and Future
Versions
Jon Wheeler
Test Lead
Microsoft Corporation
Helpful Hints

Review the test log for failure details

Use a network sniffer (e.g. MS NetMon) to
monitor network activity

Use Step Mode to help isolate an issue

Read the Test Tool User doc which lists the
test cases
More Tips

A full certification pass takes about 25
minutes to complete

For testing purposes, set the CACHECONTROL in the device to be less than 60 for
SSDP alive notifications.

In your final device implementation, set the
CACHE-CONTROL value to be > 1800
Future Version Plans

Support testing against the v1 security
standard

Secure logs to prevent tampering

Include more extensive logging

Expose interfaces for developing test scripts

Support future UPnP standards (v2)
Q&A

Tool is posted on www.upnp-ic.org

User documentation is included with the tool

Developer support

Questions?
For the interconnected lifestyle