Loading article…
TTCN-3 (テストおよびテスト制御表記法バージョン3)は、通信システムの適合性テストで使用される、厳密に型付けされたテスト言語です。TTCN-3は、ETSIによってES 201 873シリーズ[1]で記述され、 ITU-TによってZ.160シリーズ[2]で標準化されています。TTCN-3には独自のデータ型があり、 ASN.1、IDL、およびXML型定義 と組み合わせることができます。
標準的な組織
ITU-T TTCN-3 規格は Z シリーズの一部であり、複数の部分で構成されています。
- Z.161 - コアテキスト表記を定義するコア言語
- Z.162 - 表形式のプレゼンテーション形式 (TFT) - テストを表形式で提示する方法
- Z.163 - グラフィカル表示形式(GFT) - MSCに似た表現でテストをグラフィカルに表示する方法
- Z.164 - 操作意味論 - TTCN-3の実行方法を定義する
- Z.165 - TRI - テスターに提供され、必要なAPIを定義します
- Z.166 - TCI - テストコントローラで提供され、必要なAPIを定義します
- Z.167 - ASN.1 - TTCN-3 テスト スイートで ASN.1 データ型を使用する方法を定義します。
- Z.168 - IDL から TTCN-3 へのマッピング
- Z.169 - TTCN-3 での XML スキーマの使用
言語構成
- モジュール
- テスト スイートの最上位のコンテナーはモジュールです。通常はファイルです。
- 成分
- コンポーネントは実行エンティティです。テスト ケースまたは関数はコンポーネント上で実行されます。
- ポート
- コンポーネントは、相互にマッピングされたポートを介して相互に通信したり、SUT と通信したりします。
- テストケース
- テスト ケースは、送信と受信のシーケンスです。メッセージが SUT (テスト対象システム) に送信されると、複数の可能な応答が受信される可能性があります。
- 代替
- テスト ケースは一連の刺激とそれに続く一連の可能な応答であるため、表記には代替案が含まれます。これは、シナリオで可能なすべての代替案をリストするコンパクトな方法です。
- テンプレート
- 情報を送信または受信する場合、パラメータの値は最も重要です。パラメータは送信時に定義する必要があり、受信時に検証する必要があります。テンプレート構造は、送信時にパラメータ値を定義するか、受信時にパラメータ値を検証することを目的としています。パラメータは非常に複雑になる可能性があるため、値の定義と検証は 1 行では済まされません。テンプレートを使用すると、複雑な検証を 1 つのステートメントで実行できるため、テスト ケースは読みやすくなります。
- 評決
- 判定は、テスト ケースの実行結果です。判定には、なし、合格、不合格、エラーの 5 つの値があります。
アプリケーション
TTCN-3 は、 SIP、WiMAX、およびDSRC標準プロトコルへの適合テスト スイートを定義するために使用されています。
オープンモバイルアライアンスは2008年に、イネーブラテスト仕様のテストケースの一部を実行可能な表現に変換するためにTTCN-3を使用する戦略を採用しました。[3]
AUTOSARプロジェクトは、自動車業界内でのTTCN-3の使用を推進しました(2008年)。[4]
3GPPプロジェクトはモバイル業界内でTTCN-3の使用を促進した。[5]
建築
実行時のアーキテクチャは次のように構成されます。
- TE: TTCN-3 Executable は、テスト スイートの実行可能形式です。
- TRI: TTCN-3 ランタイム インターフェイスは、TE と SUT 間のインターフェイスです。2 つの部分に分かれています。
- SA: システムアダプタ
- PA: プラットフォームアダプタ
- TCI: TTCN-3 制御インターフェースは、テスト実行を制御するインターフェースです。次の 3 つに分かれています。
- TM: テスト管理
- TL: テストログ
- CD: コーディングとデコーディング
- CH: コンポーネントの取り扱い
サンプルコード
これは、TTCN-3 の例であり、MSC (メッセージ シーケンス チャート) でグラフィカルに同等です。

モジュールTestSystem {
// 整数型のサブタイプを定義するinteger myNewType ( 0..50 )
// 2つのフィールドを持つリクエスト構造体型を宣言する
type record Request { myNewType param1 , charstring param2 }
// 1つのフィールド型レコードを持つ Answer 構造体型を宣言します。Answer { myNewType param1 }
// メッセージベースの通信ポート
タイプを宣言します。port cEnv_type message { out Request ; in Answer ; }
// テストケースを実行するコンポーネントを宣言します
type component sSystem { port cEnv_type cEnv ; }
// テンプレートは送信パラメータ値を定義し
、受信パラメータ値を検証します。
template Request Good_Req := { param1 := 42 , param2 := "hello !" }; template Answer All_is_OK := { param1 := 0 };
// sSystem コンポーネントで実行される testcase1 を定義します
。testcase testcase1 ( ) はsSystemで実行されます{ // パラメーターとして (42, "hello !") を使用して要求メッセージを送信します。cEnv.send ( Good_Req ) ; // 2 つの可能な回答の代替alt { // パラメーターとして0を含む回答を受信しますか? [] cEnv.receive ( All_is_OK ) { //合格判定! setverdict ( pass ) } // または、何か他のものを受信しますか? [] cEnv.receive { // 不合格判定setverdict ( fail ) } } }
// 制御部分はテストケースの実行を自動的に
連鎖します control { var verdicttype verdict1 ; verdict1 := execute ( testcase1 ()); } }
参照
参考文献
- ^ ETSI TTCN-3 ページ
- ^ Zシリーズ
- ^ OMA相互運用性ワーキンググループ
- ^ TTCN-3 アプリケーション領域、ETSI 公式 TTCN-3 ウェブサイト、2015 年 11 月 17 日に取得
- ^ 3GPP RAN5 モバイル コンピテンス センター
外部リンク
- ETSI TTCN-3 ウェブサイト
- ETSI TTCN-3 ユーザー会議
- TTCN-3のビデオ紹介
- TTCN-3 クイックリファレンスカード
- TTCN-3 ツールのリスト
- ユースケースマップモデル (ITU-T Z.151) の TTCN-3 (ITU-T Z.161) へのエクスポート
- TTCNの歴史
