(57)【要約】【課題】画面テストの作業効率と使い勝手を向上すること。【解決手段】画面テスト支援装置１は、業務システム２１０が含む複数の画面のテストを支援する。画面テスト支援装置１は、各画面に表示される一つ以上のデータ項目に関する所定の情報に基づいて、画面毎の各データ項目およびその表示条件をそれぞれ抽出する第１処理部１７１と、抽出された各データ項目を所定のカテゴリ別に分類する第２処理部１７２と、所定のカテゴリに対応する所定の画面を表示するための到達条件を抽出する第３処理部１７３と、到達条件に複数のパターンが存在する場合は、複数のパターンをそれぞれ抽出する第４処理部１７４と、到達条件に設定するデータを、業務システムの使用するデータベースに記憶されたデータの中から複数のパターン毎に選定する第５処理部１７６と、を含む。【選択図】図１
2018045404.tif 000002
【特許請求の範囲】
【請求項１】
業務システムが含む複数の画面のテストを支援する画面テスト支援装置であって、
前記各画面に表示される一つ以上のデータ項目に関する所定の情報に基づいて、前記画面毎の前記各データ項目およびその表示条件をそれぞれ抽出する第１処理部と、
抽出された前記各データ項目を所定のカテゴリ別に分類する第２処理部と、
前記所定のカテゴリに対応する所定の画面を表示するための到達条件を抽出する第３処理部と、
前記到達条件に複数のパターンが存在する場合は、前記複数のパターンをそれぞれ抽出する第４処理部と、
前記到達条件に設定するデータを、前記業務システムの使用するデータベースに記憶されたデータの中から前記複数のパターン毎に選定する第５処理部と、
を含む
画面テスト支援装置。
【請求項２】
前記第５処理部では、前記複数のパターンのうち複数のサブパターンを有するパターンについては、前記複数のサブパターン毎に、前記データベースに記憶されたデータの中からデータを選定する、
請求項１に記載の画面テスト支援装置。
【請求項３】
前記第５処理部では、前記到達条件に設定するデータが前記データベース内に存在しないと判定した場合に警告を出力する、
請求項１に記載の画面テスト支援装置。
【請求項４】
前記第５処理部は、前記警告を出力した後、前記到達条件に設定するデータの入力を受け付ける、
請求項３に記載の画面テスト支援装置。
【請求項５】
前記第５処理部では、前記到達条件に設定するデータが前記データベース内に存在しないと判定すると、前記到達条件に設定するためのデータを生成する、
請求項１に記載の画面テスト支援装置。
【請求項６】
さらに、前記到達条件にデータを設定して実行することで、前記到達条件に対応する前記所定の画面が表示されるか確認する第６処理部を有する、
請求項１〜５のいずれか一項に記載の画面テスト支援装置。
【請求項７】
前記業務システムは、ユーザから入力される検索条件に基づいて前記データベースを検索し、その検索結果を出力する検索型の業務システムである、
請求項１に記載の画面テスト支援装置。
【請求項８】
業務システムが含む複数の画面のテストを計算機を用いて支援する画面テスト支援方法であって、
前記計算機は、
前記各画面に表示される一つ以上のデータ項目に関する所定の情報に基づいて、前記画面毎の前記各データ項目およびその表示条件をそれぞれ抽出し、
抽出された前記各データ項目を所定のカテゴリ別に分類し、
前記所定のカテゴリに対応する所定の画面を表示するための到達条件を抽出し、
前記到達条件に複数のパターンが存在する場合は、前記複数のパターンをそれぞれ抽出し、
前記到達条件に設定するデータを、前記業務システムの使用するデータベースに記憶されたデータの中から前記複数のパターン毎に選定する、
画面テスト支援方法。
【請求項９】
前記計算機は、前記到達条件に設定するデータが前記データベース内に存在しないと判定した場合に警告を出力する、
請求項８に記載の画面テスト支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面テスト支援装置および方法に関する。
【背景技術】
【０００２】
例えば、ＢＭＰＳ（Business Process management System）を用いて業務システムを開発する際には、仕様通りに各画面が動作するかを確認する必要がある。通常、業務システムは多数の画面を含んでおり、様々な条件の下で画面が切り替わるため、システム開発者が手動で画面動作を確認するのは困難である。
【０００３】
そこで、画面テストを自動的に実行することが考えられる。特許文献１には、画面遷移定義情報からテストケース生成の対象画面を取得し、対象画面を構成する画面構成情報からテスト対象カラムを取得し、データ定義情報からテスト対象カラムに対する制約を取得し、テスト対象カラムに対する制約とテストケーステンプレートをマッチングさせることでテストケースとテストデータとを生成する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２６０３９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、画面遷移定義情報からテスト対象画面を取得するようになっているが、一般的に画面遷移定義情報には画面に入力するデータ（入力値）に関する情報は記載されていない。このため、或る画面への入力内容にしたがって次の画面の構成が変化する場合、特許文献１に記載の技術では対応することが難しい。すなわち、或る画面から他の画面へ遷移する条件は画面遷移定義情報に記載されているが、遷移先の画面の構成は遷移元の画面への入力内容に依存する。しかし、画面遷移定義情報には、遷移元の画面にどのような入力値を設定すれば、遷移先の画面構成がどのように変化するかは明示されていないことが多い。したがって、特許文献１に記載の従来技術では、画面テストを自動的に実行するのが難しく、開発者の手間がかかるという問題がある。
【０００６】
本発明は上述の課題に鑑みてなされたもので、その目的は、使い勝手を向上した画面テスト支援装置および方法を提供することにある。本発明の他の目的は、所定の画面を表示するために必要な到達条件に設定するデータを、業務システムの使用するデータベースから取得することにより、自動的にテストを行うことができ、使い勝手のよい画面テスト支援装置および方法を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決すべく、本発明の一つの観点に従う画面テスト支援装置は、業務システムが含む複数の画面のテストを支援する画面テスト支援装置であって、各画面に表示される一つ以上のデータ項目に関する所定の情報に基づいて、画面毎の各データ項目およびその表示条件をそれぞれ抽出する第１処理部と、抽出された各データ項目を所定のカテゴリ別に分類する第２処理部と、所定のカテゴリに対応する所定の画面を表示するための到達条件を抽出する第３処理部と、到達条件に複数のパターンが存在する場合は、複数のパターンをそれぞれ抽出する第４処理部と、到達条件に設定するデータを、業務システムの使用するデータベースに記憶されたデータの中から複数のパターン毎に選定する第５処理部と、を含む。
【発明の効果】
【０００８】
本発明によれば、所定の画面を表示するための到達条件に複数パターンがある場合でも、業務システムの使用するデータベースの中から複数パターン毎にデータを選定することができ、画面テストを支援することができる。
【図面の簡単な説明】
【０００９】
【図１】「画面テスト支援装置」としての画面単体テスト自動実行支援装置の機能構成を示す説明図。
【図２】画面単体テスト自動実行支援装置を含む情報処理システムの全体図。
【図３】画面単体テスト自動実行支援装置のハードウェア構成図。
【図４】システム開発装置のハードウェア構成図。
【図５】ディスクアレイ装置のハードウェア構成図。
【図６】画面項目定義の例。
【図７】画面遷移の模式図。
【図８】テストケースの例。
【図９】テスト対象の画面例。
【図１０】到達条件定義の例。
【図１１】項目間の依存関係を示す説明図。
【図１２】パターン毎の条件入力の例。
【図１３】データベースの構成例。
【図１４】データベースから選定したデータをパターン毎の条件入力に設定した様子を示す。
【図１５】或るパターンをサブパターンに分けて、サブパターン毎にデータベースからデータを選定して設定した様子を示す。
【図１６】テストケース作成処理を示すフローチャート。
【図１７】データ項目の入力値を選定するステップの詳細を示すフローチャート。
【図１８】該当データが見つからない場合の処理を示すフローチャート。
【図１９】テストケースを実行する処理を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて本発明の実施の形態を説明する。本実施形態では、後述のように、以下の手順で画面テストの自動実行を支援する。すなわち、本装置は、表示条件のみを考慮してテストケースを作成する。本装置は、コンピュータプログラムや画面遷移定義情報を分析し、各項目をカテゴリ別に分類する。カテゴリは、画面項目定義書にて予め定められていても良い。
【００１１】
次に、本装置は、コンピュータプログラムや画面遷移定義情報を分析し、各カテゴリの表示条件（各項目の到達条件）を抽出する。本装置は、到達条件に何らかの入力が必要な条件が含まれていた場合、画面項目定義書から例えば「会社名」「所属部署」「役職」などの依存関係を分析し、パターン化する。
【００１２】
そして、本装置は、データベースに格納されている情報を分析し、各項目の入力値を決定する。例えば、テスト対象画面が検索画面の場合、本装置は、検索結果が少なくとも１件は出現する入力値をデータベースから選択する。もしも該当する入力値（データ）がデータベース内に存在しない場合、本装置はその旨をエラーとして出力する。このエラー出力を受け取った本装置のユーザは、手動で入力値を設定することができる。本装置は、エラー出力に代えて、あるいはエラー出力と共に、入力値を自動的に生成してもよい。
【００１３】
さらに本装置は、テストケースを選択して実行し、画面が正しく動作するかを確認することもできる。
【実施例１】
【００１４】
図１〜図１９を用いて第１実施例を説明する。図１は、画面単体テスト自動実行支援装置１の機能構成を示す。図２は、画面単体テスト自動実行支援装置１を含む情報処理システムの全体を示す。以下、画面単体テスト自動実行支援装置１を、画面テスト支援装置１と呼ぶ場合がある。
【００１５】
画面テスト支援装置１は、テスト実行支援プログラム１７０を実行することにより、所定の機能１７１〜１７６を実現させる。所定の機能とは、例えば、テストケース生成部１７１、カテゴリ設定部１７２、到達条件抽出部１７３、到達条件定義パターン抽出部１７４、テストデータ設定部１７５、テストケース実行部１７６である。
【００１６】
「第１処理部」の例であるテストケース生成部１７１は、画面項目定義情報１１０に基づいて、業務プログラム２１０に含まれる各画面のデータ項目およびその表示条件を抽出し、テストケース１３０を生成する機能である。画面項目定義情報１１０は、「各画面に表示される一つ以上のデータ項目に関する所定の情報」の例である。業務プログラム２１０が実行されることで、「業務システム」が稼働する。したがって、業務プログラム２１０は「業務システム」の例であると考えてもよい。
【００１７】
「第２処理部」の例であるカテゴリ設定部１７２は、抽出された各データ項目およびその表示条件を所定のカテゴリ別に分類する機能である。カテゴリ設定部１７２は、例えば、画面項目定義情報１１０、画面遷移定義情報１２０、業務プログラム２１０を参照することで、画面の構成要素であるデータ項目を複数のカテゴリに分類する。カテゴリとは、一つ以上のデータ項目を含む表示上のグループである。カテゴリとしては、例えば検索条件を入力するための「検索条件」欄、検索結果を表示するための「検索結果」欄、ユーザを登録するための「ユーザ登録欄」などがある。
【００１８】
「第３処理部」の例である到達条件抽出部１７３は、カテゴリに対応する所定の画面を表示するための条件である到達条件を抽出する機能である。抽出された到達条件は、到達条件定義情報１４０に保存される。カテゴリに対応する所定の画面は、他の画面から独立して表示されてもよいし、あるいは、他のカテゴリの画面と同時に表示されてもよい。したがって、カテゴリに対応する所定の画面は、カテゴリに対応する所定の画面領域と呼ぶこともできる。到達条件としては、例えば、検索条件欄を表示するための条件、検索結果欄を表示するための条件、ユーザ登録欄を表示するための条件などがある。例えば、検索結果欄に到達する条件には、検索条件欄に検索結果を入力することと、検索開始ボタンを操作して検索を指示することとを含むことができる。
【００１９】
「第４処理部」の例である到達条件定義パターン抽出部１７４は、到達条件に複数パターンが存在する場合に、それら複数パターンを抽出する機能である。到達条件定義パターン抽出部１７４は、例えば、到達条件定義情報１４０、画面項目定義情報１１０、依存関係情報１５０に基づいて、到達条件に含まれる複数パターンを抽出する。
【００２０】
或るカテゴリから他のカテゴリへ遷移する場合において、或るカテゴリに含まれる複数のデータ項目間に依存関係がある場合を説明する。例えば、ユーザ種別に「法人」が入力された場合は「従業員数」が表示され、ユーザ種別に「個人」が入力された場合は「勤務先」が表示される場合のように、一方のデータ項目に設定される値に応じて、他方のデータ項目の表示や設定可能な値が変化する場合がある。この場合、到達条件としては、「法人」および「従業員数」が入力される場合と、「個人」および「勤務先」が入力される場合との２つのパターンがある。そこで、到達条件定義パターン抽出部１７４は、到達条件に含まれる複数パターンを全て抽出する。
【００２１】
「第５処理部」の例であるテストデータ設定部１７５は、到達条件に設定するためのデータを、業務プログラム２１０の使用するデータベース１６０に記憶されたデータ群の中から選択して、複数パターンごとに設定する機能である。つまり、テストデータ設定部１７５は、画面の表示動作が正常に行われるかを確認するためのテストケース１３０に設定するためのデータ（テスト用データ）を、テスト対象の画面を有する業務プログラム２１０が使用するデータベース１６０の中から選定する。
【００２２】
テストデータ設定部１７５は、アラート出力部１７５１とデータ生成部１７５２とを備える。アラート出力部１７５１は、到達条件に設定すべきテスト用データ（テストケースに設定すべきテスト用データ）がデータベース１６０に存在しない場合に、ユーザに対してアラートを出力する機能である。ユーザは、アラートを受領すると、テスト用データを手動で作成してテストデータ設定部１７５へ入力することができる。データ生成部１７５２は、テスト用データがデータベース１６０内に存在しない場合に、テスト用データを自動的に生成する機能である。
【００２３】
「第６処理部」の例であるテストケース実行部１７６は、テストデータ設定部１７５によりテスト用データの設定された到達条件を実行することで、その到達条件に対応するカテゴリの所定の画面が表示されるか確認する機能である。
【００２４】
図２を参照して情報処理システムの全体を説明する。情報処理システムは、例えば、画面単体テスト自動実行支援装置１（画面テスト支援装置１）と、システム開発装置２と、ディスクアレイ装置３（１），３（２）とを含む。
【００２５】
システム開発装置２は、ユーザＵ２が業務プログラム２１０（業務システム）を開発するための計算機であり、ディスクアレイ装置３（２）を使用する。画面テスト支援装置１は、システム開発装置２の開発する業務プログラム２１０に含まれる画面の動作テストを支援する計算機であり、ディスクアレイ装置３（１）を使用する。画面テスト支援装置１は、ユーザＵ１により操作される。
【００２６】
図２では、画面テスト支援装置１とシステム開発装置２とを通信ネットワークＣＮ１で接続し、画面テスト支援装置１とディスクアレイ装置３（１）とを通信ネットワークＣＮ２で接続し、システム開発装置２とディスクアレイ装置３（２）とを通信ネットワークＣＮ３で接続する例を示す。図２の構成に代えて、通信ネットワークＣＮ１〜ＣＮ３を一つの通信ネットワークとしてまとめてもよいし、ディスクアレイ装置３（１），ディスクアレイ装置３（２）も分けずに共通のディスクアレイ装置３としてもよい。
【００２７】
ユーザＵ１は、画面の正常動作を確認するためのテストを行うテスト管理者である。ユーザＵ２は、業務システムを開発するシステム開発者である。
【００２８】
図３は、画面テスト支援装置１のハードウェア構成を示す。画面テスト支援装置１は、例えば、マイクロプロセッサ１１、ネットワークインターフェース１２、ディスクインターフェース１３、ユーザインターフェース１４、およびメモリ１５を有する。図中では、マイクロプロセッサをＣＰＵ（Central Processing Unit）と、インターフェースをＩＦ（Interface）と、略記する。
【００２９】
マイクロプロセッサ１１は、メモリ１５に格納されたテスト実行支援プログラム１７０を実行することにより、図１で述べた各機能１７１〜１７６を実現する。ネットワークインターフェース１２は、通信ネットワークに接続して通信するための回路である。ディスクインターフェース１３は、ディスクアレイ装置３（１）に接続してデータを入出力する回路である。ユーザインターフェース１４は、図外の入出力装置に接続して、テスト管理者であるユーザＵ１との間で情報を交換する回路である。入出力装置としては、例えば、キーボード、タッチパネル、マウス、音声入力装置、ディスプレイ、プリンタ、音声合成装置などがある。画面テスト支援装置１は、電子メールなどの電子的メッセージを通じてユーザＵ１と情報を交換してもよい。
【００３０】
メモリ１５は、例えば、半導体メモリ、フラッシュメモリデバイス、ハードディスクなどの記憶媒体から構成される。図中では一つのメモリを示すが、異なる種類の記憶媒体からメモリ１５を構成してもよい。
【００３１】
メモリ１５は、例えば、画面項目定義情報１１０、画面遷移定義情報１２０、テストケース１３０、到達条件定義情報１４０、データ項目間の依存関係情報１５０、データベース１６０、およびテスト実行支援プログラム１７０を記憶する。各記憶内容１１０〜１７０の詳細は後述する。
【００３２】
図４は、システム開発装置２のハードウェア構成を示す。システム開発装置２は、例えば、マイクロプロセッサ２１、ネットワークインターフェース２２、ディスクインターフェース２３、ユーザインターフェース２４、およびメモリ２５を有する。
【００３３】
マイクロプロセッサ２１および各インターフェース２２〜２４については、図３で述べたと同様であるため、ここでは説明を省略する。メモリ２５には、業務システムを動作させるための業務プログラム２１０が格納されている。
【００３４】
図５は、ディスクアレイ装置３のハードウェア構成を示す。ディスクアレイ装置３は、例えば、コントローラ３１、ディスクインターフェース３２、ディスクドライブ３３を備える。
【００３５】
コントローラ３１は、ディスクアレイ装置３の全体動作を制御する。コントローラ３１は、例えば、一つ以上のディスクドライブ３３をグループ化して、仮想的な記憶デバイス（論理ボリューム）を生成し、その記憶デバイスを管理する。さらに、コントローラ３１は、ディスクインターフェース３２から受信したコマンドに応じて、ディスクドライブ３３に対してデータを読み書きする。
【００３６】
ディスクドライブ３３には、例えばファイルシステム３１０が格納されている。ファイルシステム３１０は、データベース１６０を記憶しており、データベース１６０へのデータ入出力を管理する。
【００３７】
図６は、画面項目定義情報１１０の例を示す。画面項目定義情報１１０は、画面に表示されるデータ項目を定義する情報である。画面項目定義情報１１０は、例えば、番号１１００、カテゴリ１１０１、ラベル名１１０２、入力形式１１０３、表示条件１１０４、活性化条件１１０５を含む。
【００３８】
番号１１００は、データ項目に付与される番号である。カテゴリ１１０１は、データ項目を種類ごとに分類した情報である。ここでは画面項目定義情報１１０にカテゴリ１１０１が予め定義されている場合を示すが、カテゴリ１１０１は画面項目定義情報１１０に予め定義されている必要はない。画面項目定義情報１１０にカテゴリ１１０１が予め定義されていない場合、画面テスト支援装置１は、画面遷移定義情報１２０や業務プログラム２１０を解析することで、各データ項目をカテゴリ別に分類する。
【００３９】
ラベル名１１０２は、データ項目の名称である。入力形式１１０３は、データ項目への入力方法を示す。入力方法には、予め用意された値の中から選択するドロップダウンや、文字または数字を手動で入力するテキストボックスなどがある。
【００４０】
表示条件１１０４は、データ項目を画面に表示するための条件である。データ項目は、表示条件が満たされた場合に画面に表示される。例えば、「＃２」の「所属部署」という名称のデータ項目が画面に表示されるための条件は、「会社名」というデータ項目に「Ａ社」または「Ｂ社」が入力された場合である。
【００４１】
活性化条件１１０５は、データ項目への入力可否を制御する条件である。データ項目に活性化条件が設定されていない場合、値を入力できる。データ項目に活性化条件が設定されている場合、その活性化条件を満たさないと値を入力できない。例えば、「＃５」の「氏名」というデータ項目は、「会員Ｎｏ．」が「１０００」以上の場合に入力可能となっている。
【００４２】
図７は、画面遷移定義情報１２０の概要を示す。画面遷移定義情報１２０は、例えば、アクションと画面とを対応づけて管理する。図７の例では、「画面Ａ」が表示されている状態でボタン「次へ」が操作されると、「画面Ｂ」へ遷移する。「画面Ｂ」が表示されている状態でボタン「完了」が操作されると処理は終了する。「画面Ｂ」が表示されている状態でボタン「次へ」が操作されると、「画面Ｃ」へ遷移する。「画面Ｃ」が表示されている状態でボタン「完了」が操作されると処理は終了する。
【００４３】
図８はテストケース１３０の例を示す。テストケース１３０は、業務プログラム２１０の含む各画面が正常に動作するかを確認するためのケースである。テストケース１３０は、例えば、番号１３００、テスト対象カテゴリ１３０１、テスト対象ラベル名１３０２、テストケース名１３０３、入力１３０４、結果１３０５などを含む。結果１３０５は、テスト結果を記録する。
【００４４】
番号１３００は、各ケースに付与される番号である。テスト対象カテゴリ１３０１は、テスト対象のカテゴリを特定する。テスト対象ラベル名１３０２は、テスト対象のラベル名（データ項目の名称）を特定する。入力１３０４は、データ項目への入力に関する検査内容を示す。例えば「＃１」の「年齢」では、「会社名」に「Ａ社」が入力されている場合に表示されることを確認する。「＃２」の「所属部署」では、「会社名」に「Ｃ社」が入力された場合に表示されないことを確認する。
【００４５】
図９は、テスト対象の画面例を示す。テスト対象画面Ｇ１は、例えば、検索条件を表示する検索条件欄ＧＰ１１と、検索結果を表示する検索結果欄ＧＰ１２とを含む。
【００４６】
検索条件欄ＧＰ１１は、例えば「会社名」「所属部署」「役職」などの検索条件を入力するデータ項目と、検索開始を指示するための検索ボタンＧＰ１３とを含む。検索結果欄ＧＰ１２は、例えば「会員Ｎｏ．」「氏名」「性別」「年齢」「電話」「居住国」などの検索結果を表示するデータ項目と、キャンセルボタンＧＰ１４およびＯＫボタンＧＰ１５とを含む。
【００４７】
図１０は、到達条件定義情報１４０の例を示す。図１０の上側には、カテゴリ「検索条件」に到達するための条件を記憶する「検索条件」到達条件管理テーブル１４１が示されている。
【００４８】
カテゴリ「検索条件」に到達するためには、例えば図示のように、ＵＲＬ（Uniform Resource Locator）で特定される画面において、ユーザＩＤおよびパスワードを入力し、さらにログインボタンを押す。
【００４９】
「検索条件」到達条件管理テーブル１４１は、例えば、番号１４１０、カテゴリ１４１１、ラベル名１４１２、プロパティ名１４１２、Ｘｐａｔｈ１４１４、入力形式１４１５、入力内容１４１６を含む。
【００５０】
番号１４１０は、到達条件の番号である。カテゴリ１４１１は、到達条件の種類を示す情報である。プロパティ名１４１３とは、設定情報を特定する情報である。Ｘｐａｔｈ１４１４とは、ＸＭＬ（Extensible Markup Language）文書中の特定の要素を指し示すための記述方式である。入力形式１４１５とは、到達条件を構成するデータ項目への入力方法を示す。入力内容１４１６とはデータ項目へ入力するべき内容である。
【００５１】
図１０の中央には、カテゴリ「検索結果」に到達するための条件を記憶する「検索結果」到達条件テーブル１４２が示されている。このテーブル１４２も、上述のテーブル１４１と同様に、番号１４２０、カテゴリ１４２１、ラベル名１４２２、プロパティ名１４２３、Ｘｐａｔｈ１４２４、入力形式１４２５、入力内容１４２６を含む。各項目１４２０〜１４３６は、上述した各項目１４１０〜１４１６と同様なので説明を省略する。
【００５２】
カテゴリ「検索条件」からカテゴリ「検索結果」に到達するためには、例えば図示のように、カテゴリ「検索条件」の画面において、検索のための条件を入力し、さらに検索ボタンを押す。
【００５３】
図１０の下側には、検索条件として入力する条件を管理する条件入力管理テーブル１４３が示されている。検索条件としては、例えば図示のように、「会社名」「所属部署」「役職」のデータ項目へ何らかの値を入力する。テーブル１４３の各項目１４３０〜１４３６は、上述した各項目１４１０〜１４１６と同様であるため、説明を省略する。
【００５４】
図１１は、データ項目間の依存関係を示す説明図である。或るカテゴリの画面に表示される各データ項目の間には、一方のデータ項目への入力内容に応じて他方のデータ項目が表示されるといった、依存関係が設定されている場合がある。
【００５５】
図１１の例では、データ項目「会社名」と、データ項目「所属部署」および「役職」との間には依存関係が設定されている。すなわち、データ項目「会社名」に「Ａ社」が入力された場合、データ項目「所属部署」および「役職」の２つが「検索条件」の画面に表示される。つまり「会社名」が「Ａ社」である場合、「所属部署」および「役職」を指定して検索することができるようになっている。
【００５６】
データ項目「会社名」に「Ｂ社」が入力された場合は、データ項目「所属部署」だけがカテゴリ「検索条件」の画面に表示される。「会社名」に「Ｂ社」が入力される場合、「役職」は表示されない。
【００５７】
データ項目「会社名」に「Ｃ社」が入力された場合は、データ項目「役職」だけがカテゴリ「検索条件」の画面に表示される。「会社名」に「Ｃ社」が入力される場合、「所属部署」は表示されない。
【００５８】
図１２は、上述したデータ項目缶の依存関係に基づいて生成した条件入力を管理するテーブル１４３Ａ，１４３Ｂ，１４３Ｃである。
【００５９】
テーブル１４３Ａは、「会社名」に「Ａ社」が入力される場合を示す。この場合、画面には「所属部署」および「役職」を入力するためのデータ項目がドロップダウン形式で表示される。テーブル１４３Ｂは、「会社名」に「Ｂ社」が入力される場合を示す。この場合、画面には「所属部署」を入力するためのデータ項目がドロップダウン形式で表示される。テーブル１４３Ｃは、「会社名」に「Ｃ社」が入力される場合を示す。この場合、画面には「役職」を入力するためのデータ項目がドロップダウン形式で表示される。
【００６０】
テーブル１４３Ａ，１４３Ｂ，１４３Ｃに示す条件入力の定義は、カテゴリ「検索条件」からカテゴリ「検索結果」へ到達するために複数パターンあることを示す。テーブル１４３Ａ〜１４３Ｃのいずれのパターンを経由しても「検索結果」の画面に到達することができる。
【００６１】
図１３は、業務システム（業務プログラム２１０）が使用するデータベース１６０の例を示す。データベース１６０は、例えば、番号１６００、会社名１６０１、所属部署１６０２、役職１６０３、氏名１６０４、年齢１６０５、居住国１６０６、都道府県１６０７を含む。
【００６２】
図１４は、図１２で述べたパターンに合致するデータをデータベース１６０から取り出して当てはめた様子を示す。
【００６３】
会社名が「Ａ社」用の条件入力１４３Ａには、図１３中の番号「＃１」で特定されるデータが当てはめられている。会社名が「Ｂ社」用の条件入力１４３Ｂには、図１３中の番号「＃３」で特定されるデータが当てはめられている。会社名が「Ｃ社」用の条件入力１４３Ｃには、図１３中の番号「＃５」で特定されるデータが当てはめられている。
【００６４】
図１５は、到達条件の有するパターンが複数のサブパターンを有する場合を示す条件入力の管理テーブル１４３Ａ１，１４３Ａ２である。
【００６５】
ここでは、図９に示す画面例において、カテゴリ「検索結果」に含まれるデータ項目「居住国」に「日本」が入力される場合にのみ、データ項目「都道府県」が表示されるものとする。そして、データ項目「居住国」はリードオンリーに設定されており、内容を書き換えることができないものとする。この場合、「居住国」に「日本」が設定され、「都道府県」が表示されるサブパターンと、「居住国」に「日本」以外の国名が設定されるために「都道府県」が表示されないサブパターンとがあることになる。
【００６６】
そこで、図１５では、「居住国」が「米国」であるデータとして、図１３中の「＃１」で特定されるデータを、図１２に示す条件入力１４３Ａに当てはめることで、条件入力１４３Ａ１を生成する。同じく「居住国」が「日本」であるデータとして、図１３中の「＃２」で特定されるデータを、図１２に示す条件入力１４３Ａに当てはめることで、条件入力１４３Ａ２を生成する。
【００６７】
図１６は、業務プログラム２１０に含まれる画面が正常に動作するかを調べるためのテストケースを作成する処理Ｓ１００を示すフローチャートである。
【００６８】
画面テスト支援装置１は、図６で述べた画面項目定義情報１１０から各データ項目の表示条件１１０４を抽出し、表示条件のみを考慮して各データ項目のテストケースを作成する（Ｓ１０１）。ステップＳ１０１では、到達条件を考慮せずに、表示条件のみに基づいてテストケースを生成する。
【００６９】
画面テスト支援装置１は、業務プログラム２１０や画面遷移定義情報１２０を分析することにより、各データ項目をカテゴリ別に分類する（Ｓ１０２）。画面項目定義情報１１０にて、各データ項目のカテゴリ１１０１を予め定めておいてもよい。
【００７０】
画面テスト支援装置１は、業務プログラム２１０や画面遷移定義情報１２０を分析することにより、各カテゴリへの到達条件を抽出する（Ｓ１０３）。
【００７１】
画面テスト支援装置１は、抽出した到達条件の中に未処理のデータ入力があるか判定する（Ｓ１０４）。ここではテストケース作成処理Ｓ１００は始まったばかりであるので、ＹＥＳと判定してステップＳ１０５へ移る。画面テスト支援装置１は、到達条件に存在する未処理のデータ入力を選択し（Ｓ１０５）、到達条件に関するデータ項目同士について依存関係を抽出する（Ｓ１０６）。
【００７２】
画面テスト支援装置１は、データベース１６０に格納されたデータを参照し、テストケースの各データ項目へ入力する該当データが存在するか判定する（Ｓ１０７）。画面テスト支援装置１は、データ項目に該当するデータがあると判定すると（Ｓ１０７：ＹＥＳ）、その該当データをデータ項目に当てはめて入力値を選定する（Ｓ１０８）。例えば、図１２〜図１４で述べたように、画面テスト支援装置１は、データベース１６０の番号「＃１」のデータを到達条件に含まれる各データ項目に当てはめることで、「会社名」への入力値「Ａ社」、「所属部署」への入力値「総務」、「役職」への入力値「部長」を選定し、テストケースとして設定する。
【００７３】
なお、ステップＳ１０８において、リードオンリーのデータ項目が存在する場合の、入力値の選定方法については図１７で後述する。
【００７４】
画面テスト支援装置１は、テスト用データとして使用可能なデータがデータベース１６０内に見つからない場合（Ｓ１０７：ＮＯ）、異常処理を実行する（Ｓ１０９）。異常処理については図１８で後述する。
【００７５】
図１７は、データ項目への入力値を決定する処理の例を示す。図１７は、図１６中のステップＳ１０８の一つの例である。上述のように「居住国」に「日本」が設定されているときにのみ「都道府県」というデータ項目が表示される場合がある。さらに「都道府県」を表示するための前提条件となっている「居住国」の値がリードオンリーに設定されており、変更できない場合は、「居住国」が「日本」である場合に「都道府県」が表示されることと、「居住国」が日本以外の国名である場合に「都道府県」が表示されないこととの、２つのテストケースを作成してそれぞれの画面表示を確認する必要がある。
【００７６】
そこで、画面テスト支援装置１は、リードオンリーのデータ項目が他のデータ項目を表示するための前提条件になっているか判定する（Ｓ１０８１）。リードオンリーのデータ項目が前提条件になっている場合（Ｓ１０８１：ＹＥＳ）、画面テスト支援装置１は、データベース１６０を参照し、前提条件を満たせる入力値と満たせない入力値とをそれぞれ選択する（Ｓ１０８２）。これに対し、画面テスト支援装置１は、リードオンリーのデータ項目が前提条件となっていない場合（Ｓ１０８１：ＮＯ）、データベース１６０を参照し、到達条件定義のパターンに応じた入力値を選択する（Ｓ１０８３）。
【００７７】
図１８は、異常処理の詳細を示すフローチャートである。図１８は、図１６中のステップＳ１０９の一つの例である。
【００７８】
画面テスト支援装置１は、テストケースに使用するためのテスト用データがデータベース１６０内に見つからない場合、選定可能なデータがデータベース１６０に存在しない旨をテスト管理者であるユーザＵ１へ通知する（Ｓ１０９１）。例えば、画面テスト支援装置１は、ユーザインターフェース１４に接続されたディスプレイやプリンタから異常処理を知らせるメッセージを出力させたり、ユーザＵ１のメールアドレスへ異常処理のメッセージを含む電子メールを送信したりする。
【００７９】
画面テスト支援装置１は、データベース１６０に存在しないデータの代わりに、テスト用データを自動生成するか判定する（Ｓ１０９２）。例えば、ユーザＵ１は、テスト用データの自動生成の可否を画面テスト支援装置１に設定しておくことができる。
【００８０】
画面テスト支援装置１は、データの自動生成を行うと判断すると（Ｓ１０９２：ＹＥＳ）、所定の仕様のテスト用データを自動生成し（Ｓ１０９３）、図１６の処理に戻る。必要な仕様のテスト用データとは、例えば、所定の文字コードに従う所定の文字数以内のデータである。
【００８１】
これに対し、画面テスト支援装置１は、テスト用データの自動生成を行わないと判定すると（Ｓ１０９２：ＮＯ）、ユーザＵ１からユーザインターフェース１４を介してテスト用データが入力されたか判定する（Ｓ１０９４）。
【００８２】
ステップＳ１０９１のメッセージを受領したユーザＵ１は、キーボードやタッチパネル等を用いてテスト用データを手動で入力することができる。画面テスト支援装置１は、テスト用データがユーザインターフェース１４から入力されるとそのデータを使用し、図１６の処理に戻る（Ｓ１０９４：ＹＥＳ）。画面テスト支援装置１は、ユーザＵ１からのデータ入力があるまで待機することができる（Ｓ１０９４：ＮＯ）。
【００８３】
図１９は、テストケースを実行する処理を示すフローチャートである。画面テスト支援装置１は、図１６〜図１８までの処理により自動的にまたは一部手動で生成したテストケースを、自動的に実行することができる。テストケースの自動実行を行うか否かの指示と、テストケースを自動実行するタイミングとは、ユーザＵ１が適宜設定可能である。
【００８４】
画面テスト支援装置１は、未処理のテストケースが存在するか判定し（Ｓ２０１）、未処理のテストケースが有る場合（Ｓ２０１：ＹＥＳ）、その未処理テストケースを選択する（Ｓ２０２）。以下、選択した未処理テストケースを対象テストケースと呼ぶ。
【００８５】
画面テスト支援装置１は、対象テストケースの実行に際して前提条件が存在するか否か確認する（Ｓ２０３）。画面テスト支援装置１は、前提条件が有ると判定すると（Ｓ２０３：ＹＥＳ）、前提条件に合う到達条件定義のパターンを選択する（Ｓ２０４）。例えば、図８に示すように、テストケース番号「＃１」では、データ項目「会社名」に「Ａ社」が入力された場合にデータ項目「年齢」が表示されることを確認する。この場合、「会社名」が「Ａ社」であることは、データ項目「年齢」を表示する際の前提条件である。
【００８６】
これに対し、画面テスト支援装置１は、対象テストケースの実行に際して前提条件が存在しない場合（Ｓ２０３：ＮＯ）、到達条件定義の複数パターンの中から少なくともいずれか一つのパターンを選択する（Ｓ２０５）。全てのパターンを選択してもよい。
【００８７】
画面テスト支援装置１は、ステップＳ２０４またはステップＳ２０５のいずれかで選択した到達条件定義を実行し（Ｓ２０６）、予定通りの実行結果を得られたか確認し（Ｓ２０７）、ステップＳ２０１へ戻る。
【００８８】
このように構成される本実施例によれば、カテゴリ毎に到達条件が異なる画面においても、テストケースを自動的に生成して実行することができるため、画面テストの作業効率およびユーザＵ１の使い勝手を向上することができる。
【００８９】
なお、本発明は上述の実施形態に限定されず、様々な変形例が含まれる。上記実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることもできる。また、ある実施形態の構成に他の実施形態の構成を加えることもできる。また、各実施形態の構成の一部について、他の構成を追加・削除・置換することもできる。
【００９０】
上記各構成、機能、処理部、処理手段等は、それらの一部や全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【００９１】
また、上述した実施形態に含まれる技術的特徴は、特許請求の範囲に明示された組み合わせに限らず、適宜組み合わせることができる。
【符号の説明】
【００９２】
１：画面単体テスト自動実行支援装置、２：システム開発装置、３：ディスクアレイ装置、１１０：画面項目定義情報、１２０：画面遷移定義情報、１３０：テストケース、１４０：到達条件定義情報、１５０：データ項目缶の依存関係情報、１６０：データベース、１７０：テスト実行支援プログラム、１７１：テストケース生成部、１７２：カテゴリ設定部、１７３：到達条件抽出部、１７４：到達条件定義パターン抽出部、１７５：テストデータ設定部、１７６テストケース実行部、１７５１：アラート出力部、１７５２：データ生成部
【図１】
2018045404.tif 000003
【図２】
2018045404.tif 000004
【図３】
2018045404.tif 000005
【図４】
2018045404.tif 000006
【図５】
2018045404.tif 000007
【図６】
2018045404.tif 000008
【図７】
2018045404.tif 000009
【図８】
2018045404.tif 000010
【図９】
2018045404.tif 000011
【図１０】
2018045404.tif 000012
【図１１】
2018045404.tif 000013
【図１２】
2018045404.tif 000014
【図１３】
2018045404.tif 000015
【図１４】
2018045404.tif 000016
【図１５】
2018045404.tif 000017
【図１６】
2018045404.tif 000018
【図１７】
2018045404.tif 000019
【図１８】
2018045404.tif 000020
【図１９】
2018045404.tif 000021