(57)【要約】【課題】テストケース自動生成のシステム、及び、方法を提供する。【解決手段】テストケース自動生成の方法は、まず、転換ルールに従って、第一仕様記述言語を、第二仕様記述言語に転換する。カバレージ分析演算法により、第二仕様記述言語を分析し、第二仕様記述言語のカバレージを計算すると共に、カバレージに従って、第二仕様記述言語に対応するテストケースを生成する。TTCN言語に従って、TTCNフォーマットに符合するテストケースを生成する。【選択図】図１
2006134284.tif 000002
【特許請求の範囲】
【請求項１】
テストケース自動生成のシステムであって、コミュニケーションシステムのテスト過程に適用し、前記コミュニケーションシステムは、第一仕様記述言語に基づいて設計されてなり、
転換ルールに従って、前記第一仕様記述言語を、第二仕様記述言語に転換する言語翻訳モジュールと、
カバレージ分析演算法を利用して、前記第二仕様記述言語を分析し、前記第二仕様記述言語のカバレージを計算すると共に、前記カバレージに基づいて、前記第二仕様記述言語に対応するテストケースを生成するカバレージ分析モジュールと、
TTCN言語に基づいて、TTCNフォーマットに符合するテストケースを生成するテストケース生成モジュールと、
からなることを特徴とするシステム。
【請求項２】
前記言語翻訳モジュールは、更に、
前記第一仕様言語が記述する前記コミュニケーションシステムの構造語法に対し、語法分析を実行する語法分析器と、
前記語法分析器の結果に従って、前記第二仕様記述言語に対応する情報を得る解析器と、
前記翻訳ルールと前記解析結果に従って、前記第二仕様言語を生成する言語生成器と、
を有することを特徴とする請求項１に記載のシステム。
【請求項３】
前記第二仕様記述言語は、RED（リージョン−エンコーディング  ダイアグラム）検証ツールに合う仕様記述言語であることを特徴とする請求項２に記載のシステム。
【請求項４】
前記翻訳ルールは、RED検証ツールに対応するルールであることを特徴とする請求項２に記載のシステム。
【請求項５】
前記翻訳ルールは、前記第一仕様記述言語の語義間の差異、及び、翻訳方法を定義することを特徴とする請求項２に記載のシステム。
【請求項６】
前記カバレージ分析モジュールは、更に、計算ユニットを有し、モデル検査ツールを利用して、前記第二仕様記述言語に対し、検査を実行して、前記カバレージを得ることを特徴とする請求項１に記載のシステム。
【請求項７】
前記カバレージは、前記コミュニケーションシステム中の計測される部分／前記コミュニケーションシステム中、既に計測された部分と等しいことを特徴とする請求項６に記載のシステム。
【請求項８】
TTCNフォーマットのテストケースは、宣告部分、制限部分、及び、動態部分、からなることを特徴とする請求項１に記載のシステム。
【請求項９】
前記第一仕様記述言語の最初のファイルから取り出された相関パラメータに基づいて、前記TTCNフォーマットのテストケースの前記宣告部分と前記制限部分を生成することを特徴とする請求項８に記載のシステム。
【請求項１０】
前記動態部分は、レベル、ソースノード、ターゲットノード、及び、出入力形式等のパラメータを有することを特徴とする請求項８に記載のシステム。
【請求項１１】
前記第二仕様記述言語に対応して得られる前記樹状構造を転換して、前記パラメータを得ることを特徴とする請求項１０に記載のシステム。
【請求項１２】
テストケース自動生成の方法であって、コミュニケーションシステムのテスト過程に適用し、前記コミュニケーションシステムは、第一仕様記述言語に基づいて設計されてなり、
転換ルールに従って、前記第一仕様記述言語を、第二仕様記述言語に転換する工程と、
カバレージ分析演算法により、前記第二仕様記述言語を分析し、前記第二仕様記述言語のカバレージを計算すると共に、カバレージに従って、前記第二仕様記述言語に対応するテストケースを生成する工程と、
TTCN言語に従って、TTCNフォーマットに符合するテストケースを生成する工程と、
からなることを特徴とする方法。
【請求項１３】
前記方法は、更に、
前記第一仕様言語が記述する前記コミュニケーションシステムの構造語法に対し、語法分析を実行する工程と、
前記語法分析結果に基づいて、前記第二仕様記述言語に対応する情報を得る工程と、
前記翻訳ルールと前記解析結果に従って、前記第二仕様言語を生成する工程と、
からなることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記第二仕様記述言語は、RED検証ツールに合う仕様記述言語であることを特徴とする請求項１３に記載の方法。
【請求項１５】
前記翻訳ルールは、RED検証ツールに対応するルールであることを特徴とする請求項１３に記載の方法。
【請求項１６】
前記翻訳ルールは、前記第一仕様記述言語の語義間の差異、及び、翻訳方法を定義することを特徴とする請求項１３に記載の方法。
【請求項１７】
更に、モデル検査ツールを利用して、前記第二仕様記述言語に対し、検査を実行して、前記カバレージを得ることを特徴とする請求項１２に記載の方法。
【請求項１８】
前記カバレージは、前記コミュニケーションシステム中の計測される部分／前記コミュニケーションシステム中、既に計測された部分と等しいことを特徴とする請求項１７に記載の方法。
【請求項１９】
TTCNフォーマットのテストケースは、宣告部分、制限部分、及び、動態部分、からなることを特徴とする請求項１２に記載の方法。
【請求項２０】
前記第一仕様記述言語の最初のファイルから取り出された相関パラメータに基づいて、前記TTCNフォーマットのテストケースの前記宣告部分と前記制限部分を生成することを特徴とする請求項１９に記載の方法。
【請求項２１】
前記動態部分は、レベル、ソースノード、ターゲットノード、及び、出入力形式等のパラメータを有することを特徴とする請求項１９に記載の方法。
【請求項２２】
前記第二仕様記述言語に対応して得られる前記樹状構造を転換して、前記パラメータを得ることを特徴とする請求項２１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ生成方法に関するものであって、特に、テストケース自動生成方法に関するものである。
【背景技術】
【０００２】
ソフトアプリケーションプログラムの開発周期は、大きく、６つの段階に分けられ、
１．「Define(定義)」
２．「Design(設計)」
３．「Develop(開発)」
４．「Test(テスト)」
５．「Deploy(展開)」
６．「Manage(管理)」
である。ソフトウェアアプリケ-ションプログラムは開発後、信頼度、機能性、パフォーマンスを検証し、ソフトウェアアプリケ-ションプログラムが使用上、操作上、問題が発生しないように確保する。
コミュニケーションプロトコルソフトウェア開発は、統一モデリング言語(UML)と仕様記述言語（SDL）等、仕様言語により設計されてなる。仕様記述言語は、有限状態機械システム作業を記述する標準言語で、既に、国際電気通信連合(ITU)に認可されたコミュニケーションインターネットプロトコル叙述と発展の標準言語となっている。
コミュニケーションプロトコルソフトウェアの検証は、商業ソフトを利用し、自身で設計したテストケースを合わせて実行する。これらのソフトが提供するツールは、能力上、非常にシンプルである。しかし、コミュニケーションプロトコルソフトウェアは、通常、非常に複雑で、データ量も相当膨大であるゆえ、現有のソフトウェアでは、検証の作業を負担できない。
【０００３】
コミュニケーションプロトコルソフトウェアの設計、発展に用いられる以外に、仕様記述言語は、テストケースの設計に用いられて、コミュニケーションプロトコルソフトウェアを検証する。一般の仕様記述言語以外に、その他の仕様記述言語を利用して、テストケースを設計し、コミュニケーションプロトコルソフトウェアを検証する。しかし、通常、業界で使用される一般の仕様記述言語とその他の仕様言語間に、語法と語意上の差異が存在し、その他の仕様記述言語に合う検証ツールを使用して、コミュニケーションプロトコルソフトウェアを検証する場合、人工の方式で、一般の仕様記述言語を、特定の仕様言語に転換する必要がある。しかし、人工方式の転換は、人為的操作ミスでエラーが生じやすく、且つ、転換の正確性を検査する時間と労力も必要である。
【０００４】
この他、現在は、テストケース自動生成のシステムがない。公知のコミュニケーションソフトウェアが採用する検証方法は、人工でテストケースを設計し、逐次、テストケースに対し、検証を実行し、自身で設計したテストケースは、主観要素、或いは、考慮不足によりテスト遺漏部分があるなど、検証過程の有効性、及び、検証結果の正確性に影響する。よって、信頼でき、有効なテストケースを設計するには、エンジニアの能力に依存すると同時に、大量の時間、人力、コストを投資しなければならない。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、テストケース自動生成方法及びシステムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の実施例は、テストケース自動生成方法を提供する。転換ルールに従って、第一仕様記述言語を、第二仕様記述言語に転換する。カバレージ分析演算法により、第二仕様記述言語を分析し、第二仕様記述言語のカバレージを計算すると共に、カバレージに従って、第二仕様記述言語に対応するテストケースを生成する。TTCN(Tree  and  Tabular  Combined  Notation)言語に従って、TTCNフォーマットに符合するテストケースを生成する。
【０００７】
本発明の実施例は、テストケース自動生成システムを提供し、言語翻訳モジュール、カバレージ分析モジュール、及び、テストケース生成モジュール、からなる。言語翻訳モジュールは、転換ルールに従って、第一仕様記述言語を、第二仕様記述言語に転換する。カバレージ分析モジュールは、カバレージ分析演算法を利用して、第二仕様記述言語を分析し、第二仕様記述言語のカバレージを計算すると共に、カバレージに基づいて、第二仕様記述言語に対応するテストケースを生成する。テストケース生成モジュールは、TTCN言語に基づいて、TTCNフォーマットに符合するテストケースを生成する。
【発明の効果】
【０００８】
テストケース自動生成方法により、開発時間と人力の消耗を減少させ、検証過程の正確性を向上することが出来る。
【発明を実施するための最良の形態】
【０００９】
本発明は、自動テストケース生成方法、及び、システムを提供し、本実施例の目的は、テストケース自動化のモデルを構築し、テストケース自動化生成の方法をサポートし、記述言語と自動検証のモデルのハイレベル設計を発展させ、検証モデルを応用すると共に、自動分析して、キーとなるテストケースの組合せを生成し、最大のテストカバレージを達成する。
【００１０】
この他、本発明の実施例は、主に、仕様記述言語を、リージョンコードダイアグラム（RED）検証ツールに合う仕様記述言語に転換すると共に、RED検証ツールを利用して、開発されたコミュニケーションプロトコルソフトに対し、検証を実行する。RED検証ツールは、一種のモデル検証とシミュレーションの整合型ツールで、クロック制限ダイアグラム（CRD）検証時間オートマトンを利用し、且つ、ハイブリッド制限ダイアグラム（HRD）検証リニアーハイブリッドオートマトンを利用する。この他、RED検証ツールは、パターン化操作インターフェース、自動生成計数器、及び、デッドロック検出機能を有する。
【実施例１】
【００１１】
図１は、本発明の実施例による、自動テストケース生成のシステムを示す図である。本発明の実施例のテストケース生成システム１００は、SDL翻訳モジュール（SDL）２００、カバレージ分析モジュール３００、テストケース生成モジュール４００、からなる。
【００１２】
SDL翻訳モジュール２００は、翻訳ルール（記述言語の語義間の差異及び翻訳方法を定義する）に従って、一般の仕様言語を、カバレージ分析モジュール３００が読み取れるデータに翻訳し、データは、カバレージ分析モジュール３００が、分析を実行する時に必要な記述言語を記載する。この他、翻訳規則を修正し、SDL翻訳モジュール２００は、一般の仕様言語を、その他の検証ツールに合う仕様言語に翻訳する。
【００１３】
カバレージ分析モジュール３００は、翻訳後の仕様言語に対し、分析検証し、検証の過程で、仕様言語のカバレージを求める。
【００１４】
テストケース生成モジュール４００は、カバレージ分析モジュール３００の分析結果に基づいて、翻訳後の仕様言語に対するTTCN言語のテストケースを生成する。
【００１５】
図２は、本発明の実施例のSDL翻訳モジュール２００を示す図である。SDL翻訳モジュール２００は、語法分析器２１０、解析器２３０、及び、言語生成器２５０、からなる。語法分析器２１０は、仕様記述言語１０が記述するシステム構造語法に対し、語法分析を実行する。仕様言語記述コミュニケーションプロトコルシステム中のモジュール間の互換行為は、パターン化方式により、モジュールの状態／メッセージを記述する行為である。例えば、図３を参照すると、仕様記述言語は、モジュール間の互換を、複数のブロックにより表示し、各ブロックは、一つの操作を表す。よって、仕様記述言語１０は、複数個の代表操作のブロックにより表示することが出来る。語法分析を実行するため、語法分析器２１０は、まず、パターン表示された仕様記述言語を、テキスト表示の仕様記述言語に転換しなければならない。
【００１６】
次に、解析器２３０が、語法分析後に得られる情報中、カバレージ分析に適用可能な仕様言語を得る。言語生成器２５０は、RED検証ツールを基礎として定義された翻訳ルール２７０に従って、カバレージ分析に適用出来るRED検証ツールに合う仕様言語を、状態空間に転換し、次に、状態空間に対応するプログラムコードを生成すると共に、レジスタに保存する。
【００１７】
図４は、本発明の実施例のカバレージ分析モジュール３００を示す図であり、計算ユニット３１０、描画ユニット３３０、からなる。計算ユニット３１０は、モデル検査ツール３１５を利用し、RED仕様記述言語２０に対し、検査を実行する。モデル検査ツール３１５は、カバレージ分析演算法により、検査操作を実行し、検査終了後、テキストモード、或いは、パターン化インターフェースにより、検査結果を出力する。カバレージ分析は、可能である合理的なテストパラメータを全て取り出し、更に、そのテストパラメータに従って、テストケースを生成する。カバレージ＝V／Fは、コミュニケーションシステムがテストされる比例を表示し、Fはコミュニケーションシステム中の実際の計測部分を表す。Vはコミュニケーションシステム中のテスト済みの部分を表す。続いて、実施例のカバレージに対して、更に、説明を加える。
【００１８】
前述のように、仕様言語は、モジュール間の互換作用を、複数のブロックで表示し、各ブロックは、一つの操作を表している。図５を参照すると、一つのノードは、仕様言語中の一つの操作（ブロック）を表し、矢印は、前の操作から次の操作の実行路径を表す。ノードAから、それぞれ、各末端のノードB、C、D、E、F、Gに行きたい場合、全ての可能な進み方は、図５で示される。つまり、ノードAが各末端ノードに行く全ての可能な進み方は、コミュニケーションシステム中の実際の計測部分Fを表す。異なるパラメータ設計に従って、カバレージ分析演算法により、Fに対し分析を行い、コミュニケーションシステム中のテスト済み部分Vを得て、上述のパラメータ設定に従って得られたコミュニケーションシステムに対し、好ましいテストケースの結果を生成する。
【００１９】
例を挙げると、図６を参照すると、カバレージ分析演算法により分析した後、図５のノードと実行路径により、最適なノードと実行路径を得る（灰色の範囲内のノードと実行路径で示されるように、コミュニケーションシステム中のテスト済みの部分Vを表す）。最適標準の判断端は、設定されたパラメータによって決まり、説明を簡潔にするため、本文中に詳述しない。本発明の実施例中、三種のカバレージ評価演算法があり、それぞれ、ACM（arc  coverage  metric）、RCM（back−and−forth  region  coverage  metric）、及び、TCM（triggering−condition  coverage  metric）である。異なるパラメータ設定により、異なる演算方法を利用して、FとV値を計算し、その後、描画ユニット３３０に伝送し、カバレージは、描画で表され、図６で示される。
【００２０】
続いて、テストケース生成モジュール４００は、上述の検証結果に基づいて、仕様記述言語２０に対応するテストケース３０を生成し、テキストモード、或いは、パターンインターフェースにより表示される。テストケース生成モジュール４００は、テストケース３０を、TTCNフォーマットに対応するテストケースに転換し、宣告部分、制限部分、及び、動態部分、からなる。
【００２１】
図７は、本発明の実施例のTTCNフォーマットのテストケースを生成するフローチャートである。仕様記述言語の最初のファイルから取り出された相関パラメータ４０は、テストケースの宣告部分と制限部分を生成し（工程１１と１２）、その後、RED検証ツールから生成された樹状構造５０（図６で示される）を利用して、テストケースの動態部分を生成し（工程１３）、最後に、上述の三部分を整合して、TTCNフォーマットに対応するテストケースを生成する。
【００２２】
宣告部分と制限部分は、RED検証ツールは無関係で、単なるデータ引用であるので、個々では詳述しない。動態部分は、レベル、ソースノード、ターゲットノード、及び、出入力形式（IO  タイプ）等のパラメータを有し、その取得過程は、図８で示される。
【００２３】
図６のカバレージ分析工程を参照すると、RED検証ツール分析後、ノードAからノードBは、生成されるテストケースを示し、ノードAからノードCは、生成されるテストケースを示し、以下同様である。動態部分において、各テストケースは、即ち、一レベルを示す。よって、RED樹状構造５０を展開すると共に、テストケースに対応するレベルを取得する（工程２１）。続いて、ソースオートマトンの作動状態に従って、全てのテストケースに対応するソースノードを取得する（工程２２）。同様に、図６を参照すると、ノードAからノードCが示すテストケースは、ソースノードがノードAである。
【００２４】
続いて、ターゲットオートマトンの作動状態を得て、全てのテストケースに対応するターゲットノードを取得する（工程２３）。同様に、図６を参照すると、ノードAからノードCが示すテストケースは、ソースノードがノードCである。最後に、オートマトンの出入力形式の状態を得て、対応する出入力（IO  タイプ）を取得する（工程２４）。つまり、オートマトンの作動中に使用するすべての操作方式（出入力方式）に基づいて、ソースノードからターゲットノードが使用する操作方式（出入力）を取得する。出力レベル、ソースノード、ターゲットノード等のパラメータは、TTCNフォーマットに符合するテストケース中の相対位置に対応する。図１を参照すると、TTCNテストケース５００は、プログラム言語（C言語等）ファイル６００に転換されて、その他のワイヤレスコミュニケーションプロトコルにより開発されるソフトウェアテストプラットホームに応用することが出来る。
【００２５】
図９は、本発明の実施例のテストケース自動生成方法のフローチャートである。
【００２６】
まず、仕様記述言語が記述する言語のシステム構造語法に対し、語法分析を実行し（工程３１）、語法分析後に得られる情報中、カバレージ分析に適用できる仕様言語を得る（工程３２）。続いて、RED検証ツールを基礎として定義される翻訳ルールに基づいて、カバレージ分析に適用できる仕様言語を、状態空間に転換すると共に、状態空間に対応するプログラムコードを生成し、レジスタ中に保存する（工程３３）。モデル検査ツールを利用し、RED仕様記述言語に対し、検査を実行する（工程３４）。検査終了後、テキストモード、或いは、パターン化インターフェースにより、検証の結果を出力し、その後、テストパラメータと検証結果に基づいて、テストケースを生成する（工程３５）。最後に、生成されたテストケースを、TTCNフォーマットに符合するテストケースに転換する。
【００２７】
公知技術で採用される検証方法は、手工設計のテストケースで、逐次、検証を実行する。本発明の実施例のシステムは、相関する検証技術により、テストケースを自動生成し、開発時間と人力の消耗を減少させ、検証過程の正確性を向上させる。
【００２８】
本発明では好ましい実施例を前述の通り開示したが、これらは決して本発明に限定するものではなく、当該技術を熟知する者なら誰でも、本発明の精神と領域を脱しない範囲内で各種の変動や潤色を加えることができ、従って本発明明の保護範囲は、特許請求の範囲で指定した内容を基準とする。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施例のテストケース自動生成システムを示す図である。
【図２】本発明の実施例のSDL翻訳モジュール２００の構造を示す図である。
【図３】パターン化インターフェースにより表示される仕様記述言語を示す図である。
【図４】本発明の実施例のカバレージ分析モジュール３００を示す図である。
【図５】本発明の実施例の樹状構造により示されるテストケースを示す図である。
【図６】本発明の実施例の樹状構造により示されるカバレージを示す図である。
【図７】本発明の実施例のTTCNフォーマットのテストケースを生成する工程のフローチャートである。
【図８】本発明の実施例のTTCNフォーマットの動態部分のパラメータを取得するフローチャートである。
【図９】本発明の実施例のテストケース自動生成方法のフローチャートである。
【符号の説明】
【００３０】
１０    仕様記述言語
２０    RED仕様記述言語
３０    テストケース
４０    SDLパラメータ
５０    RED樹状構造
６０    TTCNテストケース
１００  テストケース生成システム
２００  SDL翻訳モジュール
２１０  語法分析器
２３０  解析器
２５０  言語生成器
２７０  翻訳ルール
３００  カバレージ分析モジュール
３１０  計算ユニット
３１５  モデル検査ツール
３３０  描画ユニット
４００  テストケース生成モジュール
５００  TTCNテストケース
６００  プログラム言語ファイル
【図１】
2006134284.tif 000003
【図２】
2006134284.tif 000004
【図３】
2006134284.tif 000005
【図４】
2006134284.tif 000006
【図５】
2006134284.tif 000007
【図６】
2006134284.tif 000008
【図７】
2006134284.tif 000009
【図８】
2006134284.tif 000010
【図９】
2006134284.tif 000011