(57)【要約】      （修正有）【課題】入出力部を備えたテスト対象システムを効率的にテストするテスト支援システムを提供する。【解決手段】テスト支援システムは、ホストシステム１０に接続された評価端末２０、シナリオ生成端末３０を備える。評価端末は、テスト対象システムを評価するためのコンピュータ端末である。シナリオ生成端末の制御部３１は、設計書記憶部３２に記録された画面定義情報を用いて順番に指定された複数の画面からなるシナリオを生成する。次に、シナリオを構成する画面の画面定義情報から、画面の入力項目及び出力項目を特定し、入力項目への項目値を設定する設定シートを出力し、設定シートに設定された項目値を用いて、シナリオを実行させるスクリプトを生成する。そして、評価端末によりホストシステムのテスト動作を実行させるために、設定シート及びスクリプトを含むテスト制御ファイルを出力する。【選択図】図１
2020046897.tif 000002
【特許請求の範囲】
【請求項１】
画面定義情報が記録された設計書記憶部と、
前記画面定義情報を用いてテストを行なうシナリオを生成する制御部と、
ホストシステムに接続されるテスト実行部とを備えたテスト支援システムであって、
前記制御部が、
前記設計書記憶部に記録された前記画面定義情報を用いて順番に指定された複数の画面からなるシナリオを生成し、
前記シナリオを構成する画面の画面定義情報から、前記画面の入力項目及び出力項目を特定し、
前記入力項目への項目値を設定する設定シートを出力し、
前記設定シートに設定された項目値を用いて、前記シナリオを実行させるスクリプトを生成し、前記ホストシステムにおいて前記テスト実行部によりテスト動作を実行させるために、前記設定シート及び前記スクリプトを含むテスト制御ファイルを出力することを特徴とするテスト支援システム。
【請求項２】
前記制御部が、
前記設計書記憶部に記録された前記画面定義情報を用いて、前記シナリオを構成する画面に含まれる項目を特定し、
前記特定した項目について指定された操作を実行するためのスクリプトを生成することを特徴とする請求項１に記載のテスト支援システム。
【請求項３】
前記制御部が、
前記シナリオにおいて、前記ホストシステムから取得する先行画面と後続画面とを特定し、
前記後続画面に含まれる入力項目において引継先項目を特定し、
前記先行画面に含まれる出力項目において引継元項目を特定し、
前記引継元項目の項目値を、前記引継先項目に入力するスクリプトを生成することを特徴とする請求項１又は２に記載のテスト支援システム。
【請求項４】
前記引継元項目の項目値を、前記ホストシステムから取得した先行画面の画面データから取得することを特徴とする請求項３に記載のテスト支援システム。
【請求項５】
前記引継元項目の項目値を、前記ホストシステムから取得した先行画面に関連した印刷データから取得することを特徴とする請求項３又は４に記載のテスト支援システム。
【請求項６】
前記制御部が、
前記ホストシステムから画面においてエラーの出力を検知した場合、前記エラーの種別に基づいて、テスト継続の可否を判定し、
テスト継続可能と判定した場合には、エラー出力ログを記録して、テストを継続し、
テスト継続不可と判定した場合には、テストを中断することを特徴とする請求項１〜５のいずれか一項に記載のテスト支援システム。
【請求項７】
画面定義情報が記録された設計書記憶部と、
前記画面定義情報を用いてテストを行なうシナリオを生成する制御部と、
ホストシステムに接続されるテスト実行部とを備えたテスト支援システムを用いて、テストを支援する方法であって、
前記制御部が、
前記設計書記憶部に記録された前記画面定義情報を用いて順番に指定された複数の画面からなるシナリオを生成し、
前記シナリオを構成する画面の画面定義情報から、前記画面の入力項目及び出力項目を特定し、
前記入力項目への項目値を設定する設定シートを出力し、
前記設定シートに設定された項目値を用いて、前記シナリオを実行させるスクリプトを生成し、前記ホストシステムにおいて前記テスト実行部によりテスト動作を実行させるために、前記設定シート及び前記スクリプトを含むテスト制御ファイルを出力することを特徴とするテスト支援方法。
【請求項８】
画面定義情報が記録された設計書記憶部と、
前記画面定義情報を用いてテストを行なうシナリオを生成する制御部と、
ホストシステムに接続されるテスト実行部とを備えたテスト支援システムを用いて、テストを支援するプログラムであって、
前記制御部を、
前記設計書記憶部に記録された前記画面定義情報を用いて順番に指定された複数の画面からなるシナリオを生成し、
前記シナリオを構成する画面の画面定義情報から、前記画面の入力項目及び出力項目を特定し、
前記入力項目への項目値を設定する設定シートを出力し、
前記設定シートに設定された項目値を用いて、前記シナリオを実行させるスクリプトを生成し、前記ホストシステムにおいて前記テスト実行部によりテスト動作を実行させるために、前記設定シート及び前記スクリプトを含むテスト制御ファイルを出力する手段として機能させることを特徴とするテスト支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テスト対象システムについてのテストを支援するためのテスト支援システム、テスト支援方法及びテスト支援プログラムに関する。
【背景技術】
【０００２】
ホストシステム等のテストは、テスト項目を作成し、テスト実行により得られた結果と期待値とを比較して行なわれる。例えば、ホストシステムに接続されたユーザ端末に出力される画面に、テスト項目に用いる項目値を設定してテストを行なう。この場合、画面の各項目に項目値を設定する等の作業負担が大きかった。
【０００３】
そこで、画面を用いたテストのために各種技術が検討されている（例えば、特許文献１，２）。特許文献１に記載された技術では、ソフトウェア・プログラムのテスト・スクリプトを一画面毎に部品化する。具体的には、まず、画面定義情報、オブジェクト型に応じた標準操作コマンド群から、画面内のオブジェクトの名前・属性、オブジェクト型に対応する標準操作コマンドを読み出す。次に、読み出した情報を編集記述して、一画面に応じたスクリプトを生成する。このスクリプトは、入力イベントと状態遷移アクションを表すデータを引数とし、画面への全入力イベントと状態遷移アクションをシミュレートするものであり、テストシナリオに従い、引数を埋め込み、部品を配列して使用する。
【０００４】
また、特許文献２に記載された技術では、画面に入力されるコントロール情報に関連するテスト項目の作成からテスト実行までを行なう。具体的には、アプリケーションによって表示される画面に含まれるコントロール情報入力欄に入力可能なコントロール情報の定義を含む画面定義情報を取得する。そして、画面定義情報に基づいてコントロール情報入力欄を含む入力データを作成し、その入力欄に入力されるコントロール情報を受け付ける。そして、入力されたコントロール情報を含むテスト項目を有するチェックリストを作成する。チェックリストに基づいて、テスト項目に含まれるコントロール情報を有するチェックリスト実行データを生成し、これを基にマクロスクリプトを生成する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−１４８４５号公報
【特許文献２】特開２０１４−１８６６１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ホストシステムでの処理の中には、操作画面への入力を行なう処理もある。ホストシステムのテストのために、操作画面への入力作業を行なっていたのでは、テストの効率化を図ることはできなかった。
また、ホストシステムでの処理の中には、複数の手続を連携して行なう処理もある。そして、先行の手続処理で生成された情報を、後続の手続処理で使用することもある。このような連携した手続きのテストを行なう場合、先行の画面処理で生成された情報を後続の画面処理に引き継ぐために、手続毎に作業が中断したのでは、効率化を図ることはできなかった。
【課題を解決するための手段】
【０００７】
上記課題を解決するテスト支援システムは、画面定義情報が記録された設計書記憶部と、前記画面定義情報を用いてテストを行なうシナリオを生成する制御部と、ホストシステムに接続されるテスト実行部とを備える。そして、前記制御部が、前記設計書記憶部に記録された前記画面定義情報を用いて順番に指定された複数の画面からなるシナリオを生成し、前記シナリオを構成する画面の画面定義情報から、前記画面の入力項目及び出力項目を特定し、前記入力項目への項目値を設定する設定シートを出力し、前記設定シートに設定された項目値を用いて、前記シナリオを実行させるスクリプトを生成し、前記ホストシステムにおいて前記テスト実行部によりテスト動作を実行させるために、前記設定シート及び前記スクリプトを含むテスト制御ファイルを出力する。
【発明の効果】
【０００８】
本発明によれば、テスト対象システムについて、効率的にテストを行なうことができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態のシステム概略図。
【図２】本実施形態の処理手順の説明図。
【図３】本実施形態の処理手順の説明図であって、（ａ）は引継、（ｂ）はシナリオ生成処理の説明図。
【図４】本実施形態で用いる画面の説明図であって、（ａ）は入力前のシナリオ生成画面、（ｂ）は入力後のシナリオ生成画面の説明図。
【図５】本実施形態で用いる画面の説明図であって、（ａ）は入力前の引継設定画面、（ｂ）は入力後の引継設定画面の説明図。
【図６】本実施形態の処理手順の説明図。
【図７】他の実施形態の処理手順の説明図。
【発明を実施するための形態】
【００１０】
以下、図１〜図６を用いて、テスト支援システムの一実施形態を説明する。ここでは、クライアント端末に出力される画面を用いた操作を自動化し、テスト対象システムのテストを行なう。本実施形態では、クライアント端末に接続されたホストシステム（ネットワークを含む）における動作のテストを行なう場合を想定する。
【００１１】
ホストシステム１０は、利用者に対してサービスを提供するコンピュータシステムである。本実施形態では、ホストシステム１０は、顧客情報に基づいて、各種サービスを提供する。
【００１２】
図１に示すように、本実施形態では、ホストシステム１０に接続された評価端末２０、シナリオ生成端末３０を用いる。
評価端末２０は、テスト対象システムを評価するためのコンピュータ端末である。この評価端末２０は、制御部２１、テストデータ記憶部２２、テストログ記憶部２３を備える。
【００１３】
制御部２１は、制御手段（ＣＰＵ、ＲＡＭ、ＲＯＭ等）を備え、後述する処理（テスト実行段階、検証段階等の各処理等）を行なう。そのための評価プログラムを実行することにより、制御部２１は、テスト実行部２１１、検証部２１２として機能する。
【００１４】
テスト実行部２１１は、テストデータ記憶部２２に記録されたテストケースを用いて、テスト対象システムのテスト処理を実行する。更に、テスト実行部２１１は、応答電文に応じて、必要な承認者の権限を特定するための権限テーブルを保持している。
検証部２１２は、テスト実行により得られた内容と期待値とを比較した結果を出力する。
【００１５】
テストデータ記憶部２２には、テスト実行時に用いる各テストケースのテストデータが記録される。このテストデータは、各テストケースが登録された場合に記録される。テストデータには、各テストケースで用いる画面番号に対して、テスト制御ファイル（スクリプト、データテーブルシート）が記録される。
【００１６】
スクリプトは、各テストケースのテストを実行するためのプログラムである。このスクリプトには、ホストシステム１０によって出力される画面に、データテーブルシートに記録された各項目値の入力操作を行なうための記述が含まれる。
【００１７】
データテーブルシートには、テスト時に用いる各テストケースにおける項目値や期待値に関するデータが記録される。
テストログ記憶部２３には、テスト時の動作や操作に関する履歴についてのテストログレコードが記録される。このテストログレコードは、テスト処理の実行時に記録される。テストログレコードには、テストケース名に対してログに関するデータが記録される。
【００１８】
テストケース名データ領域には、テストケースを特定するための識別子に関するデータが記録される。
ログデータ領域には、テストケースを実行して取得した画像の画面番号に対して、画面データ、印刷データや項目値に関するデータが記録される。
【００１９】
シナリオ生成端末３０は、テストに用いるテストデータを生成するためのコンピュータ端末である。このシナリオ生成端末３０は、制御部３１、設計書記憶部３２、テストケース記憶部３３を備える。
【００２０】
制御部３１は、制御手段（ＣＰＵ、ＲＡＭ、ＲＯＭ等）を備え、後述する処理（シナリオ生成段階等の各処理等）を行なう。そのためのテスト支援プログラムを実行することにより、制御部２１は、シナリオ生成部３１１として機能する。
シナリオ生成部３１１は、設計書に基づいてテストのためのシナリオで用いるテストケースを生成する処理を実行する。
【００２１】
設計書記憶部３２には、クライアント端末に出力される出力画面の画面定義資料ファイルが記録される。この画面定義資料ファイルは、クライアント端末において出力させる画面の画面定義情報が登録された場合に記録される。
【００２２】
画面定義資料ファイルには、画面番号に対して画面レイアウトに関する情報が記録される。この画面には、クライアント端末において、ホストシステム１０に要求電文を送信するための入力を行なうための要求画面や、ホストシステム１０から取得する応答電文を出力するための応答画面等が含まれる。
【００２３】
画面番号データ領域には、各画面を特定するための識別子に関するデータが記録される。
画面レイアウトには、この画面において入力される入力項目、この画面に含まれる各項目、操作キー（ボタン）の配置が記録される。
【００２４】
更に、画面定義資料ファイルには、画面番号に対して補完情報が記録される。この補完情報は、この画面に関連して、画面定義を補完する情報である。
【００２５】
テストケース記憶部３３には、テスト対象システムを評価するためのテスト管理データが記録される。テスト管理データは、シナリオ生成処理の実行時に記録される。このテスト管理データには、テストケース名、画面番号、項目情報、期待情報が記録される。
【００２６】
テストケース名データ領域には、各テストケースを特定するための識別子に関するデータが記録される。
画面番号データ領域には、このテストケースにおいて用いられる画面を特定するための識別子に関するデータが記録される。
【００２７】
項目情報データ領域には、この画面に含まれる項目について設定される項目値に関するデータが記録される。
期待情報データ領域には、画面が出力される場合には、出力が期待される画面のビットマップや、画面に含まれる各項目の項目値（期待値）に関するデータが記録される。また、印刷物が出力される場合には、出力が期待される印刷物における項目の配置や、各項目の項目値（期待値）に関するデータが記録される。
また、テスト管理データには、所定の権限者の承認が必要な取引（管理取引）に対応するために、承認可能な権限者情報（ＩＤ、パスワード）が設定される。
【００２８】
更に、評価端末２０、シナリオ生成端末３０は、それぞれ入力部２０ａ，３０ａ、出力部２０ｂ，３０ｂに接続される。入力部２０ａ，３０ａは、キーボードやポインティングデバイス等、各種情報を入力するために用いられる。出力部２０ｂ，３０ｂは、ディスプレイ、プリンタ等、各種情報を出力するために用いられる。
【００２９】
（概要）
図２を用いて、テスト支援方法の概要を説明する。
本実施形態では、シナリオ生成端末３０のシナリオ生成部３１１が、設計書記憶部３２に記録された画面定義資料ファイルを用いて、シナリオデータテーブルシートを作成する。このシナリオデータテーブルシートには、テストに用いる画面の画面番号、項目、操作キーが設定される。
【００３０】
そして、出力部３０ｂに表示されたシナリオデータテーブルシートにおいて、入力部３０ａを用いて、テストケース毎に、テストに用いる各項目値（入力値）を入力する。そして、各入力値、各操作キーが入力されたシナリオデータテーブルシートを、シナリオ生成部３１１に入力する。
【００３１】
この場合、シナリオ生成部３１１は、テストを行なうためのスクリプト、データテーブルシートを生成する。次に、生成されたスクリプト、データテーブルシートを、入力部２０ａを用いて、評価端末２０のテスト実行部２１１に入力する。
【００３２】
この場合、評価端末２０のテスト実行部２１１は、生成したスクリプト及びデータテーブルシートを用いて、ホストシステム１０のテストを実行する。そして、テスト実行部２１１は、テストにより出力された情報をテストログ記憶部２３に記録する。
【００３３】
次に、検証部２１２は、テストログ記憶部２３に記録されたテスト出力情報と、テストデータ記憶部２２に記録された期待値とを比較した評価結果を生成し、出力部２０ｂに出力する。
【００３４】
（テスト支援処理）
次に、図３〜図７を用いて、評価端末２０におけるテスト支援処理（シナリオ生成処理、テスト処理）を説明する。
【００３５】
（シナリオ生成処理）
まず、図３〜図５を用いてシナリオ生成処理を説明する。ここでは、テストに用いる画面を順番に特定したシナリオを生成する。この場合、先行画面における処理により生成された項目値を、後続画面における処理において使用する場合を想定する。
【００３６】
例えば、図３（ａ）に示すように、顧客登録により生成された顧客識別子を、詳細情報の登録時に用いる。この場合、顧客登録画面を用いた処理後で、詳細登録画面を用いた処理を行なうシナリオを生成する。まず、顧客登録画面４００に基づいて、ホストシステム１０において顧客識別子の生成を行なう。そして、評価端末２０は、生成された顧客識別子を、ホストシステム１０から取得した画面データにおいて特定し、詳細登録画面４１０に引き継いで使用する。なお、ここでは、ホストシステム１０から取得した画面データにおいて、引き継ぐ情報を特定する例を説明するが、ホストシステム１０から取得した印刷データにおいて、引き継ぐ情報を特定してもよい。
【００３７】
次に、図３（ｂ）を用いて、シナリオ生成処理を説明する。
まず、シナリオ生成端末３０の制御部３１は、シナリオに応じて画面指定処理を実行する（ステップＳ１−１）。具体的には、制御部３１のシナリオ生成部３１１は、シナリオ生成画面を出力部３０ｂに出力する。
【００３８】
図４（ａ）に示すように、シナリオ生成画面５００には、シナリオ名入力欄５０１、画面遷移一覧表示欄５０２、画面遷移入力欄５０３が設けられている。
シナリオ名入力欄５０１は、このシナリオを特定するための識別子を設定するための入力欄を含む。
【００３９】
画面遷移一覧表示欄５０２には、シナリオで用いるために指定された各画面が一覧表示される。画面遷移一覧表示欄には、連番に対して、後述する画面遷移入力欄５０３で設定された画面番号、画面名、キー押下、エビデンス、項目値引継欄、変更欄、削除欄が含まれる。更に、各画面に対して、変更欄には順番の変更ボタン（繰上げボタン、繰下げボタン）、削除欄には削除ボタンが表示される。繰上げボタンは、シナリオにおいて、対象画面の順番を繰り上げる場合に用い、繰下げボタンは対象画面の順番を繰下げる場合に用いる操作ボタンである。削除ボタンは、対象画面をシナリオから削除する場合に用いる操作ボタンである。
【００４０】
画面遷移入力欄５０３には、画面番号入力欄、操作キー指定欄、エビデンス欄、キー押下欄（画面遷移無し）、キー押下欄（画面遷移有り）が設けられている。
画面番号入力欄には、シナリオにおいて用いる画面の画面番号を入力する。ここでは、設計書記憶部３２に記録されている画面を指定する。
【００４１】
操作キー指定欄は、この画面に配置され、電文を送信するための操作キーの指定欄である。
エビデンス欄には、テストログの出力方法の候補の指定欄（例えば、「印刷しない」、「画面コピーを出力」、「検証用データを出力」）が、選択欄とともに表示される。
【００４２】
キー押下欄（画面遷移無し）には、画面遷移がない場合に画面において選択されるキー候補が、選択欄とともに表示される。
キー押下欄（画面遷移有り）には、画面遷移がある場合に画面において選択されるキー候補が、選択欄とともに表示される。
【００４３】
更に、シナリオ生成画面５００には、行追加ボタン、クリアボタン、既存シナリオからの読込ボタンが設けられている。
行追加ボタンは、画面遷移入力欄５０３における入力を完了した場合に選択する。この場合、シナリオ生成部３１１は、画面遷移一覧表示欄５０２に、画面遷移入力欄５０３に入力された情報を追加する。
【００４４】
クリアボタンは、画面遷移一覧表示欄５０２の内容をリセットする場合に用いる操作ボタンである。
既存シナリオからの読込ボタンは、テストケース記憶部３３に登録されたシナリオ（既存シナリオ）を呼び出して利用する場合に用いる操作ボタンである。
【００４５】
図４（ｂ）に示すように、シナリオにおいて、連番「１」、「２」の画面の設定後に、画面遷移入力欄５０３において画面番号「３０１０」の操作を設定し、行追加ボタンを選択した場合、画面遷移一覧表示欄５０２に画面欄５１１が追加される。
【００４６】
次に、図３（ｂ）に示すように、シナリオ生成端末３０の制御部３１は、引継先画面の選択処理を実行する（ステップＳ１−２）。具体的には、画面遷移一覧表示欄５０２に表示された画面番号において、先行画面（先行情報）に含まれる情報を、後続画面（後続情報）に引き継ぐ場合、項目値引継欄の未設定ボタンを選択する。この場合、制御部３１のシナリオ生成部３１１は、未設定ボタンの選択により、情報を引き継ぐ画面を特定する。
【００４７】
次に、シナリオ生成端末３０の制御部３１は、引継元の選択処理を実行する（ステップＳ１−３）。具体的には、制御部３１のシナリオ生成部３１１は、引継設定画面を出力部３０ｂに出力する。
【００４８】
図５（ａ）に示すように、この引継設定画面５２０には、引継入力一覧欄５２１、引継入力欄５２２を含む。引継入力一覧欄５２１には、後述する引継入力欄５２２において設定された情報（入力パターン、項目、引継元）が表示される。更に、引継入力一覧欄５２１は、設定された各引継入力を削除するための削除ボタンを含む。
【００４９】
引継入力欄５２２には、入力パターン、入力先画面、入力先項目、引継元画面、引継元項目の各欄が含まれる。
入力パターン欄では、「画面項目引継」、「印刷項目引継」等の何れかを選択できる。「画面項目引継」では、画面に含まれる項目についての項目値を引き継ぐために用いる。「印刷項目引継」では、引継元画面で印刷される印刷物に含まれる項目について、印刷データにおいて指定された位置の値を引き継ぐために用いる。
【００５０】
入力先画面欄には、画面遷移一覧表示欄５０２において指定された画面を入力先画面として設定する。
入力先項目欄には、入力先画面の画面データに含まれる項目を、設計書記憶部３２から取得し、選択候補として出力し、選択候補の中で選択された項目を入力先画面項目として設定する。
【００５１】
引継元画面欄には、入力先画面に対して、画面遷移一覧表示欄５０２で設定された先行画面がプルダウン表示される。このプルダウン表示を用いて、所望の引継元画面を指定する。
【００５２】
「画面項目引継」が選択された場合、選択された引継元画面の画面データに含まれる項目を選択候補として出力する。そして、選択候補の中で選択された項目を、引継元項目欄に設定する。
【００５３】
「印刷項目引継」が選択された場合、印刷データ設定欄が表示される。印刷データ設定欄では、選択された引継元画面において、印刷物の印刷データに含まれる文字列レイアウトを貼り付ける。そして、印刷データ設定欄に貼り付けた文字列レイアウトにおいて指定された文字列の項目配置（例えば、開始行、開始文字カラム位置、文字カラム数）を、引継元項目欄に設定する。
【００５４】
更に、引継設定画面５２０には、行追加ボタン、クリアボタンが設けられている。
行追加ボタンは、引継入力欄５２２における入力を完了した場合に選択する。この場合、シナリオ生成部３１１は、引継入力一覧欄５２１に、引継入力欄５２２に入力された情報を追加する。
【００５５】
クリアボタンは、引継入力一覧欄５２１の内容をリセットする場合に選択する。
この場合、図５（ｂ）に示すように、引継入力欄５２２において、引継元情報として「顧客識別子開設」画面の「顧客識別子」を設定し、入力先情報として「顧客登録」画面を設定し、行追加ボタンを選択した場合、引継入力一覧欄５２１に引継設定５３１が追加される。
【００５６】
この場合、シナリオ生成部３１１は、図４（ｂ）に示す画面遷移一覧表示欄５０２に表示された画面番号に対する項目値引継情報欄において、未設定ボタンを設定済みボタンに変更する。
【００５７】
次に、シナリオ生成端末３０の制御部３１は、シナリオ出力処理を実行する（ステップＳ１−４）。具体的には、各設定を完了した場合、図４（ｂ）に示すシナリオ名入力欄５０１のシナリオ出力ボタンを選択する。この場合、制御部３１のシナリオ生成部３１１は、表形式のデータテーブルシートを出力部３０ｂに出力する。データテーブルシートには、シナリオを構成する各画面に含まれる項目が並べられている。更に、このデータテーブルシートには、管理取引に用いるユーザＩＤ、パスワードを設定するシートが含まれる。このユーザＩＤ、パスワードに基づいて、各ユーザの権限を特定することができる。
【００５８】
そして、担当者は、データテーブルシートに値を設定する（ステップＳ１−５）。具体的には、データテーブルシートに設定された項目に対して、テストに用いる項目値を、入力部３０ａを用いて入力する。
【００５９】
次に、シナリオ生成端末３０の制御部３１は、値設定済みのデータテーブルシートの読込処理を実行する（ステップＳ１−６）。具体的には、制御部３１のシナリオ生成部３１１は、項目値が設定されたデータテーブルシートを読み込む。
【００６０】
次に、シナリオ生成端末３０の制御部３１は、スクリプト生成処理を実行する（ステップＳ１−７）。具体的には、制御部３１のシナリオ生成部３１１は、シナリオを構成する画面において、データテーブルシートに記録された各項目値の入力操作を行なうための記述を含むスクリプトを生成する。また、引継入力が選択された場合には、スクリプトにおいて、引継元画面における引継元項目の項目値を、入力先画面における入力先項目に設定する記述を含める。更に、シナリオ生成部３１１は、このスクリプトにおいて、データテーブルシートに設定された項目値を用いたテストケースの実行を制御する。
【００６１】
（テスト処理）
次に、図６を用いて、テスト処理を説明する。ここでは、シナリオ生成端末３０で生成したスクリプト、データテーブルシートを評価端末２０に読み込ませ、テストデータ記憶部２２に記録する。
【００６２】
まず、評価端末２０の制御部２１は、テストケースの呼出処理を実行する（ステップＳ２−１）。具体的には、制御部２１のテスト実行部２１１は、テストデータ記憶部２２に記録されたテストケースを、順次、特定する。
【００６３】
次に、評価端末２０の制御部２１は、電文送信処理を実行する（ステップＳ２−２）。具体的には、制御部２１のテスト実行部２１１は、スクリプトにより、画面番号の画面を用いた設定操作で、データテーブルシートに設定された項目値を設定した操作により生成される要求電文を作成する。この設定操作では、テストケースにおいて設定された画面番号の画面において、データテーブルシートに設定された項目値を設定する。ここで、テストデータ記憶部２２において、この画面を入力先画面として引継入力が設定されている場合、テスト実行部２１１は、テストログ記憶部２３において引継元画面を特定する。そして、テスト実行部２１１は、引継元画面における引継元項目の項目値を取得し、入力先画面、入力先項目に設定する。なお、引継元が印刷物の場合、テスト実行部２１１は、テストログ記憶部２３に記録された印刷データにおいて、シナリオ生成処理において指定された項目配置における項目値を取得し、要求電文に設定する。そして、テスト実行部２１１は、作成した要求電文を、ホストシステム１０に送信する。
【００６４】
次に、評価端末２０の制御部２１は、テスト結果の記録処理を実行する（ステップＳ２−３）。具体的には、制御部２１のテスト実行部２１１は、ホストシステム１０から応答電文を取得する。この場合、テスト実行部２１１は、テストケース名、テスト結果（応答電文の内容）を記録したテストログレコードを生成し、テストログ記憶部２３に記録する。
【００６５】
次に、評価端末２０の制御部２１は、承認が必要かどうかについての判定処理を実行する（ステップＳ２−４）。具体的には、制御部２１のテスト実行部２１１は、応答電文に管理取引に関する情報が含まれる場合には、承認が必要と判定する。
【００６６】
承認が必要と判定した場合（ステップＳ２−４において「ＹＥＳ」の場合）、評価端末２０の制御部２１は、管理取引対応処理を実行する。
ここでは、評価端末２０の制御部２１は、承認権限の決定処理を実行する（ステップＳ２−５）。具体的には、制御部２１のテスト実行部２１１は、権限テーブルを用いて、応答電文に応じて、必要な承認者の権限を特定する。
【００６７】
次に、評価端末２０の制御部２１は、出力ログの記録処理を実行する（ステップＳ２−６）。具体的には、制御部２１のテスト実行部２１１は、承認画面の出力に関するテストログレコードを生成し、テストログ記憶部２３に記録する。
【００６８】
次に、評価端末２０の制御部２１は、承認権限を有するかどうかについての判定処理を実行する（ステップＳ２−７）。具体的には、制御部２１のテスト実行部２１１は、データテーブルシートに記録されたユーザＩＤ、パスワードに基づいて、ユーザ権限を特定する。そして、テスト実行部２１１は、応答電文に応じて特定した承認者の権限と、ユーザ権限とを比較する。ユーザ権限が、承認者の権限以上の場合には、承認権限を有すると判定する。
【００６９】
承認権限を有すると判定した場合（ステップＳ２−７において「ＹＥＳ」の場合）、評価端末２０の制御部２１は、承認済み処理を実行する（ステップＳ２−８）。具体的には、制御部２１のテスト実行部２１１は、承認済みを記録したテストログレコードを生成し、テストログ記憶部２３に記録する。
【００７０】
一方、承認権限を有さないと判定した場合（ステップＳ２−７において「ＮＯ」の場合）、評価端末２０の制御部２１は、警告処理を実行する（ステップＳ２−９）。具体的には、制御部２１のテスト実行部２１１は、警告を記録したテストログレコードを生成し、テストログ記憶部２３に記録する。
【００７１】
次に、評価端末２０の制御部２１は、テスト終了かどうかについての判定処理を実行する（ステップＳ２−１０）。具体的には、制御部２１のテスト実行部２１１は、テストデータ記憶部２２に未実行のテストケースが残っていない場合には、テスト終了と判定する。なお、承認は不要と判定した場合（ステップＳ２−４において「ＮＯ」の場合）も、ステップＳ２−１０を実行する。
【００７２】
テスト終了でないと判定した場合（ステップＳ２−１０において「ＮＯ」の場合）、評価端末２０の制御部２１は、テストケースの呼出処理（ステップＳ２−１）に戻る。
一方、テスト終了と判定した場合（ステップＳ２−１０において「ＹＥＳ」の場合）、評価端末２０の制御部２１は、テスト処理を終了する。
【００７３】
以上、本実施形態によれば、以下のような効果を得ることができる。
（１）本実施形態によれば、シナリオ生成端末３０の制御部３１は、シナリオに応じて画面指定処理を実行する（ステップＳ１−１）。これにより、テストに用いる画面からなるテストシナリオを作成することができる。
【００７４】
（２）本実施形態によれば、シナリオ生成端末３０の制御部３１は、引継先画面の選択処理を実行する（ステップＳ１−２）。これにより、異なる手続を連続して行なう場合、先行手続で入手した情報を、後続の手続で利用してテストを行なうことができる。
【００７５】
（３）本実施形態によれば、シナリオ生成端末３０の制御部３１は、シナリオ出力処理を実行する（ステップＳ１−４）。これにより、テストシナリオで使用する項目値を、テーブルシートを用いて、効率的に設定することができる。
【００７６】
（４）本実施形態によれば、シナリオ生成端末３０の制御部３１は、スクリプト生成処理を実行する（ステップＳ１−７）。これにより、評価端末２０でテストを実行するためのプログラムを生成することができる。
【００７７】
（５）本実施形態によれば、評価端末２０の制御部２１は、テストケースの呼出処理（ステップＳ２−１）、電文送信処理（ステップＳ２−２）、テスト結果の記録処理（ステップＳ２−３）を実行する。これにより、スクリプトを用いて、テスト中の入力作業を省略して、効率的にテストを行なうことができる。
【００７８】
（６）本実施形態によれば、評価端末２０の制御部２１は、承認が必要かどうかについての判定処理を実行する（ステップＳ２−４）。そして、承認が必要と判定した場合（ステップＳ２−４において「ＹＥＳ」の場合）、評価端末２０の制御部２１は、管理取引対応処理を実行する。これにより、承認が必要な管理取引におけるテストを行なうことができる。
【００７９】
本実施形態は、以下のように変更して実施することができる。本実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
・上記実施形態では、評価端末２０の制御部２１は、テストケースの呼出処理（ステップＳ２−１）、テスト結果の記録処理（ステップＳ２−３）を実行する。ここで、テスト結果の適否判定を行ないながら、テスト処理を実行するようにしてもよい。この場合、評価端末２０に、エラー対応の可否を判定するためのエラー対応テーブルを保持させておく。このエラー対応テーブルには、エラー対応可能なエラーについて、画面番号及びエラーメッセージに関連付けて、エラーに対応するために必要な回復処理が記録されている。例えば、取引入力画面において取引と直接的には関係しない属性項目において、項目値の設定不足が生じた場合には、エラー対応可能であり、エラー対応テーブルに、画面「取引入力」、エラーメッセージ「項目値の設定不足」を設定しておく。そして、この画面番号及びエラーメッセージに関連付けて、回復処理として、「項目値の設定動作」を記録しておく。
【００８０】
図７を用いて、テスト処理を説明する。
この場合も、評価端末２０の制御部２１は、ステップＳ２−１〜Ｓ２−３と同様に、テストケースの呼出処理（ステップＳ３−１）、電文送信処理（ステップＳ３−２）、テスト結果の記録処理（ステップＳ３−３）を実行する。
【００８１】
次に、評価端末２０の制御部２１は、エラーかどうかについての判定処理を実行する（ステップＳ３−４）。具体的には、制御部２１のテスト実行部２１１は、テストケースの出力結果と期待値とを比較して、一致しているかどうかを判定する。ここで、一致していない場合にはエラーと判定する。
【００８２】
エラーでないと判定した場合（ステップＳ３−４において「ＮＯ」の場合）、評価端末２０の制御部２１は、ステップＳ２−４と同様に、承認が必要かどうかについての判定処理を実行する（ステップＳ３−５）。
【００８３】
一方、エラーと判定した場合（ステップＳ３−４において「ＹＥＳ」の場合）、評価端末２０の制御部２１は、エラー対応が必要かどうかについての判定処理を実行する（ステップＳ３−６）。具体的には、制御部２１のテスト実行部２１１は、画面番号及びエラーメッセージがエラー対応テーブルに記録されているかどうかを確認する。画面番号及びエラーメッセージがエラー対応テーブルに記録されている場合には、エラー対応可能と判定する。
【００８４】
エラー対応が必要と判定した場合（ステップＳ３−６において「ＹＥＳ」の場合）、評価端末２０の制御部２１は、画面及びエラーに応じた回復処理を実行する（ステップＳ３−７）。具体的には、制御部２１のテスト実行部２１１は、エラー対応テーブルから、画面番号及びエラーメッセージに応じた回復処理を取得し、この回復処理を実行する。例えば、項目値の設定不足の場合には、属性項目において項目値を設定する回復処理を実行する。そして、テスト実行部２１１は、「回復処理」に関するログをテストログ記憶部２３に記録する。
【００８５】
そして、評価端末２０の制御部２１は、回復処理を行なったテストケースについて、ステップＳ３−１以降の処理を繰り返す。
一方、エラー対応が不要と判定した場合（ステップＳ３−６において「ＮＯ」の場合）、評価端末２０の制御部２１は、テスト中断が必要かどうかについての判定処理を実行する（ステップＳ３−８）。具体的には、制御部２１のテスト実行部２１１は、エラー対応テーブルに記録されていない画面番号及びエラーメッセージの場合には、中断が必要と判定する。
【００８６】
テスト中断が必要と判定した場合（ステップＳ３−８において「ＹＥＳ」の場合）、評価端末２０の制御部２１は、注意喚起処理を実行する（ステップＳ３−９）。具体的には、制御部２１のテスト実行部２１１は、注意喚起画面を出力部２０ｂに出力して、テストを中断する。この注意喚起画面には、画面番号及びエラーメッセージを含める。
【００８７】
次に、評価端末２０の制御部２１は、テストを継続かどうかについての判定処理を実行する（ステップＳ３−１０）。具体的には、注意喚起画面の画面番号及びエラーメッセージを、担当者がエラー内容を確認して、テストの中止又は継続を判断する。そして、制御部２１のテスト実行部２１１は、注意喚起画面に入力された中止又は継続の何れかの指示を取得する。
【００８８】
注意喚起画面に継続指示が入力され、テスト継続と判定した場合（ステップＳ３−１０において「ＹＥＳ」の場合）、評価端末２０の制御部２１は、ステップＳ２−１０と同様に、テスト終了かどうかについての判定処理を実行する（ステップＳ３−１１）。テスト終了でないと判定した場合、継続指示をテストログ記憶部２３に記録し、ステップＳ３−１以降の処理を繰り返す。なお、承認が不要と判定した場合（ステップＳ３−５において「ＮＯ」の場合）や、承認が必要と判定した場合（ステップＳ３−５において「ＹＥＳ」の場合）後に管理取引対応処理を実行した後も、テスト終了かどうかについての判定処理を実行する（ステップＳ３−１１）。
【００８９】
テスト終了でないと判定した場合（ステップＳ３−１１において「ＮＯ」の場合）、評価端末２０の制御部２１は、テストケースの呼出処理（ステップＳ３−１）に戻る。
一方、注意喚起画面に中止指示が入力され、テストを継続しないと判定した場合（ステップＳ３−１０において「ＮＯ」の場合）や、テスト終了と判定した場合（ステップＳ３−１１において「ＹＥＳ」の場合）、評価端末２０の制御部２１は、テスト処理を終了する。
これにより、テスト中に発生したエラーに応じて、テストを継続したり、中断したりすることができる。
【００９０】
・上記実施形態では、評価端末２０の制御部２１は、電文送信処理（ステップＳ２−２）、テスト結果の記録処理（ステップＳ２−３）を実行する。ここで、エラーが発生した場合、サーバ側でのエラー又は端末（評価端末２０）側でのエラーを識別して、対応を変更するようにしてもよい。この場合には、評価端末２０の制御部２１に、評価端末２０で取得したエラーメッセージに関連付けて、サーバ側エラー、端末側エラーを識別するためのエラー識別テーブルを保持させておく。そして、エラーの発生場所に応じた回復処理を行なう。
【００９１】
・上記実施形態では、引継設定画面５２０において、入力パターンとして「印刷項目引継」が選択された場合、印刷データ設定欄に、印刷物の印刷に用いる印刷データに含まれる文字列レイアウトを貼り付ける。ここで、印刷に用いる文字列レイアウトを予め準備しておいてもよい。この場合には、シナリオ生成端末３０に、印刷パターン情報記憶部を設ける。この印刷パターン情報記憶部には、テストにおいて出力される印刷物の印刷データに関する印刷パターン管理レコードが記録される。この印刷パターン管理レコードは、テストにおいて出力される印刷物の印刷パターンが登録された場合に記録される。印刷管理レコードには、印刷対象に関連付けて印刷レイアウトに関するデータが記録される。
【００９２】
印刷対象データ領域には、印刷物の種類を特定するための識別子に関するデータが記録される。
印刷レイアウトデータ領域には、この印刷対象の印刷物に含まれる各項目について、項目値が印刷される文字列レイアウト（行、カラム等）に関するデータが記録される。
【００９３】
そして、引継元の選択処理（ステップＳ１−３）において、指定された入力先画面において印刷される印刷物の文字列レイアウトを印刷データ設定欄に表示する。これにより、引継元の文字列を効率的に指定することができる。
【００９４】
・上記実施形態では、評価端末２０、シナリオ生成端末３０を用いる。ハードウエア構成は、これに限定されるものではない。例えば、評価端末２０、シナリオ生成端末３０を一つのハードウエアで構成してもよい。また、シナリオ生成端末３０に検証部２１２を設けてもよい。この場合には、評価端末２０のテストログ記憶部２３に記録されたテストログをシナリオ生成端末３０に転送する。そして、シナリオ生成端末３０において、テスト実行により得られた内容と、テストデータ記憶部２２に記録された期待値とを比較する。
【００９５】
・上記実施形態では、シナリオ生成端末３０の制御部３１は、シナリオ生成処理を実行する。ここで、画面定義ファイルの変更の都度、画面定義ファイルを設計書記憶部３２に登録して、テストを実行するようにしてもよい。この場合には、変更された画面定義ファイルにおいて、同じ画面番号、項目、操作キーを設定しておき、変更前に生成したスクリプトやデータテーブルシートを用いる。自動実行スクリプトを作成し、テストを自動化した一般的な仕組みでは、画面定義が変更された場合、スクリプトのメンテナンスに負荷が掛かる。上記実施形態では、テストに用いる画面の画面番号、項目、操作キーが設定されているシナリオデータテーブルシートを用いて、スクリプトやデータテーブルシートを生成するので、同じスクリプトをそのまま用いて、テストを行なうことができる。
【符号の説明】
【００９６】
１０…ホストシステム、２０…評価端末、２１…制御部、２１１…テスト実行部、２１２…検証部、２２…テストデータ記憶部、２３…テストログ記憶部、３０…シナリオ生成端末、３１…制御部、３１１…シナリオ生成部、３２…設計書記憶部、３３…テストケース記憶部、２０ａ，３０ａ…入力部、２０ｂ，３０ｂ…出力部。
【図１】
2020046897.tif 000003
【図２】
2020046897.tif 000004
【図３】
2020046897.tif 000005
【図４】
2020046897.tif 000006
【図５】
2020046897.tif 000007
【図６】
2020046897.tif 000008
【図７】
2020046897.tif 000009
【手続補正書】
【提出日】令和1年11月5日(2019.11.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画面定義情報が記録された設計書記憶部と、
前記画面定義情報を用いてテストを行なうシナリオを生成する制御部と、
ホストシステムに接続されるテスト実行部とを備えたテスト支援システムであって、
前記制御部が、
前記設計書記憶部に記録された前記画面定義情報を用いて順番に指定された複数の画面からなるシナリオを生成し、
前記シナリオを構成する画面の画面定義情報から、前記画面の入力項目及び出力項目を特定し、
前記シナリオにおいて、前記ホストシステムから取得する先行画面と後続画面とを特定し、
前記後続画面に含まれる入力項目において引継先項目を特定し、
前記先行画面に含まれる出力項目において引継元項目を特定し、
前記入力項目への項目値を設定する設定シートを出力し、
前記設定シートに設定された項目値を用いて、前記シナリオを実行させるために、前記引継元項目の項目値を、前記引継先項目に入力するスクリプトを生成し、前記ホストシステムにおいて前記テスト実行部によりテスト動作を実行させるために、前記設定シート及び前記スクリプトを含むテスト制御ファイルを出力することを特徴とするテスト支援システム。
【請求項２】
前記引継元項目の項目値を、前記ホストシステムから取得した先行画面の画面データから取得することを特徴とする請求項１に記載のテスト支援システム。
【請求項３】
前記引継元項目の項目値を、前記ホストシステムから取得した先行画面に関連した印刷データから取得することを特徴とする請求項１又は２に記載のテスト支援システム。
【請求項４】
前記制御部が、
前記設計書記憶部に記録された前記画面定義情報を用いて、前記シナリオを構成する画面に含まれる項目を特定し、
前記特定した項目について指定された操作を実行するためのスクリプトを生成すること
を特徴とする請求項１〜３の何れか一項に記載のテスト支援システム。
【請求項５】
前記制御部が、
画面についてのエラー対応の可否を判定するためのエラー対応テーブルを保持し、
画面についてエラーと判定した場合、前記エラー対応テーブルを用いて、前記エラーに基づいて、テスト継続の可否を判定し、
テスト継続可能と判定した場合には、エラー出力ログを記録して、テストを継続し、
テスト継続不可と判定した場合には、テストを中断することを特徴とする請求項１〜４のいずれか一項に記載のテスト支援システム。
【請求項６】
画面定義情報が記録された設計書記憶部と、
前記画面定義情報を用いてテストを行なうシナリオを生成する制御部と、
ホストシステムに接続されるテスト実行部とを備えたテスト支援システムを用いて、テストを支援する方法であって、
前記制御部が、
前記設計書記憶部に記録された前記画面定義情報を用いて順番に指定された複数の画面からなるシナリオを生成し、
前記シナリオを構成する画面の画面定義情報から、前記画面の入力項目及び出力項目を特定し、
前記シナリオにおいて、前記ホストシステムから取得する先行画面と後続画面とを特定し、
前記後続画面に含まれる入力項目において引継先項目を特定し、
前記先行画面に含まれる出力項目において引継元項目を特定し、
前記入力項目への項目値を設定する設定シートを出力し、
前記設定シートに設定された項目値を用いて、前記シナリオを実行させるために、前記引継元項目の項目値を、前記引継先項目に入力するスクリプトを生成し、前記ホストシステムにおいて前記テスト実行部によりテスト動作を実行させるために、前記設定シート及び前記スクリプトを含むテスト制御ファイルを出力することを特徴とするテスト支援方法。
【請求項７】
画面定義情報が記録された設計書記憶部と、
前記画面定義情報を用いてテストを行なうシナリオを生成する制御部と、
ホストシステムに接続されるテスト実行部とを備えたテスト支援システムを用いて、テストを支援するプログラムであって、
前記制御部を、
前記設計書記憶部に記録された前記画面定義情報を用いて順番に指定された複数の画面からなるシナリオを生成し、
前記シナリオを構成する画面の画面定義情報から、前記画面の入力項目及び出力項目を特定し、
前記シナリオにおいて、前記ホストシステムから取得する先行画面と後続画面とを特定し、
前記後続画面に含まれる入力項目において引継先項目を特定し、
前記先行画面に含まれる出力項目において引継元項目を特定し、
前記入力項目への項目値を設定する設定シートを出力し、
前記設定シートに設定された項目値を用いて、前記シナリオを実行させるために、前記引継元項目の項目値を、前記引継先項目に入力するスクリプトを生成し、前記ホストシステムにおいて前記テスト実行部によりテスト動作を実行させるために、前記設定シート及び前記スクリプトを含むテスト制御ファイルを出力する手段として機能させることを特徴とするテスト支援プログラム。