(57)【要約】【課題】  入力できる設計ドキュメントの種類として、画面遷移図、処理概要フロー図、画面要素定義書、処理イベント定義書、入力制約定義書を入力することを可能とし、テスト項目として入力エラーの有無、結果出力の仕方をも出力可能にする。【解決手段】  本発明は、各ドキュメント群（画面遷移図、画面要素定義書、入力制約定義書、処理概要フロー定義書）を読み込み、単一の中間形式の言語に変換したオブジェクトを単一の設計モデルに統合し、設計モデルから、入力エラーの有無、テスト経路、ＤＢ変更の有無、結果出力の仕方をテスト項目として抽出して出力する。また、画面遷移図の代わりに、画面一覧を読み込み、同様の処理によりテスト項目を抽出できる。【選択図】  図１
2011159202.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェア設計情報を用いて結合テストを行う場合のテスト項目を生成するテスト項目生成装置であって、
機能内における各画面間の遷移を示す画面遷移図、画面内の各構成要素について、入出力可否や属性に関する定義を記載した画面要素定義書、入力となる画面要素単体についての制約事項である入力制約定義書、画面上で発生したイベントに起因する状態の遷移が記載された処理イベント定義書、処理の振る舞いを明確にするための処理フローが記載された処理概要フロー定義書を格納したドキュメント記憶手段と、
ドキュメントから中間形式の言語に変換されたオブジェクトを格納する中間言語記憶手段と、
生成された設計モデルを格納する設計モデル記憶手段と、
抽出されたテスト項目を格納するテスト項目記憶手段と、
前記ドキュメント記憶手段から各ドキュメント群を読み込み、単一の中間形式の言語に変換したオブジェクトを前記中間言語記憶手段に格納するドキュメント読み込み手段と、
前記中間言語記憶手段から、前記中間形式の言語に変換したオブジェクトを、単一の設計モデルに統合し、前記設計モデル記憶手段に格納する設計モデル生成手段と、
前記設計モデル記憶手段から、前記設計モデルを取得して、入力エラーの有無、テスト経路、ＤＢ変更の有無、結果出力の仕方をテスト項目として抽出し、前記テスト項目記憶手段に格納するテスト項目抽出手段と、
前記テスト項目記憶手段から前記テスト項目を読み出して、所定の帳票形式に成型し、出力する出力手段と、
を有することを特徴とするテスト項目生成装置。
【請求項２】
前記ドキュメント読み込み手段は、
指定されたファイルパスに基づいて、前記ドキュメント記憶手段から前記画面遷移図を読み込み、対応する中間言語の画面遷移図オブジェクトを生成し、該画面遷移図の各画面に対応する中間言語の画面オブジェクトを生成し、該画面遷移図オブジェクトとリンクさせたリストを前記中間言語記憶手段に格納し、
前記画面遷移図の画面ＩＤに基づいて、前記ドキュメント記憶手段から前記画面要素定義書を読み込み、対応する中間言語の画面要素オブジェクトを生成し、前記画面オブジェクトとリンクさせたリストを前記中間言語記憶手段に格納し、
前記画面要素定義書の画面ＩＤに基づいて、前記ドキュメント記憶手段から前記入力制約定義書を読み込み、対応する中間言語の入力制約オブジェクトを生成し、前記画面要素オブジェクトとリンクさせたリストを前記中間言語記憶手段に格納し、
前記画面要素定義書の画面ＩＤに基づいて、前記ドキュメント記憶手段から処理イベント定義書を読み込み、対応する中間言語の処理イベントオブジェクトを生成し、前記画面要素オブジェクトとリンクさせたリストを前記中間言語記憶手段に格納し、
前記処理イベント定義書の画面ＩＤに基づいて、前記ドキュメント記憶手段から処理概要フロー図を読み込み、対応する中間言語の処理概要フローオブジェクトを生成し、前記処理イベントオブジェクトとリンクさせたリストを前記中間言語記憶手段に格納する手段を含み、
前記設計モデル生成手段は、
前記中間言語記憶手段から、オブジェクト同士をリンクさせたリストを読み出して、
前記画面オブジェクトにリンクされている前記画面要素オブジェクトを、統一フォーマットツールを用いて所定の統一形式に変換し、
前記画面オブジェクトにリンクされている前記処理イベントオブジェクトを、前記統一フォーマットツールを用いて所定の統一形式に変換し、
前記画面要素オブジェクトにリンクされている前記入力制約オブジェクトと前記処理イベントオブジェクトにリンクされている処理概要フローオブジェクトをマージして、全体フローオブジェクトを生成し、該全体フローオブジェクトを、前記統一フォーマットツールを用いて所定の統一形式に変換し、前記設計モデル記憶手段に格納する
請求項１記載のテスト項目生成装置。
【請求項３】
前記ドキュメント記憶手段は、
前記画面遷移図の代わりに、画面一覧を格納し、
前記ドキュメント読み込み手段は、
前記画面一覧の各画面に対応する中間言語の画面オブジェクトを生成し、該画面遷移図オブジェクトとリンクさせたリストを前記中間言語記憶手段に格納する手段を含む、
請求項２記載のテスト項目生成装置。
【請求項４】
前記テスト項目抽出手段は、
前記設計モデル記憶手段から、前記設計モデルを読み出して、前記所定の統一形式に変換された全体フローオブジェクトからテストすべき実行経路を抽出し、該実行経路からテスト経路と入力エラーの有無、ＤＢの変更有無、結果出力の仕方をテスト項目として抽出し、これらを一つのテスト項目としてグループ化し、テスト項目表を生成し、処理イベント名を付与して前記テスト項目記憶手段に格納する手段を含む
請求項１乃至３のいずれか１項に記載のテスト項目生成装置。
【請求項５】
ソフトウェア設計情報を用いて結合テストを行う場合のテスト項目を生成するテスト項目生成方法であって、
機能内における各画面間の遷移を示す画面遷移図、画面内の各構成要素について、入出力可否や属性に関する定義を記載した画面要素定義書、入力となる画面要素単体についての制約事項である入力制約定義書、画面上で発生したイベントに起因する状態の遷移が記載された処理イベント定義書、処理の振る舞いを明確にするための処理フローが記載された処理概要フロー定義書を格納したドキュメント記憶手段と、
ドキュメントから中間形式の言語に変換されたオブジェクトを格納する中間言語記憶手段と、
生成された設計モデルを格納する設計モデル記憶手段と、
抽出されたテスト項目を格納するテスト項目記憶手段と、
を有する装置において、
前記ドキュメント記憶手段から各ドキュメント群を読み込み、単一の中間形式の言語に変換したオブジェクトを前記中間言語記憶手段に格納するドキュメント読み込みステップと、
前記中間言語記憶手段から、前記中間形式の言語に変換したオブジェクトを、単一の設計モデルに統合し、前記設計モデル記憶手段に格納する設計モデル生成ステップと、
前記設計モデル記憶手段から、前記設計モデルを取得して、入力エラーの有無、テスト経路、ＤＢ変更の有無、結果出力の仕方をテスト項目として抽出し、前記テスト項目記憶ステップと、
前記テスト項目記憶手段から前記テスト項目を読み出して、所定の帳票形式に成型し、出力する出力ステップと、
を行うことを特徴とするテスト項目生成方法。
【請求項６】
前記ドキュメント読み込みステップにおいて、
指定されたファイルパスに基づいて、前記ドキュメント記憶手段から前記画面遷移図を読み込み、対応する中間言語の画面遷移図オブジェクトを生成し、該画面遷移図の各画面に対応する中間言語の画面オブジェクトを生成し、該画面遷移図オブジェクトとリンクさせたリストを前記中間言語記憶手段に格納し、
前記画面遷移図の画面ＩＤに基づいて、前記ドキュメント記憶手段から前記画面要素定義書を読み込み、対応する中間言語の画面要素オブジェクトを生成し、前記画面オブジェクトとリンクさせたリストを前記中間言語記憶手段に格納し、
前記画面要素定義書の画面ＩＤに基づいて、前記ドキュメント記憶手段から前記入力制約定義書を読み込み、対応する中間言語の入力制約オブジェクトを生成し、前記画面要素オブジェクトとリンクさせたリストを前記中間言語記憶手段に格納し、
前記画面要素定義書の画面ＩＤに基づいて、前記ドキュメント記憶手段から処理イベント定義書を読み込み、対応する中間言語の処理イベントオブジェクトを生成し、前記画面要素オブジェクトとリンクさせたリストを前記中間言語記憶手段に格納し、
前記処理イベント定義書の画面ＩＤに基づいて、前記ドキュメント記憶手段から処理概要フロー図を読み込み、対応する中間言語の処理概要フローオブジェクトを生成し、前記処理イベントオブジェクトとリンクさせたリストを前記中間言語記憶手段に格納するステップを行い、
前記設計モデル生成ステップにおいて、
前記中間言語記憶手段から、オブジェクト同士をリンクさせたリストを読み出して、
前記画面オブジェクトにリンクされている前記画面要素オブジェクトを、統一フォーマットツールを用いて所定の統一形式に変換し、
前記画面オブジェクトにリンクされている前記処理イベントオブジェクトを、前記統一フォーマットツールを用いて所定の統一形式に変換し、
前記画面要素オブジェクトにリンクされている前記入力制約オブジェクトと前記処理イベントオブジェクトにリンクされている処理概要フローオブジェクトをマージして、全体フローオブジェクトを生成し、該全体フローオブジェクトを、前記統一フォーマットツールを用いて所定の統一形式に変換し、前記設計モデル記憶手段に格納するステップを行う
請求項５記載のテスト項目生成方法。
【請求項７】
前記ドキュメント記憶手段は、
前記画面遷移図の代わりに、画面一覧を格納し、
前記ドキュメント読み込みステップは、
前記画面一覧の各画面に対応する中間言語の画面オブジェクトを生成し、該画面遷移図オブジェクトとリンクさせたリストを前記中間言語記憶手段に格納するステップを行う、
請求項６記載のテスト項目生成方法。
【請求項８】
前記テスト項目抽出ステップにおいて、
前記設計モデル記憶手段から、前記設計モデルを読み出して、前記所定の統一形式に変換された全体フローオブジェクトからテストすべき実行経路を抽出し、該実行経路からテスト経路と入力エラーの有無、ＤＢの変更有無、結果出力の仕方をテスト項目として抽出し、これらを一つのテスト項目としてグループ化し、テスト項目表を生成し、処理イベント名を付与して前記テスト項目記憶手段に格納する
請求項５乃至７のいずれか１項に記載のテスト項目生成方法。
【請求項９】
請求項１乃至４のいずれか１項に記載のテスト項目生成装置を構成する各手段としてコンピュータを機能させるためのテスト項目生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テスト項目生成方法及び装置及びプログラムに係り、特に、ソフトウェア設計情報を用いて結合テストを行う場合のテスト項目を生成するためのテスト項目生成方法及び装置及びプログラムに関する。
【背景技術】
【０００２】
従来、ソフトウェア設計情報を用いた結合テストのテスト項目を生成するための第１の技術として、ＵＭＬ（Unified Modeling Language）のアクティビティ図やクラス図を入力とし、テスト項目として、テスト経路、テストデータを出力する方法がある（例えば、非特許文献1参照）。
【０００３】
また、第２の技術として、クラス図、ステートチャート図（画面遷移図に相当）を入力とし、テスト項目として画面遷移の経路を出力する方法がある（例えば、特許文献1参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−９４４５３号公報
【非特許文献】
【０００５】
【非特許文献１】張暁晶、星野隆、"設計モデルを用いたテスト項目抽出とテストデータ生成手法"、電子情報通信学会技術研究報告.KBSE, 知能ソフトウェア工学,Technical report of IEICE KBSE 109(41) pp.37-42, 20090514.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来の第１の技術は、画面遷移図、画面要素定義書、処理イベント定義書、入力制約定義書等を扱えないため、出力されるテスト項目の種類が十分でない、という問題がある。
【０００７】
また、上記従来の第２の技術は、処理イベント定義書、入力制約定義書、処理概要フロー等を扱えないため、上記と同様に、出力されるテスト項目の種類が十分でない、という問題がある。
【０００８】
本発明は、上記の点に鑑みなされたもので、テスト生成のために入力できる設計ドキュメントの種類として、従来の、画面遷移図、処理概要フロー図に加えて、画面要素定義書、処理イベント定義書、入力制約定義書を入力することが可能で、かつ、自動的に生成できるテスト項目として、従来の処理の振る舞い、ＤＢ変更の有無に加えて、入力エラーの有無、結果出力の仕方をも出力可能なテスト項目生成方法及び装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
図１は、本発明の原理構成図である。
【００１０】
本発明（請求項１）は、ソフトウェア設計情報を用いて結合テストを行う場合のテスト項目を生成するテスト項目生成装置であって、
機能内における各画面間の遷移を示す画面遷移図、画面内の各構成要素について、入出力可否や属性に関する定義を記載した画面要素定義書、入力となる画面要素単体についての制約事項である入力制約定義書、画面上で発生したイベントに起因する状態の遷移が記載された処理イベント定義書、処理の振る舞いを明確にするための処理フローが記載された処理概要フロー定義書を格納したドキュメント記憶手段１０１と、
ドキュメントから中間形式の言語に変換されたオブジェクトを格納する中間言語記憶手段１０２と、
生成された設計モデルを格納する設計モデル記憶手段１０３と、
抽出されたテスト項目を格納するテスト項目記憶手段１０４と、
ドキュメント記憶手段１０１から各ドキュメント群を読み込み、単一の中間形式の言語に変換したオブジェクトを中間言語記憶手段１０２に格納するドキュメント読み込み手段１１０と、
中間言語記憶手段１０２から、中間形式の言語に変換したオブジェクトを、単一の設計モデルに統合し、設計モデル記憶手段１０３に格納する設計モデル生成手段１２０と、
設計モデル記憶手段１０３から、設計モデルを取得して、入力エラーの有無、テスト経路、ＤＢ変更の有無、結果出力の仕方をテスト項目として抽出し、テスト項目記憶手段１０４に格納するテスト項目抽出手段１３０と、
テスト項目記憶手段１０４からテスト項目を読み出して、所定の帳票形式に成型し、出力する出力手段１４０と、を有する。
【００１１】
また、本発明（請求項２）は、請求項１のドキュメント読み込み手段１１０において、
指定されたファイルパスに基づいて、ドキュメント記憶手段から画面遷移図を読み込み、対応する中間言語の画面遷移図オブジェクトを生成し、該画面遷移図の各画面に対応する中間言語の画面オブジェクトを生成し、該画面遷移図オブジェクトとリンクさせたリストを中間言語記憶手段に格納し、
画面遷移図の画面ＩＤに基づいて、ドキュメント記憶手段１０１から画面要素定義書を読み込み、対応する中間言語の画面要素オブジェクトを生成し、画面オブジェクトとリンクさせたリストを中間言語記憶手段１０２に格納し、
画面要素定義書の画面ＩＤに基づいて、ドキュメント記憶手段１０１から入力制約定義書を読み込み、対応する中間言語の入力制約オブジェクトを生成し、画面要素オブジェクトとリンクさせたリストを中間言語記憶手段１０２に格納し、
画面要素定義書の画面ＩＤに基づいて、ドキュメント記憶手段１０１から処理イベント定義書を読み込み、対応する中間言語の処理イベントオブジェクトを生成し、画面要素オブジェクトとリンクさせたリストを中間言語記憶手段１０２に格納し、
処理イベント定義書の画面ＩＤに基づいて、ドキュメント記憶手段１０１から処理概要フロー図を読み込み、対応する中間言語の処理概要フローオブジェクトを生成し、処理イベントオブジェクトとリンクさせたリストを中間言語記憶手段１０２に格納する手段を含み、
設計モデル生成手段１２０は、
中間言語記憶手段１０２から、オブジェクト同士をリンクさせたリストを読み出して、
画面オブジェクトにリンクされている画面要素オブジェクトを、統一フォーマットツールを用いて所定の統一形式に変換し、
画面オブジェクトにリンクされている処理イベントオブジェクトを、統一フォーマットツールを用いて所定の統一形式に変換し、
画面要素オブジェクトにリンクされている入力制約オブジェクトと処理イベントオブジェクトにリンクされている処理概要フローオブジェクトをマージして、全体フローオブジェクトを生成し、該全体フローオブジェクトを、統一フォーマットツールを用いて所定の統一形式に変換し、設計モデル記憶手段１０３に格納する。
【００１２】
また、本発明（請求項３）は、上記の請求項１または請求項２のドキュメント記憶手段１０１において、
画面遷移図の代わりに、画面一覧を格納し、
ドキュメント読み込み手段１１０は、
画面一覧の各画面に対応する中間言語の画面オブジェクトを生成し、該画面遷移図オブジェクトとリンクさせたリストを前記中間言語記憶手段に格納する手段を含む。
【００１３】
また、本発明（請求項４）は、請求項１乃至３のテスト項目抽出手段１３０において、
設計モデル記憶手段１０３から、設計モデルを読み出して、所定の統一形式に変換された全体フローオブジェクトからテストすべき実行経路を抽出し、該実行経路からテスト経路と入力エラーの有無、ＤＢの変更有無、結果出力の仕方をテスト項目として抽出し、これらを一つのテスト項目としてグループ化し、テスト項目表を生成し、処理イベント名を付与してテスト項目記憶手段１０４に格納する手段を含む。
【００１４】
図２は、本発明の原理を説明するための図である。
【００１５】
本発明（請求項５）は、ソフトウェア設計情報を用いて結合テストを行う場合のテスト項目を生成するテスト項目生成方法であって、
機能内における各画面間の遷移を示す画面遷移図、画面内の各構成要素について、入出力可否や属性に関する定義を記載した画面要素定義書、入力となる画面要素単体についての制約事項である入力制約定義書、画面上で発生したイベントに起因する状態の遷移が記載された処理イベント定義書、処理の振る舞いを明確にするための処理フローが記載された処理概要フロー定義書を格納したドキュメント記憶手段と、
ドキュメントから中間形式の言語に変換されたオブジェクトを格納する中間言語記憶手段と、
生成された設計モデルを格納する設計モデル記憶手段と、
抽出されたテスト項目を格納するテスト項目記憶手段と、
を有する装置において、
ドキュメント記憶手段から各ドキュメント群を読み込み、単一の中間形式の言語に変換したオブジェクトを中間言語記憶手段に格納するドキュメント読み込みステップ（ステップ１）と、
中間言語記憶手段から、中間形式の言語に変換したオブジェクトを、単一の設計モデルに統合し、設計モデル記憶手段に格納する設計モデル生成ステップ（ステップ２）と、
設計モデル記憶手段から、設計モデルを取得して、入力エラーの有無、テスト経路、ＤＢ変更の有無、結果出力の仕方をテスト項目として抽出し、テスト項目記憶ステップ（ステップ３）と、
テスト項目記憶手段からテスト項目を読み出して、所定の帳票形式に成型し、出力する出力ステップ（ステップ４）と、を行う。
【００１６】
また、本発明（請求項６）は、請求項５のドキュメント読み込みステップにおいて、
指定されたファイルパスに基づいて、ドキュメント記憶手段から画面遷移図を読み込み、対応する中間言語の画面遷移図オブジェクトを生成し、該画面遷移図の各画面に対応する中間言語の画面オブジェクトを生成し、該画面遷移図オブジェクトとリンクさせたリストを中間言語記憶手段に格納し、
画面遷移図の画面ＩＤに基づいて、ドキュメント記憶手段から画面要素定義書を読み込み、対応する中間言語の画面要素オブジェクトを生成し、画面オブジェクトとリンクさせたリストを中間言語記憶手段に格納し、
画面要素定義書の画面ＩＤに基づいて、ドキュメント記憶手段から入力制約定義書を読み込み、対応する中間言語の入力制約オブジェクトを生成し、画面要素オブジェクトとリンクさせたリストを中間言語記憶手段に格納し、
画面要素定義書の画面ＩＤに基づいて、ドキュメント記憶手段から処理イベント定義書を読み込み、対応する中間言語の処理イベントオブジェクトを生成し、画面要素オブジェクトとリンクさせたリストを中間言語記憶手段に格納し、
処理イベント定義書の画面ＩＤに基づいて、ドキュメント記憶手段から処理概要フロー図を読み込み、対応する中間言語の処理概要フローオブジェクトを生成し、処理イベントオブジェクトとリンクさせたリストを中間言語記憶手段に格納するステップを行い、
設計モデル生成ステップにおいて、
中間言語記憶手段から、オブジェクト同士をリンクさせたリストを読み出して、
画面オブジェクトにリンクされている画面要素オブジェクトを、統一フォーマットツールを用いて所定の統一形式に変換し、
画面オブジェクトにリンクされている処理イベントオブジェクトを、統一フォーマットツールを用いて所定の統一形式に変換し、
画面要素オブジェクトにリンクされている入力制約オブジェクトと処理イベントオブジェクトにリンクされている処理概要フローオブジェクトをマージして、全体フローオブジェクトを生成し、該全体フローオブジェクトを、統一フォーマットツールを用いて所定の統一形式に変換し、設計モデル記憶手段に格納するステップを行う。
【００１７】
また、本発明（請求項７）は、請求項６のドキュメント記憶手段において、
画面遷移図の代わりに、画面一覧を格納しているとき、
ドキュメント読み込みステップは、
画面一覧の各画面に対応する中間言語の画面オブジェクトを生成し、該画面遷移図オブジェクトとリンクさせたリストを中間言語記憶手段に格納するステップを行う。
【００１８】
また、本発明（請求項８）は、請求項５乃至７のテスト項目抽出ステップにおいて、
設計モデル記憶手段から、設計モデルを読み出して、所定の統一形式に変換された全体フローオブジェクトからテストすべき実行経路を抽出し、該実行経路からテスト経路と入力エラーの有無、ＤＢの変更有無、結果出力の仕方をテスト項目として抽出し、これらを一つのテスト項目としてグループ化し、テスト項目表を生成し、処理イベント名を付与してテスト項目記憶手段に格納する。
【００１９】
本発明（請求項９）は、請求項１乃至４のいずれか１項に記載のテスト項目生成装置を構成する各手段としてコンピュータを機能させるためのテスト項目生成プログラムである。
【発明の効果】
【００２０】
上記のように本発明によれば、画面遷移図、画面要素定義書、処理イベント定義書、処理概要フロー図を中間形式の言語に変換することができ、加えて、画面遷移図の代わりに画面一覧を用いることも可能である。さらに、入力制約定義書も入力可能であるため、５種類の設計ドキュメントを入力として扱うことができる。
【００２１】
また、各設計ドキュメントに対応する個別の中間形式の言語を１つの設計モデル（ＸＭＩ形式のＵＭＬモデル）に統合することで、テスト項目に必要な情報を集約することができる。
【００２２】
また、設計モデルからテスト項目として、テスト経路、ＤＢの変更の有無、結果出力の仕方等を抽出すると共に、入力エラーの有無も抽出することが可能であるため、４種類のテスト項目を出力することができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の原理構成図である。
【図２】本発明の原理を説明するための図である。
【図３】本発明の一実施の形態における入力設計ドキュメント（画面遷移図）の例である。
【図４】本発明の一実施の形態における入力設計ドキュメント（画面要素定義書）の例である。
【図５】本発明の一実施の形態における入力設計ドキュメント（入力制約定義書）の例である。
【図６】本発明の一実施の形態における入力設計ドキュメント（処理イベント定義書）の例である。
【図７】本発明の一実施の形態における入力設計ドキュメント（処理概要フロー図）の例である。
【図８】本発明の一実施の形態におけるテスト項目生成装置の構成図である。
【図９】本発明の一実施の形態における概要動作のフローチャートである。
【図１０】本発明の一実施の形態における出力ドキュメント（テスト項目表）の例である。
【図１１】本発明の一実施の形態におけるドキュメント読み込み部における動作のフローチャート（その１）である。
【図１２】本発明の一実施の形態におけるドキュメント読み込み部における動作のフローチャート（その２）である。
【図１３】本発明の一実施の形態におけるドキュメント読み込み部における動作のフローチャート（その３）である。
【図１４】本発明の一実施の形態におけるドキュメント読み込み部における動作のフローチャート（その４）である。
【図１５】本発明の一実施の形態における中間言語生成処理を示す図である。
【図１６】本発明の一実施の形態における設計モデル生成部の動作のフローチャートである。
【図１７】本発明の一実施の形態におけるテスト項目抽出部の動作のフローチャートである。
【図１８】本発明の一実施の形態におけるテスト項目抽出部の動作のフローチャートである。
【図１９】本発明の一実施の形態におけるＳ３４０の詳細フローチャートである。
【発明を実施するための形態】
【００２４】
以下、図面と共に本発明の実施の形態を説明する。
【００２５】
最初に、本明細書中で用いる用語について説明する。
【００２６】
「画面遷移図」とは、機能内における各画面間の遷移を示すドキュメントを指す。画面遷移図の例を図３に示す。
【００２７】
「画面要素一覧」とは、画面内の各構成要素について，入出力可否や属性（テキスト、プルダウンリスト等）に関して定義を記述したものである。この例を図４に示す。
【００２８】
「入力制約定義書」とは、入力となる画面要素単体についての制約事項を記述したものである。この例を図５に示す。
【００２９】
「処理イベント定義書」とは、画面上で発生したイベント（主にユーザ操作）に起因する状態の遷移を記述したものである。この例を図６に示す。
【００３０】
「処理概要フロー定義書」とは、処理の振る舞いを明確にするための処理フロー（メインフロー）である。この例を図７に示す。
【００３１】
図８は、本発明の一実施の形態におけるテスト項目生成装置の構成を示す。
【００３２】
同図に示すテスト項目生成装置１００は、ドキュメント読み込み部１１０、設計モデル生成部１２０、テスト項目抽出部１３０、テスト項目出力部１４０、画面遷移図記憶部１０１、中間言語記憶部１０２、設計モデル記憶部１０３、テスト項目記憶部１０４から構成される。このうち、ドキュメント記憶部１０１、中間言語記憶部１０２、設計モデル記憶部１０３、テスト項目記憶部１０４は、ハードディスク装置やメモリ等の記憶媒体である。また、ドキュメント記憶部１０１には、図３〜図６に示した画面遷移図、画面要素定義書、処理イベント定義書、入力制約定義書、処理概要フロー図が格納されているものとする。なお、画面要素定義書、入力制約定義書、処理イベント定義書には、それぞれが属する画面ＩＤが設定されている。
【００３３】
以下に、上記の構成における動作を説明する。
【００３４】
図９は、本発明の一実施の形態における概要動作のフローチャートである。
【００３５】
ステップ１１０）  ドキュメント読み込み部１１０は、当該テスト項目生成装置１００に接続されているユーザ端末２００からファイルパスを取得すると、当該ファイルパスに基づいて、ドキュメント記憶部１０１から設計ドキュメント群を読み込み、単一の中間言語（JavaObject）に変換し、中間言語記憶部１０２に格納する。
【００３６】
ステップ１２０）  設計モデル生成部１２０は、中間言語記憶部１０２からJavaObjectに変換されているドキュメントを読み込み、単一の設計モデル（ＸＭＩ形式ＵＭＬ）に変換し、変換モデルとして設計モデル記憶部１０３に格納する。
【００３７】
ステップ１３０）  テスト項目抽出部１３０は、設計モデル記憶部１０３から設計モデルを読み込んで、テスト項目として、入力エラーの有無、処理の振る舞い（テスト経路）、ＤＢ変更の有無、結果出力の仕方等を抽出し、これらをテスト項目としてテスト項目記憶部１０４に格納する。
【００３８】
ステップ１４０）  テスト項目出力部１４０は、テスト項目記憶部１０４からテスト項目を読み込み、帳票形式に整形して出力する。図１０に出力例を示す。
【００３９】
以下に、上記の各ステップの詳細を示す。
【００４０】
最初に、ステップ１１０のドキュメント読み込み部１１０の詳細な動作を示す。
【００４１】
図１１は、本発明の一実施の形態におけるドキュメント読み込み部の動作のフローチャート（その１）である。
【００４２】
ステップ２１０）  端末２００入力された画面遷移図を読み込むためのファイルパスを取得し、指定されたファイルパスに対応する画面遷移図をドキュメント記憶部１０１から読み込み、対応する中間言語（画面遷移図オブジェクト）を生成して、画面遷移図の各画面に対応する中間言語（画面オブジェクト）を生成して、画面遷移図オブジェクトとリンクさせ、画面オブジェクトのリストを中間言語記憶部１０２に格納する。
【００４３】
ステップ２２０）  ステップ２１０で生成された画面遷移図に含まれる画面ＩＤに基づいてドキュメント記憶部１０１から画面要素定義書を読み込み、対応する中間言語（画面要素オブジェクト）を生成し、ステップ２１０で得られた画面オブジェクトとリンクさせ、リンク情報を含む画面オブジェクトリストを生成し、画面要素オブジェクトを中間言語記憶部１０２に格納する。
【００４４】
ステップ２３０）  ステップ２２０で読み込んだ画面要素定義書の画面ＩＤに基づいて、ドキュメント記憶部１０１から入力制約定義書を読み込み、対応する中間言語（入力制約オブジェクト）を生成し、ステップ２２０で得られた画面要素オブジェクトとリンクさせ、リンク情報を含む入力制約オブジェクトを中間言語記憶部１０２に格納する。
【００４５】
ステップ２４０）  画面要素定義書に記載されているＩＤに基づいて、ドキュメント記憶部１０１から処理イベント定義書を読み込み、対応する中間言語（処理イベントオブジェクト）を生成し、ステップ２２０で得られた画面要素オブジェクトとリンクさせ、リンク情報を含む処理イベントオブジェクトを中間言語記憶部１０２に格納する。
【００４６】
ステップ２５０）  ステップ２４０で読み込んだ処理イベント定義書に含まれる処理イベントの画面ＩＤに基づいて、ドキュメント記憶部１０１から処理概要フロー図を読み込み、当該処理概要フロー図（ノードとエッジ）を読み込み、対応する中間言語（処理概要フローオブジェクト）を生成し、処理イベントオブジェクトとリンクさせ、リンク情報を含む画面要素オブジェクトを中間言語記憶部１０２に格納する。
【００４７】
なお、上記の処理において、図１１のステップ２１０の処理の代わりに、図１２のステップ６１０に示すように、画面一覧を中間言語に変換するようにしてもよい。
【００４８】
これにより、上記の図１１で画面遷移図、画面要素定義書、処理イベント定義書、処理概要フロー図を入力できることに加え、画面一覧も設計ドキュメントとして入力することができる。
【００４９】
また、図１１のステップ２２０の画面要素定義書を中間言語に変換する処理を、図１３に示すように省いてもよい。
【００５０】
また、図１１のステップ２３０の入力制約定義書を中間言語に変換する処理を、図１４に示すように省いてもよい。
【００５１】
図１５に、上記のステップ２１０〜２５０で生成される中間言語（オブジェクト）とリンクの関係を示す。
【００５２】
次に、図９のステップ１２０の詳細な処理について説明する。
【００５３】
図１６は、本発明の一実施の形態における設計モデル生成部の動作のフローチャートである。
【００５４】
ステップ３１０）  設計モデル生成部１２０は、中間言語記憶部１０２から画面遷移図オブジェクトを読み込み、メモリ（図示せず）に格納する。
【００５５】
ステップ３２０）  ステップ３１０で読み込まれた各画面遷移図オブジェクトの各画面オブジェクトにリンクされている画面要素オブジェクトをＸＭＩ形式に変換して設計モデル記憶部１０３に追加書き込みを行う。尚、ＸＭＩ形式への変換方法については、例えば、「Stream http://xstream. Codehaus.org/tutorial.html」を用いるものとする。
【００５６】
ステップ３３０）  画面オブジェクトにリンクされている処理イベントオブジェクトをＸＭＩ形式に変換して設計モデル記憶部１０３に追加書き込みを行う。ＸＭＩ形式への変換については、上記と同様の方法を用いるものとする。
【００５７】
ステップ３４０）  中間言語記憶部１０２から画面要素オブジェクトと処理イベントオブジェクトを読み込み、画面要素オブジェクトにリンクされている入力制約オブジェクト処理概要フローオブジェクトをマージして全体フローオブジェクトを生成する。当該処理の詳細については、図１９にて後述する。
【００５８】
ステップ３５０）  全体フローオブジェクトを上記の方式を用いて、ＸＭＩ形式に変換して設計モデル記憶部１０３に追加書き込みを行う。
【００５９】
上記のステップ３４０とステップ３５０の処理を全ての処理イベントオブジェクトに対して繰り返し、さらに、ステップ３１０で読み込まれ、メモリ（図示せず）に格納されている全画面オブジェクトに対して、ステップ３２０以降の処理を繰り返す。
【００６０】
次に、図９のステップ１３０のテスト項目抽出部１３０の処理について説明する。
【００６１】
図１７は、本発明の一実施の形態におけるテスト項目抽出部の動作のフローチャートである。
【００６２】
ステップ４１０）  設計モデル記憶部１０３からステップ１２０で生成された設計モデル（ＸＭＩファイル）を読み込み、全体フロー図としてメモリ（図示せず）に格納する。
【００６３】
ステップ４２０）  各全体フロー図の属する処理イベントの処理イベント名を抽出する。
【００６４】
ステップ４３０）  全体フロー図からテストすべき実行経路を抽出する。
【００６５】
ステップ４４０）  ステップ４３０で抽出されたテストすべき実行経路から処理の振る舞い（テスト経路）を抽出し、メモリ（図示せず）に格納する。
【００６６】
ステップ４５０）  上記の実行経路から入力エラーの有無を抽出し、メモリ（図示せず）に格納する。入力エラーを検出する際には、経路の「終了ノード」に入力エラーを示すフラグを検出する。
【００６７】
ステップ４６０）  上記の実行経路からＤＢ変更の有無を抽出し、メモリ（図示せず）に格納する。
【００６８】
ステップ４７０）  上記の実行経路から結果出力の仕方を抽出し、メモリ（図示せず）に格納する。
【００６９】
ステップ４８０）  ステップ４４０，４５０，４６０，４７０で得られ、メモリ（図示せず）に格納されている画面名、処理の振る舞い（テスト経路）、入力エラーの有無、ＤＢ変更の有無、結果出力の仕方を一つのテスト項目としてグループ化してメモリ（図示せず）に格納する。
【００７０】
ステップ４９０）  メモリ（図示せず）に格納されているグループ化されたテスト項目群を要素として持つ表（テスト項目表）を作成し、表の名前として全体フロー図に対応する処理イベント名を付与し、テスト項目記憶部１０４に格納する。
【００７１】
上記の処理を、ステップ４１０で読み込まれた全ての設計モデル内の全体フロー図に対して行う。
【００７２】
なお、図１８に示すように、上記のステップ４５０の入力エラーの有無を抽出する処理を省くことも可能である。
【００７３】
次に、上記の図１６における設計モデル生成部１２０のステップ３４０の処理概要フローオブジェクトと入力制約オブジェクトをマージする詳細な動作を説明する。
【００７４】
図１９は、本発明の一実施の形態におけるＳ３４０の詳細フローチャートである。
【００７５】
ステップ５１０）  処理概要フローオブジェクトを中間言語記憶部１０２から読み込む。
【００７６】
ステップ５２０）  入力制約オブジェクトを中間言語記憶部１０２から読み込む。
【００７７】
ステップ５３０）  入力制御オブジェクトが保持している入力制約項目オブジェクトリストにあるそれぞれの入力制約項目オブジェクトに対して、入力制約項目オブジェクトの定義域を満たす場合に対応するエッジ（trueエッジ）を生成する。
【００７８】
ステップ５４０）  入力制約項目オブジェクトの定義域を満たさない場合に対応するエッジ（falseエッジ）を生成する。
【００７９】
ステップ５５０）  入力制約項目オブジェクトに対応する分岐ノード、終了ノードを生成し、当該入力制約項目オブジェクトが入力制約項目オブジェクトリストの先頭にある入力制約項目オブジェクトである場合はステップ５７０に移行し、先頭にない入力制約項目オブジェクトである場合はステップ５６０に移行する。なお、終了ノードを生成する際に、入力エラーの有無を示すフラグを設定するものとする。
【００８０】
ステップ５６０）  入力制約項目オブジェクトリストで一つ前の分岐ノードのtrueエッジの終点を分岐ノードにつなぐ。
【００８１】
ステップ５７０）  trueエッジの始点を分岐ノードにつなぐ。
【００８２】
ステップ５８０）  falseエッジの始点を分岐ノードにつなぎ、終点を終点ノードにつなぐ。
【００８３】
上記のステップ５３０からステップ５８０の処理を入力制約オブジェクトが保持している入力制約項目オブジェクトリストにあるそれぞれの入力制約項目オブジェクトに対して繰り返し行う。
【００８４】
ステップ５９０）  入力項目木を処理概要フローオブジェクトの開始ノードの直後に挿入する。
【００８５】
これにより、各設計ドキュメントに対する個別の中間形式の言語を１つの設計モデル（ＸＭＬ形式のＵＭＬモデル）に統合することができる。
【００８６】
また、上記のテスト項目生成装置のドキュメント読み込み部１１０、設計モデル生成部１２０、テスト項目抽出部１３０、テスト項目出力部１４０の動作をプログラムとして構築し、テスト項目生成装置として利用されるコンピュータにインストールしてじっこうさせる、または、ネットワークを介して流通させることが可能である。
【００８７】
また、構築されたプログラムをハードディスクや、フレキシブルディスク・ＣＤ−ＲＯＭ等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。
【００８８】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【符号の説明】
【００８９】
１００  テスト項目生成装置
１０１  ドキュメント記憶手段、ドキュメント読み込み部
１０２  中間言語記憶手段、中間言語記憶部
１０３  設計モデル記憶手段、設計モデル記憶部
１０４  テスト項目記憶手段、テスト項目記憶部
１１０  ドキュメント読み込み手段、ドキュメント読み込み部
１２０  設計モデル生成手段、設計モデル生成部
１３０  テスト項目抽出手段、テスト項目抽出部
１４０  出力手段、テスト項目出力部
２００  ユーザ端末
【図１】
2011159202.tif 000003
【図２】
2011159202.tif 000004
【図３】
2011159202.tif 000005
【図４】
2011159202.tif 000006
【図５】
2011159202.tif 000007
【図６】
2011159202.tif 000008
【図７】
2011159202.tif 000009
【図８】
2011159202.tif 000010
【図９】
2011159202.tif 000011
【図１０】
2011159202.tif 000012
【図１１】
2011159202.tif 000013
【図１２】
2011159202.tif 000014
【図１３】
2011159202.tif 000015
【図１４】
2011159202.tif 000016
【図１５】
2011159202.tif 000017
【図１６】
2011159202.tif 000018
【図１７】
2011159202.tif 000019
【図１８】
2011159202.tif 000020
【図１９】
2011159202.tif 000021