Presentation Title

Certification Test Tool
Miro Juric
Software Design Engineer/Test
Microsoft Corporation
前提

UPnP v1 のアーキテクチャと専門用語を熟知
していること

UPnP 標準に準拠したデバイスの評価に関心
があること

UPnP ロゴの取得を希望していること
概要

認定テスト ツールの目的

テスト内容

テストの能力

ツールの使用方法と結果の分析

将来のバージョン

ツールの公開先 www.upnp-ic.org
認定ツールの目的

UPnP デバイスの認定を促進

UPnP v1 標準に対するデバイス別の構文テス
トを実行

デバイスに依存した構文とセマンティクスのテ
ストをサポート
テスト内容

デバイスに依存しないプロトコルのテスト

デバイス専用の構文テスト

デバイス専用のセマンティクス テスト
プロトコルのテスト

SSDP および HTTP のパケットとシーケンスの
確認

テストステージ: アドレシング、ディスカバリー
(検出)、ディスクリプション(記述)、イベント

プロトコル テストはデバイスの種類に関係なく
実施される
構文テスト

テストを受けるデバイス専用のサービスごとにテス
ト アクションを指定

<ServiceId>.SyntaxTests.XML ファイルを編集
することで、構文テストを作成

コントロールとイベントのテストステージで、テストを
実行

XML ファイルに表示されている順序で、このアク
ションを実行
セマンティクスのテスト

指定された出力パラメータ、エラー条件、またはイ
ベントを検証

<ServiceId>.SemanticTests.XML ファイルを編
集することで、セマンティクス テストを作成

アクションが同じサービス内に属する必要がある

あるアクションの結果は、別のアクションの入力パ
ラメータとして使用できない
対象外のテスト

パフォーマンス仕様のテスト

UPnP 標準外のデバイス拡張の認定
テスト環境

テスト ツールは Windows XPにおいて実行

独立したネットワーク上において、1 台の UPnP デ
バイスと単独のテスト ツールのインスタンスのみで
実行する

Windows XP のコントロール パネルの[インター
ネット オプション] で、LAN 接続設定をオフにする
(プロキシ設定など)
テスト環境の図
Windows XP上で実行
される UPnP 認定ツール
テスト中のデバイス
独立したネットワーク
DHCP Server
for AutoIP と
DHCP のテスト
デバッグの
スニファリング
(オプション)
XML ファイルの構成

ツールが利用する XML 構成ファイル




<DeviceId>.xml

このデバイスに実装されたサービスと組み込みデバイスを示す
<ServiceId>.xml

実装されるアクションと状態変数を示す
<ServiceId>.SyntaxTests.xml

アクション名と各アクションの ‘In’ 引数を示す
<ServiceId>.SemanticTests.xml

アクション名、 ‘In’ 引数、予想される ‘out’ 引数、エラーコードを示す
XML 構成ファイルの使用

ワーキングコミッティーが XML 構成ファイルを記述


XML ファイルに基づき、ツールが以下を検証




標準化された構成ファイルをツールと共に配布
必要なサービスをデバイスがすべて備えている
必要なアクションと状態変数をサービスが実装している
各アクション呼び出しに適切に応答する
専用デバイスのテストも可能だが、それに応じた
XML 構成ファイルが必要
デバイスの記述
<device>
<deviceType>urn:schemas-upnporg:device:WANDevice:1</deviceType>
</device>
<device>
<Optional/>
<deviceType>urn:schemas-upnporg:device:LANDevice:1</deviceType>
</device>
サービスの記述
<serviceStateTable>
<stateVariable>
<name>EthernetLinkStatus</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>Up</allowedValue>
<allowedValue>Down</allowedValue>
</allowedValueList>
</stateVariable>
</serviceStateTable>
構文テストの XML ファイル
<TestCase>
<Id>1</Id>
<Category>Valid Action And Valid
InArgs</Category>
<ActionName>GetEthernetLinkStatus</Action
Name>
<ExpectedReturnCode>ACTION_AND_INARGS_ARE
_VALID</ExpectedReturnCode>
</TestCase>
セマンティクス テストの XML ファイ
ル
<ManualAction>
<ActionInstruction> Remove cable.
</ActionInstruction>
<VerificationInstruction> Verify link
light is off.
</VerificationInstruction>
<ExpectedSuccessResponse />
</ManualAction>
アプリケーションの起動
テスト オプションの選択
Step Mode / Run Until Failure

Step Mode




各テスト間で一時停止
[Next] ボタンをクリックして続行
エラーのデバッグ時に有益
Run Until Failure

最初のエラーが発生した時にテストの実行を停止
テスト ログの分析
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
ヒントと将来のバージョン
Jon Wheeler
テスト責任者
Microsoft Corporation
役立つヒント

テスト ログでエラーの詳細を確認

ネットワーク スニファ (MS NetMon など) を使用し
た、ネットワーク動作の監視

Step Mode を使用した、問題の切り離し

テスト事例の一覧を示した『Test Tool User』ドキュ
メントを読む
詳細なヒント

完全な認定テストの所要時間は約 25 分

テストが目的である場合は、 SSDPの有効通知の
ため、デバイスの CACHE-CONTROL を 60 未満に
設定

最後のデバイス実装では、 CACHE-CONTROL 値
を 1800 以上に設定
将来のバージョン計画

V1 セキュリティ標準に対するテストをサポート

ログをセキュリティ保護し、改ざんを防止

より広範なログを追加

テスト スクリプトの開発用のインターフェイスを公開

今後の UPnP (v2) をサポート
Q&A

ツールの公開先 www.upnp-ic.org

ユーザー ドキュメントをツールへ同梱

開発者のサポート

質問
For the interconnected lifestyle