(57)【要約】【課題】テスト対象プログラム専用のスタブプログラムの作成や、テスト環境の設定を不要とし、テスト作業を効率化する。【解決手段】外部から与えられるデータを用いて処理を行うプログラムのテストのために、テスト対象プログラムから外部に送られる電文を解析して、必要とされるデータ項目を検出する手段２と、検出されたデータ項目に対応する入力データの値を、テスト対象プログラム側に送るべき電文に埋め込む手段４とを備える。【選択図】      図１
2005038076.tif 000002
【特許請求の範囲】
【請求項１】
外部から与えられるデータを用いて処理を行うプログラムをテストするためのスタブ装置において、
該テスト対象プログラムから送られる電文を解析して、必要とされるデータ項目を検出する電文解析手段と、
該検出されたデータ項目に対応する入力データの値を、テスト対象プログラム側に送るべき電文に埋め込む電文データ設定手段とを備えることを特徴とするプログラムテスト用会話型スタブ装置。
【請求項２】
前記検出されたデータ項目に対応した入力データの値を受取るためのデータ設定画面を生成し、設定された値を前記電文データ設定手段に与える設定画面生成手段を更に備えることを特徴とする請求項１記載のプログラムテスト用会話型スタブ装置。
【請求項３】
前記電文解析手段によって検出されたデータ項目に対応して、入力データを自動的に生成して、前記設定画面生成手段に与える入力値生成手段を更に備えることを特徴とする請求項２記載のプログラムテスト用会話型スタブ装置。
【請求項４】
前記電文データ設定手段によって埋め込まれたデータ設定値を記憶する電文データ記憶手段と、
該電文データ記憶手段に記憶されたデータを読出し、前記入力データとして前記設定画面生成手段に与える電文データ読込手段とを更に備えることを特徴とする請求項２記載のプログラムテスト用会話型スタブ装置。
【請求項５】
外部から与えられるデータを用いて処理を行うプログラムをテストするための計算機によって使用される記憶媒体において、
該テスト対象プログラムから送られる電文を解析して、必要とされるデータ項目を検出するステップと、
該検出されたデータ項目に対応する入力データの値を、テスト対象プログラム側に送るべき電文に埋め込むステップとを計算機に実行させるためのスタブプログラムを格納した計算機読出し可能可搬型記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はプログラムテスト方式に係り、更に詳しくはクライアント／サーバシステム開発時に、サーバ側のプログラムが完成していない場合にクライアント側のプログラムをテストする為のプログラムテスト用会話型スタブ装置に関する。
【０００２】
【従来の技術】
例えば複数のモジュールから構成されるプログラムにおける一部のモジュールのテスト、あるいは外部プログラムを読出してその処理結果を利用するプログラムのテストにおいては、全てのモジュールまたは外部プログラムの完成後に、テスト対象モジュールまたはテスト対象プログラムのテストを行うことが望ましい。
【０００３】
しかしながら、一般的にはモジュール単体あるいはテストプログラム単体のテストを迫られることもある。例えばクライアント／サーバシステムの開発において、クライアント側のプログラムは完成しているが、サーバ側のプログラムはまだ完成していない場合には、クライアント側プログラムのテストを行うことができない。このような場合、クライアント側プログラムのテストを行う従来方式について図１９、および図２０を用いて説明する。
【０００４】
図１９では、クライアントプログラム側でのサーバ読出処理が無効とされ、仮想的なサーバ処理結果としてのデータ１がプログラムソース上に埋め込まれ、コンパイルされた後にテストが実施される。そしてそのテスト結果に応じて、ソース上に埋め込まれたデータ１をデータ２に変更するような修正が行われ、コンパイルの後に再度テストが実施される。このようなテストが繰り返されることによって、クライアントプログラムのテストが行われる。
【０００５】
図２０では、クライアントプログラムのテストを行うためのスタブプログラム（ソース）が作成され、そのスタブソースを用いてクライアントプログラムのソースが修正され、クライアントプログラムのソースからスタブプログラムが呼び出されるようにコンパイルが行われ、データ１が作成されて、ファイルに格納された後にテストが実施される。そのテスト結果に応じてデータ２が作成され、そのファイルを用いてテストが繰り返される。
【０００６】
またこのようなプログラムの単体テスト方式の従来技術として次の文献がある。
特許文献１では、プログラムの単体テストにおいて、呼び出すべき外部プログラムを機能の高い単一のスタブプログラムに置換え、そのスタブプログラムにおいて予め定義された動作を擬似的に行って復帰すると共に、その結果を出力するプログラム単体テスト方式が開示されている。
【０００７】
特許文献２では、複数のモジュールから構成されるプログラムのモジュールテストにおいて上位および下位のモジュールの存在を検出し、存在するモジュールが上位であるか、下位であるかに応じて、モジュールの代替機能を実行するテスト支援ツールが開示されている。
【０００８】
【特許文献１】
特開昭６３−２０１７３８号公報「プログラム単体テスト方式」
【特許文献２】
特公平６−１９７３１号公報「プログラムの単体テスト方式」
【０００９】
【発明が解決しようとする課題】
しかしながらこのような従来技術においては、与えるデータを変更するたびにプログラムソースを修正したり、専用のスタブプログラムを作成するために手間がかかるという問題点があった。また、専用のスタブプログラムの代わりに共通的なスタブプログラムを作成しても、テストに先立ってスタブプログラム側の動作定義情報やテストデータなどの設定が必要となり、テストを行うたびにテスト環境の設定が必要となるという問題点があった。
【００１０】
本発明の課題は、上述の問題点に鑑み、テストプログラムから外部プログラム側への電文を解析して、データの値の設定が必要な項目を検出し、例えば利用者にその値を設定させることによって、テストプログラム専用のスタブプログラムの作成や、テスト環境の設定を不要とするプログラムテスト用会話型スタブ装置を提供することである。
【００１１】
【課題を解決するための手段】
図１は本発明のプログラムテスト用会話型スタブ装置の原理構成ブロック図である。同図においてスタブ装置１は、少なくとも電文解析手段２と、電文データ設定手段４とを備える。
【００１２】
スタブ装置１は、外部から与えられるデータ、一般的には外部プログラム側から与えられるデータを用いて処理を行うプログラムをテストするためのものであり、電文解析手段２はテスト対象プログラムから外部に送られる電文を解析して、必要とされるデータ項目を検出するものであり、電文データ設定手段４は検出されたデータ項目に対応する入力データの値を、テスト対象プログラム側に送るべき電文に埋め込むものである。
【００１３】
発明の実施の形態においては、プログラムテスト用会話型スタブ装置１は、更に設定画面生成手段３を備えることもできる。設定画面生成手段３は、電文解析手段２によって検出されたデータ項目に対応した入力データの値を受取るためのデータ設定画面を生成し、例えば利用者によって設定された値を電文データ設定手段４に与えるものである。
【００１４】
また実施の形態においては、スタブ装置１は電文解析手段２によって検出されたデータ項目に対応した入力データを自動的に生成して設定画面生成手段に与える、図示しない入力値生成手段を更に備えることも、また電文データ設定手段４によって埋め込まれたデータ設定値を記憶する電文データ記憶手段と、記憶されたデータを読出し、入力データとして設定画面生成手段３に与える電文データ読込手段とを更に備えることもできる．
次に本発明の記憶媒体は、外部から与えられるデータを用いて処理を行うプログラムをテストするための計算機によって使用される記憶媒体であって、テスト対象プログラムから送られる電文を解析して、必要とされるデータ項目を検出するステップと、検出されたデータ項目に対応する入力データの値を、テスト対象プログラム側に送るべき電文に埋め込むステップとを計算機に実行させるプログラムを格納する計算機読出可能可搬型記憶媒体である。
【００１５】
以上のように本発明によれば、プログラムテスト用会話型スタブ装置の画面上で、例えば利用者からデータの設定が行われ、そのデータがテスト対象プログラム側に送られることによってプログラムのテストが行われる。
【００１６】
【発明の実施の形態】
図２は本発明のプログラムテスト方式の基本動作の説明図である。同図において、例えばクライアントプログラムのソースが修正され、ソース上で汎用会話型スタブ装置が呼び出されるようにコンパイルが行われ、汎用会話型スタブ装置の設定画面上で、例えば利用者によって必要なデータの設定が行われることによってテストが実施され、その結果に対応してデータが変更され、再びテストが実施される。
【００１７】
図３は本実施形態における汎用会話型スタブ装置の基本構成ブロック図である。同図において汎用会話型スタブ装置１０は、クライアントプログラム側から送られる電文データ１７を解析して、データ入力の必要なデータ項目を検出する電文構造解析機能１１、データ入力が必要な項目についてのデータ入力のための設定画面を設定する設定画面生成機能１２、設定画面１３上で入力されたデータをクライアント側に送るべき電文データ１７に設定すると共に、その内容を電文データファイル１８に保存する電文データ設定／保存機能１４、電文構造解析機能１１によって検出されたデータ入力が必要なデータ項目に対応して、例えば利用者による設定の前に自動的に入力値を生成して、設定画面生成機能１２に与える入力値生成機能１５、電文データファイル１８に記憶されている従来設定された入力値を含む電文データを読み込んで設定画面生成機能１２に与える電文データ読込機能１６を備えている。
【００１８】
図４は汎用会話型スタブ装置がクライアントパソコン上に備えられる場合の全体システム構成図である。同図においてクライアントパソコン２０上に、汎用会話型スタブ装置１０と共にクライアント制御プログラム２１が備えられる。クライアント制御プログラム２１は、単にクライアント側の制御を行うだけでなく、クライアント／サーバシステムとしての相手側の業務アプリケーションサーバプログラム２２との間での処理も実行するものであるが、本実施形態においてはこのサーバプログラム２２が未完成であるために、汎用会話型スタブ装置１０を用いてクライアント制御プログラム２１のテストが実行される。
【００１９】
図４において▲１▼でサーバ読出処理が無効化され、スタブ装置１０の読出に変更されてスタブ装置１０が読み出される。それに先立ってクライアントパソコン２０の画面上に、ブラウザ（１）によってテスト対象画面２５が表示される。汎用会話型スタブ装置１０側では、クライアント制御プログラム２１から送られる電文が▲２▼で解析され、データ設定が必要な入力画面表示がブラウザ（２）によって行われ、これがデータ設定画面２６となる。
【００２０】
データ設定画面２６上で例えば利用者からデータが入力されるが、▲３▼で電文データファイル１８から必要なデータを読み込ませることも可能である。データ設定が終了すると、ブラウザ（２）によって設定完了画面２７が表示されると共に、ブラウザ（１）側ではテスト結果画面２８が表示される。ブラウザ（２）の設定完了画面２７から、設定されたデータを電文データファイル１８に保存することも可能である。
【００２１】
なお、図４ではスタブ装置１０はクライアントパソコン２０に備えられるものとしたが、例えばＷｅｂサーバにはクライアント側の画面表示制御プログラムが備えられており、スタブ装置１０をクライアント制御プログラム２１とともにアプリケーションサーバに備えることも可能である。
【００２２】
図５は汎用会話型スタブ装置における利用者ビューの説明図である。利用者がクライアントパソコン２０の画面上で、ブラウザ（１）によって表示されているテスト対象画面２５の上の検索ボタンを押すことにより、▲１▼のサーバ呼出処理が実行され、ブラウザ（２）によって▲２▼で会話型スタブ画面としてのデータ設定画面２６が表示され、利用者は▲３▼でそのデータ設定画面２６上で値を入力する。
【００２３】
利用者は、▲３▼でデータ設定画面２６上で例えば設定ボタンを押すことによって、ブラウザ（２）上で設定完了画面２７が表示され、またブラウザ（１）によって、設定された値が反映されたテスト結果画面２８が▲４▼で表示される。設定完了画面２７で設定されるデータは、データ設定画面２６上の読込ボタンが押されることによって▲５▼で電文データファイル１８に保存される。
【００２４】
次に本実施形態における処理について図６〜図１０のフローチャートを用いて説明する。図６は、電文構造解析機能の処理フローチャートである。
図６において処理が開始されると、まずステップＳ１でクライアントプログラム側から送られた電文内でデータ入力が必要な項目の数が取得され、ステップＳ２で項目の１つが取り出され、ステップＳ３でそのデータ項目の名前、型、桁数（長さ）、書式などの属性情報が取り出され、ステップＳ４でこれらの属性情報が図示しない作業用のメモリなどに退避され、ステップＳ５ですべての項目に対する処理が終了したか否かが判定され、していない場合にはステップＳ２以降の処理が繰り返され、すべての項目に対する処理が終了したと判定された時点で処理を終了する。
【００２５】
図７は設定画面生成機能による処理のフローチャートである。同図において処理が開始されると、ステップＳ７で設定画面のヘッダ部が生成される。このヘッダ部は設定画面の表示に必要なものである。そしてステップＳ８で作業用メモリなどに退避された項目の数が取得され、ステップＳ９でその項目の内の１つが取り出され、ステップＳ１０でその項目の型、桁数、書式などの属性情報を基にして、設定画面上でその項目に対する値の入力欄が生成され、ステップＳ１１ですべての項目が取得されたか否かが判定され、まだ取得されていない場合にはステップＳ９以降の処理が繰り返され、取得されたと判定された時点でステップＳ１２で設定画面のフッタ部が生成されて処理を終了する。
【００２６】
図８は入力値生成機能による処理のフローチャートである。入力値生成機能１５は、図３の設定画面生成機能１２によってデータ入力用の設定画面１３が生成され、例えば利用者によってデータの値が入力される前に、必要に応じて予め入力値を生成し、設定画面生成機能１２に与えるものである。
【００２７】
図８において処理が開始されると、ステップＳ１４で作業用メモリなどに退避された項目の数が取得され、ステップＳ１５で項目の１つが取り出され、ステップＳ１６で項目の型、桁数、書式などの属性情報を基にして乱数などを用いて入力値が生成され、ステップＳ１７で生成された入力値が項目の値として作業用メモリなどに退避され、ステップＳ１８で全ての項目を取得したか否かが判定され、まだ取得していない場合にはステップＳ１５以降の処理が繰り返され、取得したと判定された時点で処理を終了する。
【００２８】
図９は電文データ設定／保存機能による処理のフローチャートである。同図において処理が開始されると、ステップＳ２０で設定画面に表示された、値の入力が必要なデータの項目数が取得され、ステップＳ２１で項目の１つが取り出され、ステップＳ２２で設定画面の項目の名前を基にして、作業用メモリなどに退避された項目の内で一致するものが取り出され、ステップＳ２３で設定画面上で利用者などから入力された値がクライアント側に送るべき電文の中の項目の値として設定され、ステップＳ２４で項目の名前、型、桁数、書式に加えて、その値を含む属性情報が電文データファイル１８に出力され、ステップＳ２５で全ての項目を取得したか否かが判定される。
【００２９】
すべての項目を取得していない場合にはステップＳ２１以降の処理が繰り返され、取得した場合にステップＳ２６で、図４および図５で説明した設定完了画面２７が生成されて表示され、ステップＳ２７で電文データファイルへのリンクが設定完了画面２７中に生成されて処理を終了する。
【００３０】
図１０は電文データ読込機能による処理のフローチャートである。この電文データ読込機能１６は、同様のテストが繰り返される場合に、電文データファイル１８に格納されている過去のテスト実行時の入力データの値を読み込み、設定画面生成機能１２に与えるものである。
【００３１】
図１０において処理が開始されると、ステップＳ３０で電文データファイル１８内のファイルが指定される。電文データファイル１８には、例えば一回のテストに対応するデータが１つのファイルとして格納されており、例えばそのファイルの名前を指定することによって目的のデータを読み込むことができる。
【００３２】
ステップＳ３１でファイル内の項目の１つが取り出され、ステップＳ３２でファイル内の項目の名前を基に、作業用メモリに退避された項目の中で一致するものがあるか否かが探され、ステップＳ３３で一致するものがあったか否かが判定され、ない場合にはステップＳ３１以降の処理が繰り返される。ここで一致するものがあるかを探す理由は、ファイル内に格納されている過去のテストのデータ項目の内で、今回のテストに使用されないものについてはデータを読み込む必要がないからである。
【００３３】
ステップＳ３３で一致するものがあったと判定されると、ステップＳ３４でファイル内に格納されている値をそのデータ項目の値として設定する処理が行われ、ステップＳ３５で電文データファイル内に格納されているすべての項目が取得されたか否かが判定され、まだ取得されていない場合にはステップＳ３１以降の処理が繰り返され、取得した場合にはステップＳ３６で設定画面生成機能が呼び出されて処理を終了する。
【００３４】
ステップＳ３６で設定画面生成機能が呼び出される理由は、電文データファイル１８から読み込まれたデータの値をデータ設定画面上に表示するためである。クライアントプログラム側に送る電文データに値を設定するためには、読み込まれた値を作業用領域に退避し、その値を電文データに設定するだけでも良いが、それではどのようなデータを用いてテストが行われたかが利用者に知らされないことになり、利用者にそのデータを知らせるためには設定画面上にそのデータを表示する必要がある。
【００３５】
例えば図４で入力値生成機能１５によって生成された入力値が直接に電文データ設定／保存機能１４に与えられるのではなく、設定画面生成機能１２に与えられるのも同じ理由で、利用者にその入力値を知らせるためである。
【００３６】
続いて本実施形態における処理について、具体例を用いて図１１〜図１７によって更に説明する。図１１は汎用会話型スタブ装置呼出しの記述例を示す。
サーバ側プログラムが既に完成している場合には、▲２▼においてサーバ側が読み出す処理が実行されるが、その代わりにスタブ装置を呼び出す処理が記述される。ここではＪａｖａ（登録商標）言語でクライアントプログラムが作成されており、汎用会話型スタブはＤａｔａ  Ｅｄｉｔｏｒクラスとして実装されているものとする。
【００３７】
図１１においてまず▲１▼で、サーバへの電文となるＥｍｐｓｒｃｈ  Ｄａｔａクラスのインスタンスｐｄが取得され、その後▲３▼で汎用会話型スタブに電文ｐｄが渡され、処理が呼び出される。引数の二番目のｆａｌｓｅは入力値生成機能を使用しないことを示している。
【００３８】
このプログラムが実行されて、▲３▼で汎用会話型スタブに制御が渡され、データ設定画面でデータの設定が行われ、設定完了画面が表示されるまではこのプログラムの実行は▲３▼にとどまる。設定完了画面が表示されると同時に▲４▼の画面遷移処理が実行されて、テスト結果画面２８が表示される。
【００３９】
図１２は電文構造解析機能による解析例の説明図である。同図はＪａｖａ（登録商標）言語の電文の解析例を示す。同図においてテスト対象画面２５のインスタンスによって、スタブの呼出しにあたって電文インスタンスが渡され、電文構造解析機能１１はこの電文インスタンスを解析して、電文内の項目の名前と型などを取得する。すなわち電文構造解析処理として、電文項目の全てが取得され、項目の数だけ項目の名前、型、および必要に応じて値などの取得が繰り返される。
【００４０】
図１３は電文構造解析機能によるＸＭＬ言語の電文解析例を示す。クライアントプログラム側から受取った電文がＤＯＭ（ドキュメント・オブジェクト・モデル）パーサによって解析され、ｄｅｎｂｕｎ（電文）ノードからｉｔｅｍ（項目）ノードの数が取り出され、各ｉｔｅｍノードからｎａｍｅ（名前）ノード、ｔｙｐｅ（型）ノード、ｓｉｚｅ（桁数）ノード、ｆｏｒｍａｔ（書式）ノード、およびｖａｌｕｅ（値）ノードについてそのノードのテキストの値が取得される。具体的な解析には例えばＪａｖａ  ＡＰＩ（アプリケーション・プログラム・インタフェース）フォー  ＸＭＬ  プロセシングが使用される。
【００４１】
図１４は電文構造解析機能と入力値生成機能による処理の具体例である。この例では電文はＪａｖａ（登録商標）のクラスとして実装されており、ＪａｖａリフレクションＡＰＩを用いて、電文内の各項目の名前と型などが取得されている。入力値生成機能１５を使用する場合には各項目の型にあわせて、例えば乱数を用いて適当な値が生成され、入力値として設定される。
【００４２】
図１４において電文構造解析機能１１によって下の表の項目に対する名前、例えばｅｍｐＩＤなどが取得され、入力値生成機能１５によって値、例えばＳＬ２３Ｄ４ＫＵＳＤなどが生成されている。
【００４３】
図１５は設定画面生成機能１２の動作例の説明図である。この例では設定画面がＨＴＭＬソースの形式で生成されている。電文構造解析機能１１によって得られた項目の名前と型、およびその値を基にして、設定画面用のＨＴＬＭソースが生成される。
【００４４】
入力値生成機能１５が使用された場合には、例えば▲１▼の箇所が
＜ｉｎｐｕｔ  ｎａｍｅ  ＝  ｅｍｐＡｇｅ  ｖａｌｕｅ  ＝  ３５＞
のようになり、入力値生成機能１５によって生成された値が、設定済みの値として画面表示時の初期値として表示される。
【００４５】
図１６は電文データ設定／保存機能１４の動作の例である。データ設定画面２６上で利用者によって値が入力されると、電文データ設定／保存機能１４はその値を取り出し、一旦例えば内部の作業用メモリにその値を保持した後に、クライアント側に渡す電文にその値を設定する。また、電文データファイル１８を作成する。ここでは電文データファイル１８がＣＳＶ（コンマ・セパレーテッド・バリュー）ファイルとして作成されている。
【００４６】
これらの処理が終わると、設定完了画面２７が生成されて表示される。なおこの設定完了画面２７には、作成された電文データファイル１８へのリンクが埋め込まれており、利用者はこれをクリックすることによって、例えばパソコン内のハードディスクにそのファイルを保存することができる。また設定完了画面２７の再実行ボタンは、再度本スタブを呼び出したときにデータ設定画面を呼び出すためのものである。
【００４７】
図１７は電文データ読込み機能１６の動作例の説明図である。同図においてデータ設定画面２６上で読込ボタンを押し下げることによって、対象の電文データファイルが指定され、電文データ読込機能１６が起動され、読み込まれたデータは設定画面生成機能１２に与えられ、生成された画面上でデータの初期値として表示される。
【００４８】
以上において本発明のプログラムテスト用会話型スタブ装置についてその詳細を説明したが、このスタブ装置は当然一般的なコンピュータシステムとして構成することが可能である。図１８はそのようなコンピュータシステム、すなわちハードウェア環境の構成ブロック図である。
【００４９】
図１８においてコンピュータシステムは中央処理装置（ＣＰＵ）３０、リードオンリーメモリ（ＲＯＭ）３１、ランダムアクセスメモリ（ＲＡＭ）３２、通信インタフェース３３、記憶装置３４、入出力装置３５、可搬型記憶媒体の読取り装置３６、およびこれらの全てが接続されたバス３７によって構成されている。
【００５０】
記憶装置３４としてはハードディスク、磁気ディスクなど様々な形式の記憶装置を使用することができ、このような記憶装置３４、またはＲＯＭ３１に図６〜図１０のフローチャートに示されたプログラムなどが格納され、そのようなプログラムがＣＰＵ３０によって実行されることにより、本実施形態におけるクライアント側プログラムのテストなどが可能となる。
【００５１】
このようなプログラムは、プログラム提供者３８側からネットワーク３９、および通信インタフェース３３を介して、例えば記憶装置３４に格納されることも、また市販され、流通している可搬型記憶媒体４０に格納され、読取り装置３６にセットされて、ＣＰＵ３０によって実行されることも可能である。可搬型記憶媒体４０としてはＣＤ−ＲＯＭ、フレキシブルディスク、光ディスク、光磁気ディスク、ＤＶＤなど様々な形式の記憶媒体を使用することができ、このような記憶媒体に格納されたプログラムが読取り装置３６によって読取られることにより、本実施形態におけるプログラムのテストが可能となる。
【００５２】
（付記１）  外部から与えられるデータを用いて処理を行うプログラムをテストするためのスタブ装置において、
該テスト対象プログラムから送られる電文を解析して、必要とされるデータ項目を検出する電文解析手段と、
該検出されたデータ項目に対応する入力データの値を、テスト対象プログラム側に送るべき電文に埋め込む電文データ設定手段とを備えることを特徴とするプログラムテスト用会話型スタブ装置。
【００５３】
（付記２）  前記検出されたデータ項目に対応した入力データの値を受取るためのデータ設定画面を生成し、設定された値を前記電文データ設定手段に与える設定画面生成手段を更に備えることを特徴とする付記１記載のプログラムテスト用会話型スタブ装置。
【００５４】
（付記３）  前記電文解析手段によって検出されたデータ項目に対応して、入力データを自動的に生成して、前記設定画面生成手段に与える入力値生成手段を更に備えることを特徴とする付記２記載のプログラムテスト用会話型スタブ装置。
【００５５】
（付記４）  前記電文データ設定手段によって埋め込まれたデータ設定値を記憶する電文データ記憶手段と、
該電文データ記憶手段に記憶されたデータを読出し、前記入力データとして前記設定画面生成手段に与える電文データ読込手段とを更に備えることを特徴とする付記２記載のプログラムテスト用会話型スタブ装置。
【００５６】
（付記５）  外部から与えられるデータを用いて処理を行うプログラムをテストするための計算機によって使用される記憶媒体において、
該テスト対象プログラムから送られる電文を解析して、必要とされるデータ項目を検出するステップと、
該検出されたデータ項目に対応する入力データの値を、テスト対象プログラム側に送るべき電文に埋め込むステップとを計算機に実行させるためのスタブプログラムを格納した計算機読出し可能可搬型記憶媒体。
【００５７】
（付記６）  前記記憶媒体に格納されるスタブプログラムにおいて
前記検出されたデータ項目に対応した入力データの値を受取るためのデータ設定画面を生成し、設定された値を前記入力データの値として、前記テスト対象プログラム側に送るべき電文に埋め込むステップに与える設定画面生成ステップを更に計算機に実行させることを特徴とする付記５記載の計算機読出し可能可搬型記憶媒体。
【００５８】
（付記７）  前記記憶媒体に格納されるスタブプログラムにおいて
前記検出されたデータ項目に対応した入力データを自動的に生成して、前記設定画面生成ステップに与える入力値生成ステップを更に計算機に実行させることを特徴とする付記６記載の計算機読出し可能可搬型記憶媒体。
【００５９】
（付記８）  前記記憶媒体に格納されるスタブプログラムにおいて
前記テスト対象プログラム側に送るべき電文に埋め込まれたデータの設定値を記憶するステップと
該記憶されたデータを読出し、入力データとして前記設定画面生成ステップに与える電文データ読込ステップとを更に計算機に実行させることを特徴とする付記６記載の計算機読出し可能可搬型記憶媒体。
【００６０】
（付記９）  外部から与えられるデータを用いて処理を行うプログラムをテストする計算機によって使用されるプログラムにおいて
該テスト対象プログラムから送られる電文を解析して、必要とされるデータ項目を検出する手順と
該検出されたデータ項目に対応する入力データの値を、テスト対象プログラム側に送るべき電文に埋め込む手順とを計算機に実行させるためのスタブプログラム。
【００６１】
（付記１０）  外部から与えられるデータを用いて処理を行うプログラムのテスト方法において
該テスト対象プログラムから送られる電文を解析して、必要とされるデータ項目を検出し、
該検出されたデータ項目に対応する入力データの値を、テスト対象プログラム側に送るべき電文に埋め込むことを特徴とするプログラムテスト方法。
【００６２】
【発明の効果】
以上詳細に説明したように、本発明によればプログラムのテストのたびに、そのプログラムに対応するスタブプログラムなどを作成する必要がなくなり、テストのためのスタブ作成という無駄な作業を無くすことができる。またプログラムソースの中に直接データを記述する従来の方式に比べて、コンパイルなどの無駄な作業を省くことも可能となる。さらにソースの解析も不要となり、解析ミスが無くなるためテストの信頼性が向上する。
【００６３】
また画面からのデータの値の設定という対話処理によって、データの作成とテストの実施を同時に行うことができ、テスト作業を効率化することができる。さらに例えば利用者によって入力されたデータの値を、テストごとに対応付けて保存しておくことによって、同種のプログラムのテストを行う場合にその値を再利用することができ、テストの能率が向上し、プログラムテストの効率化に寄与するところが大きい。
【図面の簡単な説明】
【図１】本発明のプログラムテスト用会話型スタブ装置の原理構成ブロック図である。
【図２】本実施形態におけるプログラムテスト手順の基本的な説明図である。
【図３】汎用会話型スタブ装置の構成を示すブロック図である。
【図４】汎用会話型スタブ装置を用いたプログラムテスト方式の全体説明図である。
【図５】汎用会話型スタブ装置の利用者ビューを説明する図である。
【図６】電文構造解析機能の処理フローチャートである。
【図７】設定画面生成機能の処理フローチャートである。
【図８】入力値生成機能の処理フローチャートである。
【図９】電文データ設定／保存機能の処理フローチャートである。
【図１０】電文データ読込み機能の処理フローチャートである。
【図１１】汎用会話型スタブ装置呼出の記述例の説明図である。
【図１２】電文構造解析機能による電文解析例（その１）の説明図である。
【図１３】電文構造解析機能による電文解析例（その２）の説明図である。
【図１４】電文構造解析機能と入力値生成機能の動作例の説明図である。
【図１５】設定画面生成機能の動作例の説明図である。
【図１６】電文設定／保存機能の動作例の説明図である。
【図１７】電文データ読込み機能の動作例の説明図である。
【図１８】本実施形態におけるプログラムのコンピュータへのローディングを説明する図である。
【図１９】プログラムテスト方式の従来例（その１）の説明図である。
【図２０】プログラムテスト方式の従来例（その２）の説明図である。
【符号の説明】
１  プログラムテスト用会話型スタブ装置
２  電文解析手段
３  設定画面生成手段
４  電文データ設定手段
１０  汎用会話型スタブ装置
１１  電文構造解析機能
１２  設定画面生成機能
１３  設定画面
１４  電文データ設定／保存機能
１５  入力値生成機能
１６  電文データ読込機能
１７  電文データ
１８  電文データファイル
２０  クライアントパソコン
２１  クライアント制御プログラム
２２  業務アプリケーションサーバプログラム
２５  テスト対象画面
２６  データ設定画面
２７  設定完了画面
２８  テスト結果画面
３０  中央処理装置（ＣＰＵ）
３１  リードオンリーメモリ（ＲＯＭ）
３２  ランダムアクセスメモリ（ＲＡＭ）
３３  通信インタフェース
３４  記憶装置
３５  入出力装置
３６  読取り装置
３７  バス
３８  プログラム提供者
３９  ネットワーク
４０  可搬型記憶媒体
【図１】
2005038076.tif 000003
【図２】
2005038076.tif 000004
【図３】
2005038076.tif 000005
【図４】
2005038076.tif 000006
【図５】
2005038076.tif 000007
【図６】
2005038076.tif 000008
【図７】
2005038076.tif 000009
【図８】
2005038076.tif 000010
【図９】
2005038076.tif 000011
【図１０】
2005038076.tif 000012
【図１１】
2005038076.tif 000013
【図１２】
2005038076.tif 000014
【図１３】
2005038076.tif 000015
【図１４】
2005038076.tif 000016
【図１５】
2005038076.tif 000017
【図１６】
2005038076.tif 000018
【図１７】
2005038076.tif 000019
【図１８】
2005038076.tif 000020
【図１９】
2005038076.tif 000021
【図２０】
2005038076.tif 000022