(57)【要約】  【課題】ソフトウエア開発途中での実行時においても完成時により近い状態での実行を行う事ができるソフトウエアテストプログラムを提供する事を目的とする。  【解決手段】  画面遷移図仮実行用コード生成手段４は、画面遷移図記憶手段２に記憶されている画面遷移図情報の各ブロックに仮アクションモジュールライブラリ３に記憶されている仮アクションモジュールを適用すると共に、仮アクションモジュールの適用情報及び画面遷移図記憶手段２に記憶されている画面遷移図情報に基づき実行コードを生成する。この際、画面遷移図仮実行用コード生成手段４は、この作成された実行コード中仮アクションモジュールの呼び出しコードごとに待ち時間を設定する。仮実行手段６は、この設定された待ち時間を基に生成された実行コードに基づく処理を行う。  【選択図】  図１
2005107823.tif 000002
【特許請求の範囲】
【請求項１】
画面遷移図情報を記憶する画面遷移図記憶手段と、仮実行時に適用する仮アクションモジュールを記憶する仮アクションモジュール記憶手段とを有するコンピュータを、
前記画面遷移図記憶手段に記憶されている画面遷移図情報の各要素に前記仮アクションモジュール記憶手段に記憶されている仮アクションモジュールを適用する適用手段と、
前記適用手段による仮アクションモジュールの適用情報及び画面遷移図記憶手段に記憶されている画面遷移図情報に基づき実行コードを生成する実行コード生成手段と、
前記実行コード生成手段によって生成された実行コード中仮アクションモジュールの呼び出しコードごとに待ち時間を設定する設定手段と、
前記設定手段で設定された待ち時間を参照しながら前記実行コード生成手段で生成された実行コードの実行を行う仮実行手段と、
して実行させることを特徴とする画面遷移図モデルを用いたソフトウエアテストプログラム。
【請求項２】
前記設定手段は、
前記実行コード生成手段によって生成された実行コードを解析する解析手段と、
前記解析手段の解析の結果、抽出された仮アクションモジュールの呼び出しコードに対し、待ち時間を入力要求するメッセージを表示手段に表示する待ち時間入力要求手段と、
前記待ち時間入力要求手段による表示の後、入力された待ち時間情報を該仮アクションモジュールの待ち時間として設定する待ち時間設定手段と
を有することを特徴とする請求項１に記載の画面遷移図モデルを用いたソフトウエアテストプログラム。
【請求項３】
前記仮実行手段は、
実行コードを処理する事により表示する表示結果と、前記画面遷移図記憶手段に記憶されている画面遷移図情報とを同一画面上に表示させ、かつ、該画面遷移図情報のうち、現在仮実行手段が処理を行っている要素を他の要素と識別できる状態で表示させることを特徴とする請求項１に記載の画面遷移図モデルを用いたソフトウエアテストプログラム。
【請求項４】
画面遷移図情報を記憶する画面遷移図記憶手段と、仮実行時に適用する仮アクションモジュールを記憶する仮アクションモジュール記憶手段とを有するコンピュータが、
前記画面遷移図記憶手段に記憶されている画面遷移図情報の各要素に前記仮アクションモジュール記憶手段に記憶されている仮アクションモジュールを適用する適用ステップと、
前記適用ステップによる仮アクションモジュールの適用情報及び画面遷移図記憶手段に記憶されている画面遷移図情報に基づき実行コードを生成する実行コード生成ステップと、
前記実行コード生成ステップによって生成された実行コード中仮アクションモジュールの呼び出しコードごとに待ち時間を設定する設定ステップと、
前記設定ステップで設定された待ち時間を参照しながら前記実行コード生成ステップで生成された実行コードの実行を行う仮実行ステップと、
を実行することを特徴とする画面遷移図モデルを用いたソフトウエアテスト方法。
【請求項５】
画面遷移図情報を記憶する画面遷移図記憶手段と、
仮実行時に適用する仮アクションモジュールを記憶する仮アクションモジュール記憶手段と、
前記画面遷移図記憶手段に記憶されている画面遷移図情報の各要素に前記仮アクションモジュール記憶手段に記憶されている仮アクションモジュールを適用する適用手段と、
前記適用手段による仮アクションモジュールの適用情報及び画面遷移図記憶手段に記憶されている画面遷移図情報に基づき実行コードを生成する実行コード生成手段と、
前記実行コード生成手段によって生成された実行コード中仮アクションモジュールの呼び出しコードごとに待ち時間を設定する設定手段と、
前記設定手段で設定された待ち時間を参照しながら前記実行コード生成手段で生成された実行コードの実行を行う仮実行手段と、
を有することを特徴とする画面遷移図モデルを用いたソフトウエアテスト装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面操作により各種プログラムを組み合わせ、ソフトウエアの開発・テストを行うシステムにおいて、特にＷｅｂアプリケーションの構築を行うものに関するものである。
【背景技術】
【０００２】
年々、ソフトウエアは複雑・高度化している。このため、ソフトウエアの開発は、利用者が直接開発するという事が困難となっており、専門のソフトウエア開発者が行う事が一般的である。
【０００３】
よって、ソフトウエアの開発は、ソフトウエアを利用したい利用者が、ソフトウエア開発者に対し、処理を行いたい内容を伝え、その伝えられた内容を基にソフトウエア開発者が開発を行う事となる。
【０００４】
この様にソフトウエアの利用者と開発者が異なる場合、利用者と開発者との間で詳細に仕様の検討を行い、開発者が利用者の意図を十分に理解してソフトウエアの開発を行う必要がある。
【０００５】
しかしながら、開発を行うという事は、対象となるソフトウエアがない、即ち動作している環境のない状態で、内容を検討していくことになる。
【０００６】
このような状況では、特に利用者は、ソフトウエアの開発がどのようなものか、各アプリケーションの性能や機能がどのようなものであるかについて知識が少ない事が多く、動作環境のない状態で詳細な打ち合わせを行ったとしても、利用者はその状況を想定した状態をイメージする事は難しい。
【０００７】
このため、たとえ、利用者と開発者との間で事前に詳細な打ち合わせを行い、その打ち合わせ内容に沿ったアプリケーションが作られ、動作したとしても、必ずしも利用者が目的とするアプリケーションとならない事が多々発生していた。
【０００８】
即ち、従来は、ほとんど完成したソフトウエアを一旦動作させ、その動作状況を利用者に確認してもらい、その確認結果に応じて、そのプログラムの修正を行っていた。
【特許文献１】特開平１０−１２４４３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、ソフトウエアは年々複雑化してきており、上記従来の方法の様に一旦出来上がったものを修正する場合、全体的に修正を行う必要がある事があり、その場合には、大変な作業となってしまう事が多々生じていた。
【００１０】
これに対応するために、開発途中で、ソフトウエアの出来上がっている部分を試験的にどうさせて、利用者に使用してもらうという事も考えられるが、実際の運用状況と異なる状態での動作となるため、例え途中段階で利用者が満足しても、完成したソフトウエアは利用者の納得のいくものでない場合があった。
【課題を解決するための手段】
【００１１】
本発明は、上記従来の課題を解決するために、画面遷移図情報を記憶する画面遷移図記憶手段と、仮実行時に適用する仮アクションモジュールを記憶する仮アクションモジュール記憶手段と、前記画面遷移図記憶手段に記憶されている画面遷移図情報の各要素に前記仮アクションモジュール記憶手段に記憶されている仮アクションモジュールを適用する適用手段と、前記適用手段による仮アクションモジュールの適用情報及び画面遷移図記憶手段に記憶されている画面遷移図情報に基づき実行コードを生成する実行コード生成手段と、前記実行コード生成手段によって生成された実行コード中仮アクションモジュールの呼び出しコードごとに待ち時間を設定する設定手段と、前記設定手段で設定された待ち時間を参照しながら前記実行コード生成手段で生成された実行コードの実行を行う仮実行手段とを有したものである。
【発明の効果】
【００１２】
上記構成により、仮実行時においても本実行時により近い状態での仮実行を行う事ができるようになる。これにより開発の早期段階で利用者に完成状態により近い状態での操作状況を確認してもらう事ができるようになり、早期に問題点の洗い出しなどを行う事ができるようになり、完成に近い時点での大幅なソフトウエアの修正を行わずに済むようになる。
【発明を実施するための最良の形態】
【００１３】
以下、ソフトウエアの一種であるウエブアプリケーションの作成・テストシステムについて説明する。
【００１４】
なお、ウエブアプリケーションは、利用者の端末上に表示を行わせる画面出力、利用者が入力する画面の各入力種別、及び、入力された情報を処理する処理が主な要素となる。
【００１５】
図１に本発明の第1の実施の形態に基づく、ウエブアプリケーション作成・テストシステムのブロック図を示す。
【００１６】
図１において、１は、利用者が、マウスやキーボードを等の入力手段１０１の操作に応じて、画面遷移図の作成処理を行う画像遷移図作成モジュール、２は画像遷移図作成モジュール１で作成された画面遷移図のファイルを記憶する画面遷移図記憶手段である。
【００１７】
３は仮実行時に必要な各種仮アクションモジュールを記憶した仮アクションモジュールライブラリ、４は画面遷移図記憶手段に記憶されている画面遷移図ファイルに記憶された各遷移ブロックに対し指定された仮アクションモジュールを仮アクションモジュールライブラリ３から適用し、コンピュータが実行するための実行コードを作成する画面遷移図仮実行用コード作成モジュールである。
【００１８】
５は各種情報を表示する表示手段であり、操作者の入力手段１０１からの操作や、各種モジュールからの指示に応じて画面遷移図記憶手段２内の画面遷移図ファイルに基づく表示や、仮実行時の各種表示を行う。
【００１９】
６は、画面遷移図仮実行用コード生成モジュールが作成した実行コードに基づく処理を行う仮実行手段で、仮実行手段が実行コードに基づく処理を行っている際に、利用者より入力手段１０１を通じて画面操作に関する入力が行われた際、それに対応する次画面の表示を行うデータ要求処理モジュール７を有する。このデータ要求モジュールは、予め画面遷移図仮実行用コード生成モジュールで設定された仮アクションモジュールライブラリ内の仮アクションモジュールを適宜呼び出すことにより処理を行う。
【００２０】
８は刈り実行手段の処理状態と画面遷移図ファイルの内容とをリンクし、仮実行手段の処理画面と、現在仮実行手段が実行しているソフトウエアが、画面遷移図のどのブロックを実行中なのかを示す画面とを表示手段５に同時表示させるシミュレーション実行制御モジュールである。
【００２１】
また、９は仮実行時に入力手段１０１を通じて一時停止・一時停止したソフトウエア再開・処理のはや送り・画面遷移図の所定ブロックからの実行などの所定の操作が行われた際、関係する各種モジュールに対して割り込み命令を出力する割り込み制御モジュール、１１は仮実行手段の実行時、入力手段に応じた画面操作に応じた次の画面表示の対応関係・シミュレーション実行制御モジュール９による画面遷移図及び仮実行状況の対応関係に着いて逐次記憶するデータベースである。
【００２２】
この様に構成されたウエブアプリケーション作成・テストシステムについて、以下その動作について説明する。
【００２３】
まず、本システムで、商品の見積もり依頼を、依頼画面にて利用者に入力を行わせ、その後、その結果を表示するソフトウエアを作成する場合について説明する、
［画面遷移図作成処理］
画面遷移図作成処理は、利用者は入力手段１０１を操作して、画面遷移図作成モジュール１を起動する事により処理が開始する。
【００２４】
この処理は図２に示す3つの処理を画面遷移図作成（Ｓ１００１）・画面レイアウト作成（Ｓ１００２）・画面項目仕様作成（Ｓ１００３）の各処理を、図面遷移図作成モジュールが順次処理する事により行われる。
【００２５】
まず、画面遷移図作成処理（Ｓ１００１）について説明する
画面遷移図作成モジュール１は、図３に示される画面遷移図作成画面２０１を表示手段５に表示する。この際、画面遷移図作成モジュール１は、入力手段１０１の操作に応じて、表示手段５の表示画面上を移動するカーソル２０２と、画面遷移図作成時のブロックやブロック間を結合する結合子を示したアイコン群２０３とを表示画面５に表示する。
【００２６】
この状態において、利用者が入力手段１０１を操作して、アイコン群２０２中の何れかのアイコンの上にカーソル２０２を移動させ、選択を示す操作を行った後、所望の位置にカーソル２０２を移動する操作を行うと、画面遷移図作成モジュール１は、選択されたアイコンに相当するアイコンのブロックをカーソルの移動にあわせて移動させる。その後、利用者が入力手段１０１に対し、そのブロックをその位置に固定させる事を示す操作を行うと画面遷移図作成モジュール１は、その位置情報とブロックの種別情報を画面遷移図記憶手段２に記憶させると共に、その位置に該当ブロックのアイコンを固定表示させる。
【００２７】
なお、本アイコン群において、「Ｓｔａｒｔ／Ｅｎｄ」は処理の開始、「画面表示」は入力画面や処理結果の出力画面の表示、「アクション」は操作者が入力手段１０１を介して何らかの操作を行った事を示すブロックのアイコンであり、「文字入力」はブロックに文字名称を付す事を示すアイコン、「結合子」は各ブロック間を結合する結合子のアイコンである。
【００２８】
上記した操作を繰り返し、利用者は画面作成操作を行うと、画面遷移図作成モジュールはその情報を逐次画面遷移図記憶手段２に記憶し、かつ、その情報を表示手段５へ表示させていく。
【００２９】
図４は、上記の処理により作成された画面遷移図の例である。この様に利用者が見た目で理解できる遷移図を作成することができる。
【００３０】
しかしながら、この状態では、各ブロックがどのような画面構成となるのか。その処理に伴いどのようなデータがどのように処理されるかについては何も定義されていない。
【００３１】
よって、画面遷移図作成モジュール１は、次に画面レイアウト作成処理（Ｓ１００２）に移行する。
【００３２】
移行当初、画面遷移図作成モジュール１は、図5に示されるように図４の画面遷移図作成画面と同様の画面遷移図を表示手段５に表示させる。（ただし、アイコン群の表示は行われない）。
【００３３】
ここで、利用者は入力手段１０１を操作して画面レイアウトの作成を行いたい画面表示処理に対し、カーソル３０１を合わせる操作を行うと、画面遷移図作成モジュール１はそれに応じてカーソルを移動させる処理を行う。（ここでは、見積もり依頼画面のブロックニ移動されたものとする。）
ここで、利用者が決定を示す操作を入力手段１０１に対し行うと、画面遷移図処理モジュールは、図６に示す画面レイアウト作成画面３０２を表示手段５に表示させる。この際、画面遷移図作成モジュール１は、入力手段１０１の操作に応じて、表示手段５の表示画面上を移動するカーソル３０３と、画面レイアウト作成時の各種部品を示したアイコン群３０４を表示画面５に表示する。
【００３４】
この状態において、利用者が入力手段１０１を操作して、アイコン群３０４中の何れかのアイコンの上にカーソル３０３を移動させ、選択を示す操作を行った後、所望の位置にカーソル３０３を移動する操作を行うと、画面遷移図作成モジュール１は、選択されたアイコンに相当するアイコンの部品をカーソルの移動にあわせて移動させる。その後、利用者が入力手段１０１に対し、その部品をその位置に固定させる事を示す操作を行うと画面遷移図作成モジュール１は、その位置に該当部品のアイコンを固定表示させる。
【００３５】
上記した処理を繰り返す事により、画面レイアウトの作成を行っていく。このようにして作成された、画面レイアウトを図７に示す。
【００３６】
この状態において、利用者が入力手段１０１を操作してレイアウト登録の操作を行うと画面遷移作成モジュール１は、レイアウト内容を対応する画面遷移図のブロック（ここでは、見積もり依頼画面）にリンクさせた状態で画面遷移図記憶手段２に記憶させる。この際、画面遷移図作成モジュールは図８に示されるように各入力項目の横に記入された文字と入力枠をリンクさせた入力項目テーブルを作成し、このテーブルも画面遷移図記憶手段２に記憶させる。
【００３７】
また、この処理は画面遷移図の各画面表示ブロックに対して行う。
【００３８】
なお、この処理において図５のブロック中、「見積もり結果画面」の画面レイアウトは、上記と同様の処理を行い、図9に示すような画面レイアウトとなったものとする。
【００３９】
最後に画面遷移図作成モジュール１は、画面項目仕様作成（Ｓ１００３）処理を行う。
【００４０】
この処理は、画面遷移図上の各項目に対しどのような処理を行うのか定義を行っていくものである。
【００４１】
この処理に移行した際も画面遷移図作成モジュールは、表示手段５に図５に示されるような画面遷移図を表示させる。
【００４２】
ここで、操作者が入力手段１０１を用いて何れかのブロックにカーソルを移動させる操作を行い、その後そのブロックを選択する操作を行うと、画面遷移図作成モジュール１は、その情報を受け、図１０に示すように画面遷移図記憶手段２の該当ブロックに対応した入力項目テーブルを表示する。図１０このテーブルの右枠は、空白であり、入力手段１０１を操作して、図１１に示すように操作者はこの枠に各項目の種別を入力する。なお、この入力手段１０１の操作に応じた項目への入力処理は画面遷移図作成モジュール１の制御によってなされる。
【００４３】
また、選択されたブロックが「アクション」である場合、画面遷移図作成モジュール１は、表示手段５に、処理内容を入力する画面を表示させる。ここでは図５の画面遷移図の「検索」が「アクション」ブロックであるので、このブロックの入力例を図１２に示す。
項目欄には処理もしくは計算結果の入る項目を入力し、処理内容欄にはその処理の内容を明記する。図１２の場合、まず、見積もり依頼画面で入力された項目に対し、入力フォーマットチェックを行い、もし、エラーがあればエラー画面へ遷移する。無ければ、データベースＡより品番コードに応じた単価情報を取得して単価情報とし、単価に（見積り依頼画面で入力された）数量をかけたものを価格情報として記憶する。という処理が定義されている。
【００４４】
以上の様に各処理を行っていく事により、各画面処理の流れを容易に定義する事が可能となる。
［テストプログラム実行処理］
上記の様に作成されたウエブアプリケーションのテスト動作について図１３のフローチャートを用い、以下説明する。なお、以下の動作は特定の記載がない限り、画面遷移図仮実行用コード生成モジュール４が処理を行うものとする。
【００４５】
まず、操作者が、入力手段１０１によりテストプログラム実行を行う事を指示する操作を行うと、まず画面遷移図仮実行用コード生成モジュール４は、画面遷移図記憶手段２に記憶されている画面遷移図情報を基に、実行用コードを生成する（Ｓ２００１）。
【００４６】
次に、画面遷移図仮実行用コード生成モジュール４は、生成された実行コード中にデータベースなど他のモジュール・データベース参照部分があるかチェックし、なければ処理を完了する（Ｓ２００２）。逆に、ここで、参照部分ありと判断された場合、仮アクションモジュールを適用する部分があるとして画面遷移図仮実行用コード生成モジュール４はＳ２００３以降の処理を行う。
【００４７】
まず、仮アクションモジュールライブラリ４に記憶されている仮アクションモジュールの一覧を抽出し（Ｓ２００３）、その一覧を表示手段５に表示する（Ｓ２００４）。
【００４８】
ここで、仮アクションモジュールライブラリ３に記憶されている仮アクションモジュールについて説明する。仮アクションモジュールは、図１４に示すように、入力返信モジュール３１・日付取得モジュール３２・乱数返信モジュール３３・演算モジュール３４の少なくとも４種類のものが記憶されている。
【００４９】
まず、入力返信モジュール３１は入力されたパラメータをそのままの値で適用するモジュール、日付取得モジュール３２は日付情報を出力するモジュール、乱数返信モジュール３３は入力されたパラメータに対し範囲内で乱数を自動発生させその値を適用するモジュール、演算モジュール３４は入力されたパラメータに対し、演算結果を出力するモジュールである。
よって、このＳ２００４では図１５に示すように仮アクションモジュール一覧とその選択を促すメッセージとが表示手段５に表示する。
【００５０】
操作者が入力手段１０１を操作してそのうちの１つを選択すると（Ｓ２００５）、該当実行コードの該当部分を選択された仮アクションモジュールを画面遷移図記憶手段２に記憶する（Ｓ２００６）。
【００５１】
そして他に仮アクションモジュールを適用する部分がないか確認を行い（Ｓ２００７）、無ければ処理を終了し、あれば、ステップＳ２００３以降の処理を繰り返す。
【００５２】
以上の様にして、仮アクションモジュールの適用した結果、画面遷移図記憶手段２にはそのウエブアプリケーションに適用される仮アクションモジュールの適用状況が記憶される。その記憶内容を図１６に示す。ここで、項目「価格」の情報には、乱数の仮アクションモジュールが設定されている。これでは正確な値が出ないが、正式な計算モジュールが適用できない（作成されていない）場合で、検索結果出力の表示状態を確認するだけの場合には（値こそ正しくないものの）その表示状態は確認できるため、表示テストとしては十分である。
【００５３】
この様に作成・コード変換が行われた実行コードは、仮実行手段６に渡され、仮実行手段６は、この実行コードに基づく処理を行うことになる。
【００５４】
この様に仮アクションモジュールを適用してテスト実行させる事で、より実行状態に近い状態でテストプログラムを動作させる事ができるようになる。
【００５５】
また、仮アクションモジュール適用により、実際に対象となるデータベース等の他のシステムが構築されていなくとも、その結果を表示させたりする事が可能となるため、完全に完成していない段階においても、利用者に本稼動状態をより近い状態での実行状態の確認を行わせる事が可能となる。
次に仮実行手段６による処理について図１７のフローチャートを基に、更に詳しく説明する。
【００５６】
まず、実行すべき実行コードの処理に対する過去入力データがデータベース１１に記憶されていないかチェックする（Ｓ３００１）。もし、ここで過去入力データが無ければ（Ｓ３００２）、実行コードに準拠した処理を行う（Ｓ３００３）。当然この際、画面遷移図記憶手段２に記憶されている仮アクションモジュール適用情報に基づき仮アクションモジュールを適用しながら、処理実行を行う。
【００５７】
逆に過去入力データがあった場合、表示手段５に過去データを使用するか否か選択画面を表示する（Ｓ３００５）。
【００５８】
ここで、過去データを使用すると選択されなければＳ３００３へ移行し、使用することが選択された場合、データベース１１から過去入力データを抽出し、実行コードが入力を受け付けるコードであった場合、実際に入力待ちとせず、該過去入力データを自動入力させ、実行を継続する（Ｓ３００６）。この場合も画面遷移図記憶手段２に記憶されている仮アクションモジュール適用情報に基づき仮アクションモジュールを適用しながら、処理実行を行う。
【００５９】
このＳ３００３・Ｓ３００６の処理が完了した後入力項目のデータはデータベースに過去入力データとして記憶される。
【００６０】
なお、Ｓ３００７で記憶、及びＳ３００６で参照されるデータの例を図１８に示す。この例は、図５の画面遷移図の見積り依頼画面（図７）に対応する入力例である。
【００６１】
この様に、テスト実行時、過去の入力を自動入力できるように構成することで、多少の修正を施しながら同じテストを繰り返す場合ような場合に、何度も項目を手入力する必要が無くなる。
【００６２】
なお、上記した実行コード変換の際、仮アクションモジュールの遅延時間の設定を行えるようにすれば、より実際に近い感覚でのテストが可能となる。
【００６３】
上記システムにおいて、この遅延時間を含めた仮実行処理について説明する。
【００６４】
画面遷移図仮実行用モジュール４は、図１３に示すフローチャートに示すように実行コード変換処理を行っている際、該フローチャートのＳ２００４の仮アクションモジュール一覧表示画面において図１９に示すように、遅延時間（ディレイタイム）を入力できるよう表示手段の表示を行う。
【００６５】
この表示に伴い、操作者が入力手段１０１にて適用する仮アクションモジュールとその遅延時間を入力操作すると、画面遷移図仮実行用モジュール４はこれらの情報を画面遷移図記憶手段２に記憶していく。この記憶結果を図２０に示す。
【００６６】
仮実行手段６は、実行コードの実行に当たって、仮アクションモジュールの呼び出しのたびに、この画面遷移図記憶手段２の遅延時間も参照し、その時間だけ待って該当仮アクションモジュールの呼び出し処理を行う。
【００６７】
なお、上記説明では画面遷移図記憶手段に遅延時間情報を記憶させて仮実行手段６が、実行コードの実行中に画面遷移図記憶手段２の記憶内容を基に遅延処理を行ったが、このような記憶を行わず、画面遷移図仮実行用コード生成モジュール４により実行コード変換時に、仮アクションモジュール呼び出しの実行コードの前（もしくは後ろ）に、遅延時間分ウエイト（処理待ち）を行う実行コードを入れておくことで対応することも可能である。
【００６８】
この様にすれば、仮実行手段６が仮アクションモジュールの呼び出し語とに画面遷移図記憶手段２をアクセスするような特殊な処理を行わせずに同様の効果を得られる事になる。
【００６９】
［仮実行補助処理］
ウエブアプリケーションの場合、その処理は、利用者の選択や入力内容によって、種々の処理を行うことになる。ウエブアプリケーションが複雑化すればするほどこの処理内容は多岐にわたる事になる。上記したような仮実行処理は、この複数の処理が全て間違いなく、利用者の意図に沿った実行が行われるか、もしくは間違った実行がなされないかを確認するためにも、全ての処理を行う必要があるが、実行画面のみを追っていっても、それで全ての処理に対して仮実行を行ったのか否かが不明である。また、複雑化した処理になると画面遷移図上のどの処理がどのように関係しているのかを、実行画面のみを持って把握する事は困難である。
【００７０】
以下に示す処理は、この様に仮実行処理を行う際の課題を鑑みてなされたものである。
【００７１】
（１）画面遷移図並行表示処理
この処理は、図１のブロック図の画面遷移図仮実行用コード生成モジュール４とシミュレーション実行制御モジュール８が行う。
まず、画面遷移図仮実行用コード生成モジュール４が、画面遷移図記憶手段２に記憶されている画面遷移図情報から実行コードを作成する際、図２１に示すように各画面遷移図情報の各ブロックに対し、画面遷移図情報内の各ブロックにＩＤを付すと共に、実行コードと該実行コードに対応するブロックのＩＤとをリンク付けしてデータベース１１に記憶していく処理を並行して行う。
【００７２】
そして仮実行手段６が仮実行処理を行う際に、シミュレーション実行制御モジュール８は、仮実行手段６が処理している実行コードを仮実行手段６より取得し、データベース１１に記憶されているＩＤと実行コードのリンク情報及び画面遷移図記憶手段２に記憶されているリンク情報画面遷移図情報を参照して、該実行コードに対応したＩＤのブロックを識別可能にした画面遷移図情報を表示手段５に表示させるようにする。この際、この識別表示は、ブロックアイコンの色反転・色変更・ブリンク・アンダーライン・矢印アイコン付与等である。
【００７３】
また、図２２に示すように表示手段５上では、仮実行手段６の処理画面とシミュレーション実行制御モジュール８による画面遷移図情報の表示とを同一画面に表示するようにすれば、操作者・利用者は、処理画面と遷移図の対応関係を見ながら仮実行処理の確認を行う事ができるようになり、修正箇所の特定及び修正後の確認が容易になる。
【００７４】
なお、図２２中の「画面遷移状況」がシミュレーション実行制御モジュール８による表示処理、「処理画面」が仮実行手段による表示結果を示しているものである。また、矢印は、画面遷移図中、仮実行手段６が処理を行っているブロックを示すものであり、この矢印付与処理も、上記した処理によりシミュレーション実行制御モジュール８が行うものである。
【００７５】
また、上記処理では、画面遷移図情報の各ブロックと実行コードとを対応付けたが、これに加え画面レイアウト作成処理で作成した各画面の表示処理毎にＩＤを付し、このＩＤと実行コード・ブロックとをリンク付けしてデータベース１１に記憶しておき、仮実行処理時に、シミュレーション実行制御モジュール８がこのリンク情報を基に仮実行手段６により処理画面が表示された際に、その表示画面のＩＤに対応したブロックのＩＤを特定し、そのブロックを他のブロックと識別可能に画像遷移図を表示させる処理を行うようにしても良い。
【００７６】
（２）画面遷移図操作履歴記憶処理
上記した仮実行手段６は、実行コードに基づく処理を行った際、その処理内容をデータベース１１に蓄積していく処理を行う。
【００７７】
この処理について説明する。
【００７８】
図２３は、上記した手順で画面遷移図作成モジュール1により作成され、画面遷移図記憶手段２に記憶された後画面遷移図仮実行用コード生成モジュール４によって各ブロックにＩＤを付与した状態の画面遷移図のイメージを示す図で、各ブロックに付されている数字は、ＩＤを示す。
【００７９】
ウエブアプリケーションでは、画面内で何らかの選択を行う事で、次に行われる処理・表示される画面が決定される。
【００８０】
ここで、1回目の仮実行で、ＩＤが１→２→３→４→６→７→１０の順序で画面遷移・処理を行ったとする。この履歴情報を仮実行手段６は、図２４に示すように、該ウエブアプリケーションの実行回数と共にデータベース１１に記憶される。同じように、仮実行手段６は、２回目以降も実行回数情報とリンクして記憶を行う。
【００８１】
（３）実行済みブロック表示・未実効ブロック経路提示処理
この処理は、仮実行状態表示手段１０が行う。
【００８２】
仮実行手段６による上記（２）の処理が行われると、データベース１１に履歴情報が蓄積されていく。
【００８３】
この状態において操作者が、仮実行状態を表示させる入力を入力手段１０１より行うと、仮実行状態表示手段１０は、データベース１１より全ての仮実行履歴情報を取得し、現状で仮実行が行われたブロックのＩＤを取得する。例えば図２５の様に、２回の仮実行履歴情報が記憶されていた場合、実行が行われたブロックのＩＤは、１・２・３・４・５・６・７・８・１０・１１・１２であるのでこの情報を取得する。
【００８４】
ここで仮実行状態記憶手段１０は、画面遷移図記憶手段２に記憶されている画面遷移図情報のうち、上記取得したＩＤに対応したブロックのアイコンの色を変更し、図２６に示すように表示手段５に表示させる。
【００８５】
これにより、操作者は、ブロック９・１３が未実行ブロックである事を視覚的に認識する事が可能となり、容易に未実行ブロックを特定する事が可能となる。
【００８６】
しかしながら、複雑な画面遷移図である場合、未実行ブロックと認識しながらも、各画面で、どのように操作を行っていけば未実行ブロックを実行させるのかを操作者が認識する事は難しい。
【００８７】
そこで、仮実行状態表示手段１０では、そのブロックを経由するルートを表示させる処理機能を有する。この処理機能について、図２７のフローチャートを基に説明を行う。なお、この処理は仮実行表示手段１０が行うものである。
【００８８】
仮実行状態表示手段が上記した手順によって、表示手段５に図２５で示す画面遷移図の表示を行った後、操作者が入力手段１０１を操作して未実行ブロックであるブロック１３を実行させるルートを指定する旨の指示を行うと、仮実行状態表示手段１０は、まず、該当ブロック（ここではブロック１３）から、実行開始ブロックであるブロック１までにさかのぼるルートを検索する（Ｓ４００１）。この場合、複数のルートがある場合があるが、そのうち１つのルートが検索できれば良い。この処理により図２５に示す画面遷移図において、ブロックｉｄ１３→１１→８→５→３→２→１の逆ルートが検索されたとする。
【００８９】
ここでこのルートを通常方向のルートに戻し、これをブロックＩＤ１３までのルートとしてデータベース１１に記憶する。即ち、ブロックｉｄ１→２→３→５→８→１１→１３のルートがデータベース１１に記憶する。
【００９０】
次に、上記画面項目仕様処理において作成された各ブロックでのアクションの遷移情報を利用して、各ブロックが上記記憶されたルートの次のブロックに遷移するためにどのような操作を行えばよいのかを特定し、最後ブロックであるブロック１３以外についてその情報をデータベース１１に逐次記憶していく（Ｓ４００２）。この蓄積された遷移情報を図２８に示す。
【００９１】
そして、仮実行状態表示手段１０は、図２９に操作を促すメッセージと共に、データベース１１に蓄積された遷移情報を表示手段５に表示させる。
【００９２】
この様にする事で、
なお、本実施の形態では、１つの未実行ブロックを操作者が指定する処理であったが、仮実行状態表示手段１０が未実行ブロックＩＤを特定する処理を行い、その全ての未実行ブロックに対し該処理を行う事で、全ての未実行ブロックまでの操作手順を一括して取得・表示できるようにする事も可能である。
【００９３】
この様にする事で、未実行ブロックが確実になくなるまで、かつ、効率的に仮実行を行う事が可能となる。
【００９４】
（４）仮実行最小操作検索処理
（３）での処理は、ある程度操作者の意図に任せた仮実行を数回行い、その後仮実行を行っていないブロックを特定するものであった。この仮実行は利用者がその操作を確認する際には有効である。しかし、操作者のみで仮実行を行う場合では、実行するか否かの確認さえできれば良い場合がある。このような場合にいちいち各項目への入力操作は面倒である。
【００９５】
よって、仮実行を行う前に、全てのブロックのルートが処理可能な操作手順を自動探索し、そのルートにしたがって処理が進むよう各入力項目に対し、自動入力していく状態で仮実行を行うようにすれば、操作者は仮実行の指示を行うのみで、自動的に抜けの無い仮実行が可能となる。以下、この処理について説明する。この処理も仮実行状態表示手段１０が行う。
【００９６】
そこで、操作者が入力手段１０１を操作して自動仮実行を依頼する入力を行うと、仮実行状態表示手段１０はまず、遷移図記憶手段２に記憶されている遷移図情報を基に全てのアクション及び全てのブロックを通る経路を検索し、データベース１１に記憶する。
【００９７】
次に、別ルートを検索し同じようにデータベース１１に記憶する。
【００９８】
その後は、いずれのブロックも処理が行われない事なくなるまでその検索を繰り返す。
【００９９】
この検索処理が終了したら、遷移図情報記憶手段２を参照して、データベース１１に記憶された夫々のルートの入力項目を抽出し、その入力項目に対しルートにそう為の値を付した後、データベース１１に蓄積する。（この蓄積された値を以後テキストシナリオ情報と称する。）
その後、仮実行手段６に処理を移行し、仮実行手段６は、上記したように仮実行を行う際、このテキストシナリオに沿って、入力項目を自動入力していく。
【０１００】
この様にする事で、操作者は仮実行の指示を行うのみで、自動的に抜けの無い仮実行が可能となる。
【０１０１】
（５）仮実行回数表示処理
（３）（４）では、抜けの無い仮実行処理を観点とした処理を行ったが、複数の仮実行処理を行った場合にその処理回数の多いブロック、もしくは、通るべき処理ルートのうち通過する回数の多いブロックを知りたい場合がある。この様なブロックは、ブロック内の構成変更を行う場合には、影響度が高いためである。
【０１０２】
この処理は以下の様に行われる。
【０１０３】
なお、この処理も仮実行状態表示手段１０が行う。
【０１０４】
まず、操作者が仮実行回数カウントの指示を入力手段１０１に入力すると、仮実行状態表示手段１０は、（４）と同様の手順にて画面遷移図記憶手段２で記憶されている画面遷移情報で想定されうる経路を未実行ブロックがなくなるまで検索し、データベース１１に記憶する。
【０１０５】
次に、全ての履歴情報の中でカウントされているブロックＩＤの出現回数をカウントし、データベース１１に記憶する。この出現回数の記憶情報の例を図３０に示す。この図３０の出現回数の記憶情報は、図２３の画像遷移図に対する例を示している。
【０１０６】
その後、仮実行状態表示手段１０は、画面遷移図記憶手段２に記憶されている画面遷移図情報とデータベース１１に記憶した出現回数の記憶情報を参照し、各ブロックでの出現回数を付した画面遷移図を表示手段５に表示させる。
【０１０７】
なお、上記した処理では、仮実行状態表示手段１０が自動亭にルートを設定し、そのルートにおける処理回数を表示させたが、（２）の画面遷移図操作履歴記憶処理によってデータベース１１に記憶された全ての履歴情報を参照して実際の仮実行で実行した回数を基に上記のような実行回数表示を行うようにしても良い。
【０１０８】
また、本実施の形態では、実行回数を数字として表示手段に表示させたが、数字にあわせて色を設定しておき、各ブロックの表示色をその出現回数の数字に合わせた色として表示させる事により、文字ではなく感覚的にその実行回数を把握する事が可能となる。
【０１０９】
さらに、回数ではなく、敷居値を設定し、敷居値以上の実行回数になったブロックを他のブロックと異なる色にすれば、重要度の高いと思われるブロックを視覚的に確認する事が可能となる。
【０１１０】
（６）その他の処理
なお、仮実行手段６での仮実行は、実際の状態と同じ処理状態にて行う事が基本であるが、処理内容の確認をしたりするために以下の処理を行えるようにすればより望ましい。
【０１１１】
（一時停止・再開機能）
仮実行手段６による仮実行処理を行っている際に、操作者が入力手段１０１より一時停止を要求する操作を行うと、仮実行手段6は、現在仮実行中のアプリケーションの実行コード位置及び各種パラメータをデータベース１１に記憶し、その処理を中断する。
【０１１２】
その後、操作者が入力手段１０１より一時停止を要求する操作を行うと、データベース１１に記憶した「各種パラメータ及び実行コード位置を基に仮実行を再開する。
【０１１３】
（早送り処理・スロー処理）
上記した仮実行では、実際の処理に即し、仮アクションモジュールの呼び出しのたびに遅延時間を設定するようにしている。
【０１１４】
しかし、処理の流れを確認するだけの場合、このような遅延時間は無駄な時間となる。このため、仮実行手段６による仮実行処理を行っている際に、操作者が入力手段１０１より早送り処理を要求する操作を行うと、仮実行手段6がこの遅延時間を例えば設定時間の半分の時間しか遅延しないようにして仮実行を行うようにすれば、その待ち時間を短縮する事も可能がとなる。
【０１１５】
逆に、各ブロックでの画面をゆっくり確認しながら仮実効状態の確認を行いたい場合、操作者が入力手段１０１よりスロー処理を要求する操作を行うと、仮実行手段6がこの遅延時間を例えば設定時間の倍の時間遅延するようにして仮実行を行うようにすれば、その待ち時間を長くする事が可能となる。
【０１１６】
（任意ブロック実行）
上記した仮実行手段６による処理では、実行を当初のブロックから行っているが、（２）で説明したように、過去の実行履歴を取得していれば、その情報を参照して、途中を開始点とする処理も可能となる。
【０１１７】
これにより、効率の高い仮実行を行う事が可能となる。
【０１１８】
（付記１）
画面遷移図情報を記憶する画面遷移図記憶手段と、仮実行時に適用する仮アクションモジュールを記憶する仮アクションモジュール記憶手段とを有するコンピュータを、
前記画面遷移図記憶手段に記憶されている画面遷移図情報の各要素に前記仮アクションモジュール記憶手段に記憶されている仮アクションモジュールを適用する適用手段と、
前記適用手段による仮アクションモジュールの適用情報及び画面遷移図記憶手段に記憶されている画面遷移図情報に基づき実行コードを生成する実行コード生成手段と、
前記実行コード生成手段によって生成された実行コード中仮アクションモジュールの呼び出しコードごとに待ち時間を設定する設定手段と、
前記設定手段で設定された待ち時間を参照しながら前記実行コード生成手段で生成された実行コードの実行を行う仮実行手段と、
して実行させることを特徴とする画面遷移図モデルを用いたソフトウエアテストプログラム。
【０１１９】
（付記２）
前記コンピュータは、仮実行手段により実行された履歴情報を記憶する履歴情報記憶手段を有しており、
前記仮実行手段は、
項目入力の実行コードがあると、前記履歴情報記憶手段を検索し、前回実行時の入力項目情報があれば該入力項目情報を入力項目として実行コードにもとづく処理を継続することを特徴とする付記１に記載の画面遷移図モデルを用いたソフトウエアテストプログラム。
【０１２０】
（付記３）
前記適用手段は、
前記画面遷移図記憶手段に記憶されている画面遷移図情報の各要素毎に適用する仮アクションモジュールを問い合わせる表示を行う問い合わせ表示手段と、
前記問い合わせ表示手段による表示の後、送られてくる選択情報を基に前記仮アクションモジュール記憶手段に記憶されている仮アクションモジュールを適用する適用手段と
を有することを特徴とする付記１に記載の画面遷移図モデルを用いたソフトウエアテストプログラム。
【０１２１】
（付記４）
前記設定手段は、
前記実行コード生成手段によって生成された実行コードを解析する解析手段と、
前記解析手段の解析の結果、抽出された仮アクションモジュールの呼び出しコードに対し、待ち時間を入力要求するメッセージを表示手段に表示する待ち時間入力要求手段と、
前記待ち時間入力要求手段による表示の後、入力された待ち時間情報を該仮アクションモジュールの待ち時間として設定する待ち時間設定手段と
を有することを特徴とする付記１に記載の画面遷移図モデルを用いたソフトウエアテストプログラム。
【０１２２】
（付記５）
前記仮実行手段は、
実行コードを処理する事により表示する表示結果と、前記画面遷移図記憶手段に記憶されている画面遷移図情報とを同一画面上に表示させ、かつ、該画面遷移図情報のうち、現在仮実行手段が処理を行っている要素を他の要素と識別できる状態で表示させることを特徴とする付記１に記載の画面遷移図モデルを用いたソフトウエアテストプログラム。
【０１２３】
（付記６）
前記コンピュータを更に
前記画面遷移情報記憶手段に記憶される画面遷移図の各入力項目に対してダミーの項目情報を自動発生させる発生手段と
して実行させると共に、
前記仮実行手段は、項目入力の実行コードがあると、前記発生手段により自動発生させた項目を入力項目として実行コードにもとづく処理を継続することを特徴とする付記１に記載の画面遷移図モデルを用いたソフトウエアテストプログラム。
【０１２４】
（付記７）
前記仮実行手段は、更に
操作者からの入力情報に基づき、設定手段による待ち時間の設定時間を所定比率で変更することを特徴とする付記１に記載の画面遷移図モデルを用いたソフトウエアテストプログラム。
【０１２５】
（付記８）
前記コンピュータは、仮実行手段により実行された履歴情報を記憶する履歴情報記憶手段を有しており、該コンピュータを更に
前記履歴情報記憶手段に記憶された情報を基に、画面遷移図記憶手段に記憶されている画面遷移図情報の要素のうち、仮実行手段による実行が行われていない要素を表示する実行状態表示手段と
して実行させる付記１に記載の画面遷移図モデルを用いたソフトウエアテストプログラム。
【０１２６】
（付記９）
前記コンピュータを更に
画面遷移図記憶手段に記憶されている画面遷移図情報の要素が実行される経路を設定する経路設定手段として実行させると共に、
前記仮実行手段は、前記経路設定手段によって設定された経路西田がって実行コードに基づく処理を行うことを特徴とする付記１に記載の画面遷移図モデルを用いたソフトウエアテストプログラム。
【０１２７】
（付記１０）
前記コンピュータは、仮実行手段により実行された履歴情報を記憶する履歴情報記憶手段を有しており、該コンピュータを更に
前記履歴情報記憶手段に記憶された情報を基に、画面遷移図記憶手段に記憶されている画面遷移図情報の各要素の実行回数を表示する実行回数表示手段と、
して実行させる付記１に記載の画面遷移図モデルを用いたソフトウエアテストプログラム。
【０１２８】
（付記１１）
画面遷移図情報を記憶する画面遷移図記憶手段と、仮実行時に適用する仮アクションモジュールを記憶する仮アクションモジュール記憶手段とを有するコンピュータが、
前記画面遷移図記憶手段に記憶されている画面遷移図情報の各要素に前記仮アクションモジュール記憶手段に記憶されている仮アクションモジュールを適用する適用ステップと、
前記適用ステップによる仮アクションモジュールの適用情報及び画面遷移図記憶手段に記憶されている画面遷移図情報に基づき実行コードを生成する実行コード生成ステップと、
前記実行コード生成ステップによって生成された実行コード中仮アクションモジュールの呼び出しコードごとに待ち時間を設定する設定ステップと、
前記設定ステップで設定された待ち時間を参照しながら前記実行コード生成ステップで生成された実行コードの実行を行う仮実行ステップと、
を実行することを特徴とする画面遷移図モデルを用いたソフトウエアテスト方法。
【０１２９】
（付記１２）
画面遷移図情報を記憶する画面遷移図記憶手段と、
仮実行時に適用する仮アクションモジュールを記憶する仮アクションモジュール記憶手段と、
前記画面遷移図記憶手段に記憶されている画面遷移図情報の各要素に前記仮アクションモジュール記憶手段に記憶されている仮アクションモジュールを適用する適用手段と、
前記適用手段による仮アクションモジュールの適用情報及び画面遷移図記憶手段に記憶されている画面遷移図情報に基づき実行コードを生成する実行コード生成手段と、
前記実行コード生成手段によって生成された実行コード中仮アクションモジュールの呼び出しコードごとに待ち時間を設定する設定手段と、
前記設定手段で設定された待ち時間を参照しながら前記実行コード生成手段で生成された実行コードの実行を行う仮実行手段と、
を有することを特徴とする画面遷移図モデルを用いたソフトウエアテスト装置。
【図面の簡単な説明】
【０１３０】
【図１】本発明の実施の形態に基づく、ウエブアプリケーション作成・テストシステムのブロック図
【図２】同実施の形態における処理手順を示したフローチャート
【図３】同実施の形態における表示画面の例を示した図
【図４】同実施の形態における表示画面の例を示した図
【図５】同実施の形態における表示画面の例を示した図
【図６】同実施の形態における表示画面の例を示した図
【図７】同実施の形態における表示画面の例を示した図
【図８】同実施の形態における表示画面の例を示した図
【図９】同実施の形態における表示画面の例を示した図
【図１０】同実施の形態における画面遷移図記憶手段２に記憶される入力項目テーブルを示した図
【図１１】同実施の形態における画面遷移図記憶手段２に記憶される入力項目テーブルを示した図
【図１２】同実施の形態における画面遷移図記憶手段２に記憶される入力項目テーブルを示した図
【図１３】同実施の形態における処理手順を示したフローチャート
【図１４】同時鬱し野形態における仮アクションモジュールライブラリ３に記憶されている仮アクションモジュールの記憶状態を示した図
【図１５】同実施の形態における表示画面の例を示した図
【図１６】同実施の形態において画面遷移図記憶手段２に記憶された仮アクションモジュールの適用状況の情報を示した図
【図１７】同実施の形態における処理手順を示したフローチャート
【図１８】仮実行時に記憶される入力項目情報を示した図
【図１９】同実施の形態における表示画面の例を示した図
【図２０】同実施の形態において画面遷移図記憶手段２に記憶された仮アクションモジュールの遅延時間の情報を示した図
【図２１】同実施の形態において画面遷移図の各ブロックに対してＩＤを付したことを示す図、
【図２２】同実施の形態における表示画面の例を示した図
【図２３】同実施の形態における画面遷移図のイメージを示す図
【図２４】同実施の形態のデータベース１１に記憶される履歴情報を示した図
【図２５】同実施の形態のデータベース１１に記憶される履歴情報を示した図
【図２６】同実施の形態における表示画面の例を示した図
【図２７】同実施の形態における処理手順を示したフローチャート
【図２８】同実施の形態のデータベース１１に記憶される遷移情報を示した図
【図２９】同実施の形態のデータベース１１に記憶される履歴情報を示した図
【図３０】同実施の形態のデータベース１１に記憶される各ブロックの出現回数の記憶情報を示した図
【図３１】同実施の形態における表示画面の例を示した図
【符号の説明】
【０１３１】
１      画面遷移図作成モジュール
２      画面遷移図記憶手段
３      仮アクションモジュールライブラリ
４      画面遷移図仮実行用コード生成モジュール
５      表示手段
６      仮実行手段
７      データ要求処理モジュール
８      シミュレーション実行制御モジュール
９      割り込み制御モジュール
１０    仮実行状態表示手段
１１    データベース
１０１  入力手段
【図１】
2005107823.tif 000003
【図２】
2005107823.tif 000004
【図３】
2005107823.tif 000005
【図４】
2005107823.tif 000006
【図５】
2005107823.tif 000007
【図６】
2005107823.tif 000008
【図７】
2005107823.tif 000009
【図８】
2005107823.tif 000010
【図９】
2005107823.tif 000011
【図１０】
2005107823.tif 000012
【図１１】
2005107823.tif 000013
【図１２】
2005107823.tif 000014
【図１３】
2005107823.tif 000015
【図１４】
2005107823.tif 000016
【図１５】
2005107823.tif 000017
【図１６】
2005107823.tif 000018
【図１７】
2005107823.tif 000019
【図１８】
2005107823.tif 000020
【図１９】
2005107823.tif 000021
【図２０】
2005107823.tif 000022
【図２１】
2005107823.tif 000023
【図２２】
2005107823.tif 000024
【図２３】
2005107823.tif 000025
【図２４】
2005107823.tif 000026
【図２５】
2005107823.tif 000027
【図２６】
2005107823.tif 000028
【図２７】
2005107823.tif 000029
【図２８】
2005107823.tif 000030
【図２９】
2005107823.tif 000031
【図３０】
2005107823.tif 000032
【図３１】
2005107823.tif 000033