(57)【要約】【課題】開発アプリケーションの高効率および高精度なテストを支援するアプリケーションテスト支援装置、そのデータ処理方法、およびプログラムを提供する。【解決手段】アプリケーションテスト支援装置１００は、アプリケーションの画面上で、入力操作対象となる入力画面部品に対応する入力項目に関する属性情報を、アプリケーションの画面設計情報１１０を元に取得する属性取得部１０２と、取得した入力項目に関する属性情報に基づいて、アプリケーションの画面操作を定義するテストシナリオに基づく基準テストケース１１２から、その基準テストケース１１２に設定される入力画面部品への入力操作内容を変化させた、テストシナリオに基づく派生テストケース１１４を生成するテストケース生成部１０４と、を備える。【選択図】図１
2019021341.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションの画面上で、入力操作対象となる入力画面部品に対応する入力項目に関する属性情報を、前記アプリケーションの画面設計情報を元に取得する属性取得手段と、
取得した前記入力項目に関する属性情報に基づいて、前記アプリケーションの画面操作を定義するテストシナリオに基づく基準テストケースから、その基準テストケースに設定される前記入力画面部品への入力操作内容を変化させた、前記テストシナリオに基づく派生テストケースを生成するテストケース生成手段と、
を備えるアプリケーションテスト支援装置。
【請求項２】
請求項１に記載のアプリケーションテスト支援装置において、
前記テストケース生成手段は、前記属性情報により示される入力項目の有効入力条件および無効入力条件に基づいて、複数の派生テストケースに設定すべき複数の入力操作内容を決定する、
アプリケーションテスト支援装置。
【請求項３】
請求項１または２に記載のアプリケーションテスト支援装置において、
前記テストシナリオは、入力操作を示す入力操作命令を含み、
前記テストシナリオの前記基準テストケースは、前記入力操作命令のパラメータとなる、前記入力操作の対象となる入力画面部品の識別情報およびその入力画面部品への入力内容を含む前記入力操作内容を有し、
前記属性取得手段は、入力操作命令のパラメータを前記基準テストケースから抽出し、抽出されたパラメータにより示される入力画面部品の識別情報および前記画面設計情報に基づいて、その入力画面部品に対応する入力項目の属性情報を取得し、
前記テストケース生成手段は、前記取得された属性情報に基づいて、前記抽出されたパラメータにより示される前記入力画面部品への入力内容を変化させて、複数の派生テストケースを生成する、
アプリケーションテスト支援装置。
【請求項４】
請求項１乃至３いずれか一項に記載のアプリケーションテスト装置において、
前記基準テストケースの各テスト命令の前記入力項目と前記入力操作内容に対応する、複数の前記派生テストケースの前記各テスト命令の前記入力操作内容を対応付けて一覧表示する表示手段をさらに備え、
前記表示手段は、複数の前記派生テストケースにおいて、前記基準テストケースから変化させた前記入力項目の前記入力操作内容を、それぞれ区別可能に表示する、
アプリケーションテスト支援装置。
【請求項５】
請求項１乃至４いずれか一項に記載のアプリケーションテスト支援装置において、
複数の前記派生テストケースに、所定の規則に従って、採番、または、テスト名を付与する付与手段、
をさらに備えるアプリケーションテスト支援装置。
【請求項６】
請求項１乃至５いずれか一項に記載のアプリケーションテスト支援装置において、
前記テストシナリオに基づく複数の前記派生テストケースのそれぞれについて、前記アプリケーションを動作させてテストを実行するテスト実行手段と、
前記テスト実行手段により動作させた前記アプリケーションの前記画面操作および画面遷移を、テスト結果として記録するテスト結果記録手段と、
生成された複数の前記派生テストケースの前記テストシナリオを元に、前記画面設計情報を参照して、前記アプリケーションのテスト仕様書を生成するテスト仕様書生成手段と、
を備えるアプリケーションテスト支援装置。
【請求項７】
請求項１乃至６いずれか一項に記載のアプリケーションテスト支援装置において、
動作する前記アプリケーションにおける、画面操作および当該画面操作に対応する画面遷移を記録する録画手段と、
前記録画手段により記録された前記画面操作および前記画面遷移に基づいて、前記テストシナリオを生成するテストシナリオ生成手段と、を備え、
前記録画手段が、
前記動作するアプリケーションの少なくとも１つの画面上で、一連の画面操作を受け付けて、当該一連の画面操作、および当該一連の画面操作に対応する画面遷移を記録し、
前記テストシナリオ生成手段は、
前記録画手段により記録された前記画面操作および前記画面遷移を示すテスト命令にそれぞれ変換し、前記一連の画面操作に対応する、変換された複数のテスト命令を含む一連のテスト命令を、前記テストシナリオに基づく前記基準テストケースとして生成し、
前記テストシナリオ生成手段により生成された前記テストシナリオに基づく前記基準テストケースに含まれる前記一連のテスト命令は、前記入力画面部品に対応する前記入力項目の情報および前記入力画面部品への前記入力操作内容をそれぞれ含む、
アプリケーションテスト支援装置。
【請求項８】
アプリケーションテスト支援装置が、
アプリケーションの画面上で、入力操作対象となる入力画面部品に対応する入力項目に関する属性情報を、前記アプリケーションの画面設計情報を元に取得し、
取得した前記入力項目に関する属性情報に基づいて、前記アプリケーションの画面操作を定義するテストシナリオに基づく基準テストケースから、その基準テストケースに設定される前記入力画面部品への入力操作内容を変化させた、前記テストシナリオに基づく派生テストケースを生成する、
アプリケーションテスト支援装置のデータ処理方法。
【請求項９】
コンピュータに、
アプリケーションの画面上で、入力操作対象となる入力画面部品に対応する入力項目に関する属性情報を、前記アプリケーションの画面設計情報を元に取得する手順、
取得した前記入力項目に関する属性情報に基づいて、前記アプリケーションの画面操作を定義するテストシナリオに基づく基準テストケースから、その基準テストケースに設定される前記入力画面部品への入力操作内容を変化させた、前記テストシナリオに基づく派生テストケースを生成する手順、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションテスト支援装置、そのデータ処理方法、およびプログラムに関し、特に、アプリケーションのテストを支援するアプリケーションテスト支援装置、そのデータ処理方法、およびプログラムに関する。
【背景技術】
【０００２】
ウェブアプリケーションに関するテストケースおよびテストデータを自動的に生成する技術の一例が特許文献１に記載されている。このテストケース生成装置は、画面遷移定義情報からテストケース生成の対象画面を取得し、画面構成情報からテスト対象カラムを取得し、データ定義情報からテスト対象カラムに対する制約を取得し、テスト対象カラムに対する制約とテストケーステンプレートをマッチングさせ、テストケースとテストデータを生成する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２６０３９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術では、生成されるテストケースとテストデータは、テストプログラム用のソースコードとして生成されているため、自動で生成されたテストケースが適切な範囲で設定されているか、漏れがないか、等を確認する作業を行おうとした場合に、直感的には分かりにくく、精査に時間がかかるといった問題点があった。確認作業を疎かにしてしまうと、テストの精度が低くなり、アプリケーションの信頼性も落ちてしまい兼ねない。
【０００５】
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、開発アプリケーションの高効率および高精度なテストを支援するアプリケーションテスト支援装置、そのデータ処理方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明の各側面では、上述した課題を解決するために、それぞれ以下の構成を採用する。
【０００７】
第一の側面は、アプリケーションテスト支援装置に関する。
第一の側面に係るアプリケーションテスト支援装置は、
アプリケーションの画面上で、入力操作対象となる入力画面部品に対応する入力項目に関する属性情報を、前記アプリケーションの画面設計情報を元に取得する属性取得手段と、
取得した前記入力項目に関する属性情報に基づいて、前記アプリケーションの画面操作を定義するテストシナリオに基づく基準テストケースから、その基準テストケースに設定される前記入力画面部品への入力操作内容を変化させた、前記テストシナリオに基づく派生テストケースを生成するテストケース生成手段と、を有する。
【０００８】
第二の側面は、少なくとも１つのコンピュータにより実行されるアプリケーションテスト支援装置のデータ処理方法に関する。
第二の側面に係るアプリケーションテスト支援装置のデータ処理方法は、
アプリケーションテスト支援装置が、
アプリケーションの画面上で、入力操作対象となる入力画面部品に対応する入力項目に関する属性情報を、前記アプリケーションの画面設計情報を元に取得し、
取得した前記入力項目に関する属性情報に基づいて、前記アプリケーションの画面操作を定義するテストシナリオに基づく基準テストケースから、その基準テストケースに設定される前記入力画面部品への入力操作内容を変化させた、前記テストシナリオに基づく派生テストケースを生成する、ことを含む。
【０００９】
なお、本発明の他の側面としては、上記第二の側面の方法を少なくとも１つのコンピュータに実行させるプログラムであってもよいし、このようなプログラムを記録したコンピュータが読み取り可能な記録媒体であってもよい。この記録媒体は、非一時的な有形の媒体を含む。
このコンピュータプログラムは、コンピュータにより実行されたとき、コンピュータに、アプリケーションテスト支援装置上で、そのデータ処理方法を実施させるコンピュータプログラムコードを含む。
【００１０】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【００１１】
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
【００１２】
また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施するときには、その複数の手順の順番は内容的に支障のない範囲で変更することができる。
【００１３】
さらに、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
【発明の効果】
【００１４】
上記各側面によれば、開発アプリケーションの高効率および高精度なテストを支援するアプリケーションテスト支援装置、そのデータ処理方法、およびプログラムを提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態に係るアプリケーションテスト支援装置の構成を論理的に示す機能ブロック図である。
【図２】本実施形態のアプリケーションテスト支援装置のテスト支援対象のアプリケーションの画面の一例を示す図である。
【図３】本実施形態のアプリケーションテスト支援装置のテスト支援対象のアプリケーションの画面遷移の一例を示す図である。
【図４】本発明の実施の形態に係るアプリケーションテスト支援装置を実現するコンピュータのハードウェア構成を示すブロック図である。
【図５】本発明の実施の形態に係るアプリケーションテスト支援装置のデータ処理方法における処理手順を示すフローチャートである。
【図６】本発明の実施の形態に係るアプリケーションテスト支援装置におけるテストシナリオおよびテストケースを説明するための図である。
【図７】本実施形態のアプリケーションテスト支援装置のテスト支援対象のアプリケーションが利用するデータ情報の一例を示す図である。
【図８】本実施形態のアプリケーションテスト支援装置における、派生テストケースの生成例を説明するための図である。
【図９】本実施形態のアプリケーションテスト支援装置の構成を論理的に示す機能ブロック図である。
【図１０】本発明の実施の形態に係るアプリケーションテスト支援装置におけるテストシナリオおよびテストケースを説明するための図である。
【図１１】本実施形態のアプリケーションテスト支援装置の構成を論理的に示す機能ブロック図である。
【図１２】本実施形態のアプリケーションテスト支援装置の構成を論理的に示す機能ブロック図である。
【図１３】本実施形態のアプリケーションテスト支援装置の表示部により表示される変更箇所一覧の一例を示す図である。
【図１４】本実施形態のアプリケーションテスト支援装置の構成を論理的に示す機能ブロック図である。
【図１５】本実施形態のアプリケーションテスト支援装置によるアプリケーションの動作テストの概要を説明するための図である。
【図１６】本実施形態のアプリケーションテスト支援装置において、テストシナリオからテスト仕様書を生成する処理を説明するための図である。
【図１７】本実施形態のアプリケーションテスト支援装置で、テスト仕様書を生成するツールの画面の一例を示す図である。
【図１８】本発明の実施の形態に係るアプリケーションテスト支援装置のデータ処理方法における処理手順を示すフローチャートである。
【図１９】本実施形態のアプリケーションテスト支援装置の構成を論理的に示す機能ブロック図である。
【図２０】本実施形態のアプリケーションテスト支援装置のテストシナリオ生成部を実現するテストケース生成ツールの一例を示す図である。
【図２１】本発明の実施の形態に係るアプリケーションテスト支援装置を利用するアプリケーション開発システムの構成の一例を示すブロック図である。
【図２２】本発明のアプリケーションテスト支援装置を含むアプリケーション開発システムにより開発されるアプリケーションを利用したシステムの構成の一例を示すブロック図である。
【図２３】本実施形態のアプリケーションテスト支援装置のテスト対象のアプリケーションのデータ情報の一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００１７】
（第１の実施の形態）
本発明の第１の実施の形態に係るアプリケーションテスト支援装置、そのデータ処理方法およびプログラムについて、以下説明する。
図１は、本発明の実施の形態に係るアプリケーションテスト支援装置１００の構成を論理的に示す機能ブロック図である。
本発明の実施の形態に係るアプリケーションテスト支援装置１００は、アプリケーションの画面上で、入力操作対象となる入力画面部品に対応する入力項目に関する属性情報を、アプリケーションの画面設計情報１１０を元に取得する属性取得部１０２と、取得した入力項目に関する属性情報に基づいて、アプリケーションの画面操作を定義するテストシナリオに基づく基準テストケース１１２から、その基準テストケース１１２に設定される入力画面部品への入力操作内容を変化させた、テストシナリオに基づく派生テストケース１１４を生成するテストケース生成部１０４と、を備える。
【００１８】
本発明のアプリケーションテスト支援装置は、アプリケーションの開発時等における、テストを支援する装置である。本実施形態では、アプリケーションテスト支援装置１００がテストするアプリケーションとして、ウェブアプリケーションを例に説明する。
図２２は、本発明のアプリケーションテスト支援装置を含む開発システムにより開発されるアプリケーションを利用したシステムの構成の一例を示すブロック図である。
図２２に示すように、ウェブアプリケーション３２は、ウェブサーバ３０上で動作し、ネットワーク３を介してブラウザ４２経由でユーザ端末４０にて利用される。
本発明のテスト対象となるアプリケーションは、ウェブアプリケーションに限定されるものではない。たとえば、サーバ、データベース、および端末の全てがユーザ側に含まれる、企業内のシステム等も開発対象となり得る。
【００１９】
図１に戻り、画面設計情報１１０とは、アプリケーション設計を行う際に、アプリケーションの画面構成、画面遷移、および各画面の部品（画面構成要素）配置、そのレイアウト、各画面構成要素の属性などを定義した情報を含む。また、各画面構成要素の属性は、画面構成要素に対するチェック機能に関する情報、たとえば、入力必須や英文字のみ入力可、および電話番号形式入力のみ許可等の情報を含む。
たとえば、アプリケーションが、図２に示すような店舗検索画面１２０を有する場合を例に説明する。
図２は、本実施形態のアプリケーションテスト支援装置１００のテスト支援対象のアプリケーションの画面の一例を示す図である。図３は、本実施形態のアプリケーションテスト支援装置１００のテスト支援対象のアプリケーションの画面遷移の一例を示す図である。
【００２０】
図２の店舗検索画面１２０では、店舗を店舗名、所在地、または郵便番号から検索することができる。図２に示すように、店舗検索画面１２０は、店舗名から店舗の検索を行うために、店舗名の入力を受け付けるテキストボックス１２２と、テキストボックス１２２に入力された内容で検索を行う指示を受け付ける検索ボタン１２４とを含む。さらに、店舗検索画面１２０は、所在地からの店舗検索または郵便番号からの店舗検索のためのユーザインタフェースを含む。
【００２１】
図２の店舗名からの検索で、テキストボックス１２２に検索対象の店舗名の少なくとも一部を含む文字列が入力され、検索ボタン１２４が押下されると、テキストボックス１２２に入力されたデータで検索が行われる。その結果、該当する店舗が見つかったか否かを条件として、遷移先の画面が分岐する。これが、図３の条件分岐１３２で定義される。該当店舗が見つからなかった場合には、その旨をユーザに通知するための検索ＮＧ画面１３４に遷移する。一方、該当店舗が見つかった場合には、その結果を提示する検索結果画面１３６に遷移する。また、図２の所在地検索で、プルダウンメニュー１２８で都道府県が選択され、検索ボタン１３０が押下されると、図３に示すように、さらに、市町村を検索する詳細検索画面１３８に遷移する。
【００２２】
画面および画面遷移に関する情報には、各画面のＩＤ、名称、種類（たとえば、ページ、またはポップアップ等）と、画面間の関係に関する情報が含まれる。また、各画面に関する情報には、画面のデザイン（背景の属性情報、レイアウト、テキストコンテンツの内容、文字の属性情報（サイズ、フォント、色等）、画像ファイルの属性情報（ファイルのパス、表示サイズ等）等）、画面構成要素（テキストボックス１２２、検索ボタン１２４、プルダウンメニュー１２８）等の属性情報が含まれる。
【００２３】
また、入力画面部品とは、入力または選択される内容または操作指示を受け付けるためのＧＵＩ（Graphical User Interface）コンポーネントや、データを出力するコンポーネントを含む各種の画面構成要素のうち、入力（または選択）に関する部品を指し、たとえば、テキストボックス、コンボボックス、リストボックス、プルダウンメニュー（ドロップダウンメニュー）、コンテキストメニュー、チェックボタン、ラジオボタン等が例示される。入力画面部品にて入力または選択される入力内容は、文字列、数値、および配列データ等を含む。
【００２４】
入力項目とは、入力画面部品に割り当てられているデータ項目を指し、たとえば、テキストボックスに紐付けされているデータフィールドに相当する。入力画面部品に対応する入力項目に関する属性情報は、入力画面部品の種類、名称、データフィールドに関する属性情報（データフィールド名（位置）、データ名、データ形式、データ型、データ長、データ範囲（有効または無効）、データ桁数、データ入力が必須か否か等）等を含む。これらの属性情報に基づいて、テストで入力画面部品への入力のチェックが行われ、属性の範囲内または範囲外等の条件を変えたそれぞれの動作が確認されることになる。
入力操作内容は、少なくとも２つのパラメータを含む。たとえば、パラメータ１は、操作対象を示し、画面のどのテキストボックスかを示す。パラメータ２は入力内容を示し、たとえば、何を入力したかを示す。
【００２５】
ラジオボタンの場合、複数のラジオボタンを１つの入力画面部品とみなす。パラメータ１で、複数のラジオボタンの中から、どれが選択されたかが示される。パラメータ２は使用しなくてよい。
【００２６】
チェックボックスの場合、複数の選択肢に対応する複数のチェックボックスをそれぞれ個別の入力画面部品とする場合と、複数の選択肢に対応する複数のチェックボックスをまとめて１つの入力画面部品とする場合との両方が考えられる。画面上でのチェックボックスの使い方によって、いずれのケースとするかが決まる。たとえば、複数の選択肢のうち、いくつでも選択してよい場合は、前者となり、一方、複数の選択肢のうち、選択数に制限がある場合、後者となる。いずれにしても、チェックボタン毎に、選択されたものがパラメータ１で示される。なお、本明細書で説明したパラメータの定義は一例であり、これらに限定されない。
【００２７】
テストシナリオとは、アプリケーションの動作をテストするために、アプリケーションを利用する際のユーザによる一連の画面操作等をシミュレーションし、その一連の画面操作を定義するものである。テストシナリオとは、具体的なテストデータを伴わない、アプリケーションの動きや画面の遷移の１つの動作パスである。テストシナリオにある１つのテストデータセットに基づいたテストを行うことでテストケースとなる。１つのテストシナリオには、複数のテストケースが存在する。
【００２８】
また、テストケースとは、あるテストシナリオに対し、ある１つのテストデータセットを利用したテストを指す。テストケース毎に具体的な入力テストデータをテストシナリオにインプットすることで得られるべき出力テストデータがそれぞれ存在する。アプリケーションのテストでは、入力テストデータをテストシナリオにインプットして得られた出力がテスト結果を示す。このテスト結果は、テストケースの出力テストデータに基づき、その正否が判定できる。
【００２９】
図２の店舗検索画面１２０を例にすると、テストシナリオは、テキストボックス１２２に店舗名が入力され、検索ボタン１２４が押下されたとき、図３の検索結果画面１３６に遷移することをテストするための一連の画面操作が定義される。この例では、テストシナリオは、図２の店舗検索画面１２０において、テキストボックス１２２に入力された内容を取得し、検索ボタン１２４の押下を検出し、図３の検索結果画面１３６に遷移したか否かを、画面キャプチャを取り、画像を保存する一連の画面操作が定義される。この画面キャプチャにより得られた遷移後の検索結果画面１３６の画像を用いれば、画面内の画像の表示位置のずれやフォーマットの違い等を確認することができる。さらに、他の例では、遷移後の検索結果画面１３６に表示される表示内容、項目、データ（値や文字等）が正しいか否かの確認も、確認および検証してもよい。
【００３０】
また、テストシナリオは、基準テストケース１１２として、たとえば、最もポプュラーな一連の画面操作を定義することができる。その一方で、アプリケーションのテストにおいては、ユーザによって様々な操作が行われた場合や、滅多に行われないような操作について、正常な動作または操作の間違いをユーザに報知する動作がなされることが好ましい。そして、これらの様々なケースについて、アプリケーションの動作テストが行われることが好ましい。また、入力された内容によって動作が変わる場合、異なる動作が全てテストできることが好ましい。
たとえば、上記の例では、テキストボックス１２２に、有効な内容が入力された場合の動作と、無効な内容が入力された場合の動作とが異なるので、両方の動作を確認できる入力を行いテストするのが好ましい。
【００３１】
しかしながら、あらゆるケースに対応する多数のテストケースを作成するとき、必要なテストケースが漏れてしまわないようにするための確認作業にも手間がかかり、コストが高くなってしまうという問題点があった。
そこで、本発明は、基準テストケース１１２から、必要なテストケースを適切な範囲で網羅できる複数の派生テストケース１１４を、効率よく、かつ、精度よく自動的に作成することを目的とする。
【００３２】
本実施形態において、テストケース生成部１０４は、属性情報により示される入力項目の有効入力条件および無効入力条件に基づいて、複数の派生テストケース１１４に設定すべき複数の入力操作内容を決定する。
【００３３】
入力項目の有効入力条件および無効入力条件は、各入力項目の有効なデータ範囲およびその範囲外、有効なデータ型およびそれ以外、または、有効なデータ形式およびそれ以外等の条件を含む。
属性情報により示される入力項目の有効条件および無効条件に基づく入力操作内容の決定方法は、以下に例示されるが、これらに限定されるものではない。また、以下の各条件は、それぞれ矛盾のない範囲で組み合わせることができる。
【００３４】
（ａ）入力項目の属性情報に基づいて、入力操作内容が有効または無効となる境界データ（範囲）を決定し、有効または無効となる境界データ（範囲）の中と、有効となる境界データ（範囲）を境として無効な範囲の中、または、無効となる境界データ（範囲）を境として有効な範囲の中でそれぞれ入力データを入力操作内容として決定する。
【００３５】
（ｂ）入力項目の属性情報に基づいて、入力操作内容の有効または無効な範囲を決定し、有効な範囲と無効な範囲の両方の中でそれぞれ複数の入力データを入力操作内容として決定する。入力項目に、複数の入力候補が存在する場合、有効な範囲として複数の入力候補の中から入力操作内容を決定し、無効な範囲として、複数の入力候補以外の入力操作内容を決定する。上記（ａ）との違いは、入力操作内容に、境界データ（範囲）があるかないかである。
【００３６】
あるアプリケーションでは、入力項目として生年月日を入力させ、中学生であることを判別し、中学生であれば、入会の申込画面へ移行し、中学生でなければ申し込みできない旨を通知する画面に移行するとする。この場合、属性取得部１０２は、画面設計情報から、入力された生年月日を条件として分岐して異なる画面に移行していることを検出する。そして、属性取得部１０２は、現在、中学生となる生年月日の範囲（たとえば、２００１年４月２日〜２００４年４月１日）を有効入力条件（有効範囲）として取得する。
【００３７】
そして、テストケース生成部１０４が、この中学生となる生年月日の範囲（たとえば、２００１年４月２日〜２００４年４月１日）を有効となる境界範囲と決定する。さらに、テストケース生成部１０４は、無効となる範囲を、２００１年４月１日以前と、２００４年４月２日以降と決定する。テストケース生成部１０４は、各範囲の中から、複数の生年月日を選択して入力操作内容（たとえば、２０００年５月２０日、２００１年４月１日、２００１年４月２日、２００３年７月１０日、２００４年４月１日、２００４年４月２日、２００５年１月２５日等）に決定する。上記例のように、境界値と、境界の直近の前後の値と、境界から一定の範囲離れた値と、を組み合わせて複数決定するのが好ましい。
【００３８】
また、入力項目の属性情報として年齢が成人と定義されている場合、入力操作内容が有効となる範囲は、２０才以上と決定され、無効となる範囲は、２０才未満と決定される。入力データとして、有効な範囲内で、２０才、３０才、６０才、無効な範囲内で、１５才、５才等が決定される。
【００３９】
また、別のアプリケーションの例では、１０個のチェックボックスの選択肢から３つまで選択でき、４つ以上選択された場合には警告メッセージを表示するとする。この場合、属性取得部１０２は、画面設計情報から、チェックボックスが４つ以上選択された場合に、警告メッセージの画面に移行していることを検出する。そして、属性取得部１０２は、チェックボックスの選択は３つ以下が、有効範囲であると決定する。そして、テストケース生成部１０４が、境界データとしてチェックボックスの選択数を３に決定し、さらに、有効範囲としてチェックボックスの選択数を３以下、無効範囲として、チェックボックスの選択数を４以上と決定する。そして、テストケース生成部１０４は、チェックボックスの選択数を、境界値の３と、有効範囲の１、２、無効範囲の４、８、１０等に決定する。
【００４０】
（ｃ）上記（ａ）または（ａ）の入力データを、境界範囲内および、有効な範囲または無効な範囲内において乱数でそれぞれ決定する。
（ｄ）入力データを入力しない。たとえば、空の文字列（「""」、「’’」等）としたり、ＮＵＬＬとしたり、入力項目が数値型であれば、０や２５５を入力データとしてもよい。なお、入力項目に入力しないことの表記方法は、プログラム言語等に依存し、様々な定義があるので、ここでは詳細な説明は省略する。本明細書では、入力項目に何も入力されないことを、「入力項目の入力操作内容をＮＵＬＬとする」とする。特に、入力項目の属性情報で、入力が必須であることが定義されている場合、あえて入力がないことをテストするためのテストケースを生成するのが好ましい。
【００４１】
（ｅ）入力項目の属性情報に基づいて、入力データを、入力項目に対応するフィールドデータのデータ型の指定以外のデータとする。
（ｆ）入力項目の属性情報に基づいて、入力項目の入力桁数を、指定範囲内外（外側は大小両方）の値を複数決定する、
上記（ｅ）と（ｆ）を組み合わせた例では、入力項目の属性情報として半角英数字６桁と定義されている場合、入力操作内容が有効となる境界データとして半角英数字６桁が決定され、境界データの前後の半角英数字１〜５桁と７桁以上、あるいは、全角文字、半角カナ文字の無効な範囲の中からそれぞれ入力データが決定される。たとえば、半角英数字６桁、１桁、１０桁、全角文字６桁（さらに、１桁、１０桁を含んでもよい）、半角カナ文字６桁（さらに、１桁、１０桁を含んでもよい）等が入力データに決定される。
【００４２】
（ｇ）互いに関連する複数の入力項目の境界データ（範囲）、または、有効または無効範囲等を組み合わせた入力有効条件および無効入力条件に基づいて、複数組の入力操作内容を決定する。
例として、入力項目として性別と年齢を入力させ、婚姻年齢に到達しているか否かを判定し、婚姻年齢に到達している場合は、登録画面に移行し、到達していない場合は、登録できない旨を通知する画面に移行するアプリケーションについて説明する。この場合、属性取得部１０２は、画面設計情報から、入力された性別と年齢の組み合わせを条件として分岐して異なる画面に移行していることを検出する。そして、属性取得部１０２は、婚姻年齢に到達しているか否かを判別するための有効入力条件として、性別が男性、かつ、年齢が１８才以上であることと、性別が女性で、かつ、年齢が１６才以上であること、を取得する。
【００４３】
そして、テストケース生成部１０４が、有効入力条件を有効範囲に決定し、無効範囲を上記以外に決定する。テストケース生成部１０４は、各範囲内でそれぞれ複数の入力操作内容を決定する。たとえば、テストケース生成部１０４は、性別が男性または女性の場合についてそれぞれ、年齢が、１５才、１６才、１７才、１８才、１９才を入力データとして決定する。
【００４４】
（ｈ）複数の入力項目のうち、少なくともいずれか１つＮＵＬＬとし、ＮＵＬＬとする入力項目を組み合わせた複数組の入力操作内容を決定する。
【００４５】
図４は、本発明の実施の形態に係るアプリケーションテスト支援装置１００を実現するコンピュータ６０のハードウェア構成を示すブロック図である。
本実施形態において、図１のアプリケーションテスト支援装置１００の各構成要素は、図４に示される任意のコンピュータ６０のハードウェアとソフトウェアの任意の組合せによって実現される。コンピュータ６０は、ＣＰＵ（Central Processing Unit）６２、メモリ６４、メモリ６４にロードされた本図の構成要素を実現するプログラム８０、そのプログラム８０を格納するハードディスクなどの記憶ユニット（ストレージ６６：補助記憶装置）、Ｉ／Ｏ（Input/Output）６８、ネットワーク接続用インタフェース（通信Ｉ／Ｆ（InterFace：インタフェース）７０）を備える。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。以下に説明する各機能ブロック図は、ハードウェア単位の構成ではなく、機能単位の論理的なブロックを示している。
また、以下の各図において、本発明の本質に関わらない部分の構成については省略してあり、図示されていない。
【００４６】
本実施形態において、アプリケーションテスト支援装置１００は、たとえば、サーバコンピュータ、パーソナルコンピュータ、またはそれらに相当するコンピュータにより実現することができる。アプリケーションテスト支援装置１００を実現するコンピュータ６０は、たとえば、キーボードやマウス等の入力装置７２、ディスプレイ等の表示装置７４、入力装置７２と表示装置７４が一体となったタッチパネル（不図示）、マイクやスピーカ等の音声入出力装置（不図示）、または、プリンタ等の出力装置（不図示）と接続される。
【００４７】
コンピュータ６０の各要素は、バス６９を介して互いに接続され、ＣＰＵ６２により各要素とともにアプリケーションテスト支援装置１００全体が制御される。コンピュータ６０のＣＰＵ６２が、ストレージ６６に記憶されるプログラム８０をメモリ６４に読み出して実行することにより、アプリケーションテスト支援装置１００の図１の各ユニットの各機能を実現することができる。なお、以下の各実施形態においても同様であり、各実施形態のアプリケーションテスト支援装置の各ユニットの各機能は、コンピュータ６０のＣＰＵ６２が各実施形態に対応するプログラム８０を実行することにより実現される。
【００４８】
本実施形態のコンピュータプログラム８０は、アプリケーションテスト支援装置１００を実現させるためのコンピュータ６０に、アプリケーションの画面上で、入力操作対象となる入力画面部品に対応する入力項目に関する属性情報を、アプリケーションの画面設計情報１１０を元に取得する手順、取得した入力項目に関する属性情報に基づいて、アプリケーションの画面操作を定義するテストシナリオに基づく基準テストケース１１２から、その基準テストケース１１２に設定される入力画面部品への入力操作内容を変化させた、テストシナリオに基づく派生テストケース１１４を生成する手順、を実行させるように記述されている。
【００４９】
本実施形態のコンピュータプログラム８０は、コンピュータ６０で読み取り可能な記録媒体に記録されてもよい。記録媒体は特に限定されず、様々な形態のものが考えられる。また、プログラム８０は、記録媒体からコンピュータ６０のメモリ６４にロードされてもよいし、ネットワーク３を通じてコンピュータ６０にダウンロードされ、メモリ６４にロードされてもよい。または、プログラム８０は、記録媒体からコンピュータ６０のストレージ６６に読み込まれて格納された後、メモリ６４にロードされてもよい。
【００５０】
コンピュータプログラム８０を記録する記録媒体は、非一時的な有形のコンピュータ６０が使用可能な媒体を含み、その媒体に、コンピュータ６０が読み取り可能なプログラムコードが埋め込まれる。コンピュータプログラム８０が、コンピュータ６０上で実行されたとき、コンピュータ６０に、アプリケーションテスト支援装置１００を実現する以下の制御方法を実行させる。
【００５１】
このように構成された本実施形態のアプリケーションテスト支援装置１００のデータ処理方法について、以下説明する。
図５は、本発明の実施の形態に係るアプリケーションテスト支援装置１００のデータ処理方法における処理手順を示すフローチャートである。
本発明の実施の形態に係るアプリケーションテスト支援装置１００のデータ処理方法は、アプリケーションテスト支援装置１００が、アプリケーションの画面上で、入力操作対象となる入力画面部品に対応する入力項目に関する属性情報を、アプリケーションの画面設計情報１１０を元に取得し（ステップＳ１０１）、取得した入力項目に関する属性情報に基づいて、アプリケーションの画面操作を定義するテストシナリオに基づく基準テストケース１１２から、その基準テストケース１１２に設定される入力画面部品への入力操作内容を変化させた、テストシナリオに基づく派生テストケース１１４を生成する（ステップＳ１０３）。
【００５２】
以下、具体例を用いて説明する。
図６は、本発明の実施の形態に係るアプリケーションテスト支援装置１００におけるテストシナリオおよびテストケースを説明するための図である。
図２に示した店舗検索画面１２０のテストを行うためのテストシナリオとテストケースの例が、図６に示されている。
たとえば、図２の店舗検索画面１２０において、店舗名をテキストボックス１２２に入力し、検索ボタン１２４を押下すると、検索結果画面１３６に検索結果が表示されることをテストする場合を例に説明する。
【００５３】
属性取得部１０２が、アプリケーションの店舗検索画面１２０上で、入力操作対象となる入力画面部品（たとえば、テキストボックス１２２、プルダウンメニュー１２８）に対応する入力項目に関する属性情報を、アプリケーションの画面設計情報１１０を元に取得する（ステップＳ１０１）。ここでは、たとえば、店舗検索画面１２０のテキストボックス１２２には、検索しようとする店舗名の少なくとも一部が入力される。テキストボックス１２２に対応する入力項目は、図７に示す店舗情報の店舗名フィールドデータに紐付けられている。店舗名フィールドデータの属性情報として、データ型が文字列型、文字数が全角文字で１〜６文字であることが定義されているとする。また、テキストボックス１２２の属性情報として、受け付け可能な文字列は全角文字で、その文字数が１〜６文字と定義されていてもよい。
【００５４】
属性取得部１０２は、この「店舗名」の入力項目の属性情報（データ型が文字列型、文字数が全角文字１〜６文字）を取得する。
そして、テストケース生成部１０４が、これらの属性情報に基づいて、テキストボックス１２２への入力操作内容を変換させた派生テストケース１１４を生成する（ステップＳ１０３）。図６に示すように、テストケース生成部１０４により、入力が「新宿（該当店舗あり）」である派生テストケース１１４（Test-1-1）と、入力が「東京都新宿３丁目（文字数オーバー）」である派生テストケース１１４（Test-1-2）と、入力が「ＮＵＬＬ」である派生テストケース１１４（Test-1-3）と、入力された結果が該当店舗なしとなる派生テストケース１１４（不図示）と、が生成される。
【００５５】
なお、上記「該当店舗あり」と「該当店舗なし」となる入力内容の決定方法は様々考えられるが、たとえば、テストケース生成部１０４が、検索対象である店舗名フィールドデータを参照して、店舗名に含まれる文字列を任意のレコードから抽出して検索結果が得られる（該当店舗あり）入力内容とし、一方、店舗名が含まれないような、ランダムに文字を並べた文字列を生成して、検索結果が得られない（該当店舗なし）入力内容とすればよい。
【００５６】
そして、テストケース生成部１０４は、派生テストケース１１４毎に、各テストを実行するためのプログラムをそれぞれ生成し、出力する。このようにして生成されたプログラムは、たとえば、図２１の開発装置２０上で動作するウェブサーバ３０上で実行され、テスト結果が出力される。なお、図２１のアプリケーション開発システム１における、これらのテスト動作については、後述する実施形態で詳細に説明する。
【００５７】
以上説明したように、本実施形態のアプリケーションテスト支援装置１００において、属性取得部１０２が、アプリケーションの店舗検索画面１２０上で、入力操作対象となる入力画面部品（たとえば、テキストボックス１２２、プルダウンメニュー１２８）に対応する入力項目に関する属性情報を、アプリケーションの画面設計情報１１０を元に取得し、テストケース生成部１０４が、属性情報に基づいて、テストシナリオに基づく基準テストケース１１２から、その基準テストケース１１２に設定される入力画面部品への入力操作内容を変化させた、テストシナリオに基づく派生テストケース１１４を生成する。
【００５８】
これにより、本実施形態のアプリケーションテスト支援装置１００によれば、画面設計情報から取得した入力項目の属性情報に基づいて、基準テストケース１１２から複数のバリエーションを増やし、複数のテストケースを自動で生成できるので、必要なテストケースを適切な範囲で網羅できる複数の派生テストケース１１４を、効率よく、かつ、精度よく自動的に作成することができる。これにより、テストの品質が向上し、引いてはアプリケーションの品質および信頼性も向上する。
【００５９】
（第１の実施の形態の変形態様１）
第１の実施の形態の変形態様１のアプリケーションテスト支援装置について以下に説明する。
図８は、本実施形態のアプリケーションテスト支援装置における、派生テストケース１１４の生成例を説明するための図である。
本実施形態では、図１のアプリケーションテスト支援装置１００における基準テストケース１１２から派生テストケース１１４を生成する具体的な方法について説明する。本実施形態のアプリケーションテスト支援装置は、図１のアプリケーションテスト支援装置１００と同様な構成を有するので、以下、図１および図８を用いて説明する。
【００６０】
本実施形態のアプリケーションテスト支援装置１００において、テストシナリオ１４０は、入力操作を示す入力操作命令を含む。
テストシナリオ１４０の基準テストケース１１２は、入力操作命令のパラメータとなる、入力操作の対象となる入力画面部品の識別情報（パラメータ１に相当）およびその入力画面部品への入力内容を含む入力操作内容（パラメータ２に相当）を有する。
属性取得部１０２は、入力操作命令のパラメータを基準テストケース１１２から抽出し、抽出されたパラメータにより示される入力画面部品の識別情報および画面設計情報１１０に基づいて、その入力画面部品に対応する入力項目の属性情報を取得する。
テストケース生成部１０４は、取得された属性情報に基づいて、抽出されたパラメータにより示される入力画面部品への入力内容を変化させて、複数の派生テストケース１１４を生成する。
【００６１】
本実施形態において、入力操作を示す複数のコマンドを含むテストシナリオ１４０と、テストシナリオ１４０に基づく基準テストケース１１２は、マイクロソフト社製のエクセル（登録商標）等の表計算ソフトウェアのシート１４２（図８（ａ））に記入することができる。
図８（ａ）の例では、１列目の各行が、上から順に実行される一連のテスト命令を含んでいる。そして、２列目は、各テスト命令の２つのパラメータを上下２つのセルに含んでいて、基準テストケース１１２に相当する。
【００６２】
そして、属性取得部１０２は、テストシナリオ１４０に含まれるテスト命令の中から入力操作命令（type）を検出し、検出された入力操作命令のパラメータ（１４４）を基準テストケース１１２から抽出し、抽出されたパラメータ（１４４）により示される入力画面部品の識別情報（SSS_text_1）および画面設計情報１１０に基づいて、その入力画面部品に対応する入力項目の属性情報を取得する。ここでは、テキストボックス（SSS_text_1）に対応する入力項目の属性情報として、データ型が文字列型（全角文字）、文字数が全角文字で１〜６文字であることを取得する。
なお、テストシナリオ１４０に含まれる入力操作命令は、たとえば、「Type」、「click」または「clickAndWait」等がある。
【００６３】
そして、テストケース生成部１０４は、取得された属性情報に基づいて、抽出されたパラメータにより示される入力画面部品への入力内容を、文字数が２文字（文字制限内）でかつ検索結果で該当店舗が得られる「新宿」と、６文字以上（文字制限超え）の「東京都新宿３丁目」（８文字）と、入力がないケースと、検索結果で該当店舗が得られないケースと、４つに変化させて、少なくとも４つの入力候補を生成する。あるいは、データ型が文字列型（全角文字）以外のたとえば数値型や半角文字等の入力を候補としてさらに生成してもよい。
【００６４】
そして、テストケース生成部１０４は、図８（ａ）のシート１４２の基準テストケース１１２の列を少なくとも４列分複製して増やした後、生成した入力候補を、Typeコマンドのパラメータ２の各列のセル１４６にそれぞれ挿入して、４つの派生テストケース１１４（Test-1-1、Test-1-2、Test-1-3、Test-1-4（不図示））を生成する。図８（ｂ）の例では、１つ目の派生テストケース１１４（Test-1-1）は、基準テストケース１１２をそのものである。
【００６５】
この例のように、派生テストケース１１４に基準テストケース１１２を含めて最終的なテストケースを複数生成してもよい。あるいは、他の例として、派生テストケース１１４に基準テストケース１１２は含まず、最終的な複数のテストケースとして、基準テストケース１１２と派生テストケース１１４をそれぞれ用いる構成としてもよい。
このように、本実施形態では、テストケース生成部１０４は、シート１４２の基準テストケース１１２の列を派生テストケース１１４分、複製して生成し、テスト命令のパラメータをテストケース毎に変更することで、テストケースのバリエーションを簡単に増やすことができる。
【００６６】
このように、本実施形態のアプリケーションテスト支援装置１００において、属性取得部１０２が、入力操作命令のパラメータを基準テストケース１１２から抽出し、抽出されたパラメータにより示される入力画面部品の識別情報および画面設計情報１１０に基づいて、その入力画面部品に対応する入力項目の属性情報を取得し、テストケース生成部１０４が、取得された属性情報に基づいて、抽出されたパラメータにより示される入力画面部品への入力内容を変化させて、複数の派生テストケース１１４を生成する。
【００６７】
これにより、本実施形態のアプリケーションテスト支援装置１００によれば、基準テストケース１１２から、画面設計情報に基づいて複数の派生テストケース１１４を適切な範囲で生成することができるので、作業効率が向上するとともに、テスト内容の品質も向上する。また、シート１４２でテストシナリオ１４０の一連のテスト命令と各パラメータを参照することができるので、テスト内容の確認作業も容易になり、効率が向上するとともに、テスト品質も向上する。テストシナリオのソースコード自体でテスト内容を確認する場合に比べ、テスト内容が直感的に分かりやすい。
【００６８】
（第１の実施の形態の変形態様２）
第１の実施の形態の変形態様２のアプリケーションテスト支援装置について以下に説明する。
図９は、本実施形態のアプリケーションテスト支援装置１５０の構成を論理的に示す機能ブロック図である。
本実施形態のアプリケーションテスト支援装置１５０は、図１のアプリケーションテスト支援装置１００とは、複数の派生テストケース１１４を一覧表示するとともに、変更箇所を区別可能に表示する点で相違する。
図９の本実施形態のアプリケーションテスト支援装置１５０は、図１のアプリケーションテスト支援装置１００と同様な属性取得部１０２およびテストケース生成部１０４に加え、さらに、表示部１５２を備える。
【００６９】
本実施形態のアプリケーションテスト支援装置１５０において、表示部１５２は、基準テストケース１１２の各テスト命令の入力項目と入力操作内容に対応する、複数の派生テストケース１１４の各テスト命令の入力操作内容を対応付けて一覧表示する。
そして、表示部１５２は、複数の派生テストケース１１４において、基準テストケース１１２から変化させた入力項目の入力操作内容を、それぞれ区別可能に表示する。
【００７０】
表示部１５２は、たとえば、図４のコンピュータ６０に接続される表示装置７４に、図１０のシート１４２を表示させることができる。図１０に示すように、表示部１５２は、入力項目の入力操作内容を変更した箇所１５４をそれぞれ他と区別可能に表示する。この例では、破線で囲んでいるが、他の例では、対応するセルの背景色またはセル内の文字の色を他と変えたり、強調文字（ホールド指定、イタリック指定等）にしたりしてもよい。変更箇所が区別可能であれば、特に限定されない。
【００７１】
このように、本実施形態のアプリケーションテスト支援装置１５０によれば、表示部１５２が、派生テストケース１１４を一覧表示するとともに、テストケース生成部１０４により自動的に生成された複数の派生テストケース１１４において、他と変更された箇所を区別可能に表示させるので、派生テストケース１１４において、基準テストケース１１２から変化させた箇所とその差異の内容を分かりやすく表示できる。
【００７２】
（第１の実施の形態の変形態様３）
第１の実施の形態の変形態様３のアプリケーションテスト支援装置について以下に説明する。
図１１は、本実施形態のアプリケーションテスト支援装置１６０の構成を論理的に示す機能ブロック図である。
本実施形態のアプリケーションテスト支援装置１６０は、図１のアプリケーションテスト支援装置１００とは、１つのテストシナリオ１４０から生成された複数の派生テストケース１１４のそれぞれにナンバリング等の所定の規則に従ってテスト名を付与する。
図１１のアプリケーションテスト支援装置１６０は、図１のアプリケーションテスト支援装置１００と同様な構成を有するとともに、さらに、付与部１６２を有する。図１１では、図１のアプリケーションテスト支援装置１００の構成との組み合わせを例として示しているが、図９のアプリケーションテスト支援装置１５０の構成、および他のアプリケーションテスト支援装置の構成と組み合わせることもできる。
【００７３】
本実施形態のアプリケーションテスト支援装置１６０において、付与部１６２は、複数の派生テストケース１１４に、所定の規則に従って、採番、または、テスト名を付与する。
【００７４】
図１０の例では、３つの派生テストケース１１４には、「Test-1」の後に、１、２、３がそれぞれナンバリングされている。
このようにして付与されたテスト名は、テスト用プログラムが生成されたときのプログラムの名称に含めてもよい。
図１０のように、シート１４２の派生テストケース１１４に対応する各列のタイトル行に、付与部１６２がテスト名を記入することができる。
なお、このテスト名は、後述するテスト仕様書またはテスト結果報告書などにそのまま利用することもできる。
【００７５】
このように、本実施形態のアプリケーションテスト支援装置１６０によれば、基準テストケース１１２から派生した複数のテストケースを一連のテストケースとして、テスト名を付与することができるので、複数のテストを体系的に管理しやすくなる。
【００７６】
（第１の実施の形態の変形態様４）
第１の実施の形態の変形態様４のアプリケーションテスト支援装置について以下に説明する。
図１２は、本実施形態のアプリケーションテスト支援装置１７０の構成を論理的に示す機能ブロック図である。
本実施形態のアプリケーションテスト支援装置１７０は、上記実施形態とは、派生テストケース１１４で変更があった箇所１５４の情報を抽出して提示する機能をさらに有する点で相違する。
【００７７】
本実施形態のアプリケーションテスト支援装置１７０は、図１１のアプリケーションテスト支援装置１６０と同様な構成を有するとともに、さらに、抽出部１７２と、表示部１７４と、を備える。
本実施形態のアプリケーションテスト支援装置１７０において、表示部１７４は、図９のアプリケーションテスト支援装置１５０の表示部１５２と同様な機能を備えてもよい。
【００７８】
本実施形態のアプリケーションテスト支援装置１７０において、抽出部１７２は、テストケース生成部１０４により、基準テストケース１１２と各派生テストケース１１４の間で入力画面部品への入力内容を変化させた変更箇所を抽出する。
表示部１７４は、各派生テストケース１１４における変更箇所を表示する。
【００７９】
図１３は、本実施形態のアプリケーションテスト支援装置１７０の表示部１７４により表示される変更箇所一覧の一例を示す図である。
変更箇所一覧１７６は、派生テストケース１１４毎に、付与部１６２により付与されたテスト名と、入力画面部品に対応する入力項目名（「性別」および「年齢」）と、バリエーションにも付与部１６２により採番された番号と同じ番号（「バリエーション１」等）と、各入力項目の入力内容（「男・１７才」等）と、を対応付けて表記する。図に示すように、複数の入力項目の組み合わせの場合、入力項目を（「性別」および「年齢」）「と」で連結し、さらに、「の」で「バリエーション１」等を追記し、さらに、「：」を付してそれ以降に、複数の入力項目の入力内容を「・」で連結して追記して表記する。
なお、図１３の変更箇所一覧１７６の書式は一例であり、これに限定されるものではない。
【００８０】
この変更箇所一覧１７６の内容を参照することで、バリエーションの妥当性を確認しやすく、バリエーションの漏れや余分なものを見つけて追加や削除を行ったり、入力操作内容を変更したりすることも可能になる。これらのテストケースの修正操作は、上記実施形態で説明した、図１０のシート１４２上で簡単に行うことができる。
【００８１】
以上説明したように、本実施形態のアプリケーションテスト支援装置１７０において、抽出部１７２が、基準テストケース１１２と各派生テストケース１１４の間で入力画面部品への入力内容を変化させた変更箇所を抽出し、表示部１７４が各派生テストケース１１４における変更箇所を表示する。
本実施形態のアプリケーションテスト支援装置１７０によれば、複数の派生テストケース１１４におけるバリエーションを一覧で確認でき、必要に応じてテストケースをより適切なものにするために修正を行うこともできる。
【００８２】
（第２の実施の形態）
次に、本発明の第２の実施の形態に係るアプリケーションテスト支援装置およびそのデータ処理方法について、以下説明する。なお、本実施形態のプログラムは、上記実施形態と同様に、アプリケーションテスト支援装置のデータ処理方法を少なくとも１つのコンピュータに実行させるものであり、本実施形態での詳細な説明は省略する。
図１４は、本発明の実施の形態に係るアプリケーションテスト支援装置２００の構成を論理的に示す機能ブロック図である。
本実施形態のアプリケーションテスト支援装置２００は、上記実施形態のいずれかのアプリケーションテスト支援装置により生成された複数のテストケースに従ってアプリケーションの動作テストを実行する点で相違する。
【００８３】
本実施形態のアプリケーションテスト支援装置２００は、図１４の構成要素のみを備える構成とすることもできる。あるいは、他の本発明の実施形態のアプリケーションテスト支援装置の少なくともいずれか１つと組み合わせることもできる。
【００８４】
本実施形態のアプリケーションテスト支援装置２００は、テストシナリオに基づく複数の派生テストケース１１４のそれぞれについて、アプリケーションを動作させてテストを実行するテスト実行部２０２と、テスト実行部２０２により動作させたアプリケーションの画面操作および画面遷移を、テスト結果として記録するテスト結果記録部２０４と、生成された複数の派生テストケース１１４のテストシナリオを元に、画面設計情報１１０を参照して、アプリケーションのテスト仕様書２１２を生成する仕様書生成部２０６と、を備える。
【００８５】
図１５は、本実施形態のアプリケーションテスト支援装置２００によるアプリケーションの動作テストの概要を説明するための図である。
より詳細には、テスト実行部２０２は、上記実施形態で説明した、テストケース生成部１０４により画面設計情報１１０を元に、テストシナリオ１４０に基づく基準テストケース１１２から、複数の派生テストケース１１４を含むテストシナリオ１４０を用いて、テストプログラム２１４を生成する。
【００８６】
本実施形態では、テストシナリオ１４０は、上記実施形態で説明したエクセル（登録商標）ファイル形式であるとする。テスト実行部２０２は、エクセルファイル形式のテストシナリオ１４０に含まれる複数の派生テストケース１１４を、それぞれテストプログラム２１４のソースコードに変換する。
【００８７】
さらに、テスト実行部２０２は、テストプログラム２１４から、端末４０のブラウザ４２でウェブアプリケーション３２の画面操作を再現させるテストドライバ２２０を生成する。本実施形態では、テストドライバ２２０は、オープンソースプログラムのＳｅｌｅｎｉｕｍ等の機能を利用して、Ｊａｖａ（登録商標）の単体テストを自動的に実行するためのオープンソースプログラムのＪｕｎｉｔ等のコードとして生成する。
【００８８】
そして、テスト実行部２０２は、テストドライバ２２０を起動し、バッチ処理で夜間等に複数のテストケースについて、自動で連続してウェブアプリケーション３２の動作テストを実行させる。なお、動作テストの前に、オープンソースプログラムのＤＢＵｎｉｔ等を利用して、テスト用のデータベースデータ（不図示）を作成しておく。
【００８９】
図１４に戻り、テスト結果記録部２０４は、テスト結果記憶部２１０にテスト結果２２２および画面キャプチャ２２４を記録する。
仕様書生成部２０６は、テストシナリオ１４０と画面設計情報１１０に基づいて、テスト仕様書２１２を生成する。これにより、テスト仕様書２１２の作成作業を効率化できるとともに、テストシナリオ１４０とテスト仕様書２１２との乖離を防止できる。
さらに、仕様書生成部２０６は、作成したテスト仕様書２１２に、テスト結果記録部２０４に記録されたテスト結果２２２および画面キャプチャ２２４を挿入することで、テスト結果報告書２２６を生成することもできる。
【００９０】
図１６は、本実施形態のアプリケーションテスト支援装置２００において、テストシナリオ１４０からテスト仕様書２１２を生成する処理を説明するための図である。
本実施形態において、仕様書生成部２０６は、画面設計情報１１０を参照し、テストシナリオ１４０の各テスト命令にコメントを挿入する。たとえば、テキストボックス（SSS_text_1）の入力項目「店舗名」を画面設計情報１１０から取得し、テキストボックスに入力データを入力するテスト命令（Type）の上の行に、「＠店舗名」と挿入する。「＠」を先頭に付すことで、コメントであることを示している。先頭文字は「＠」に限定されず、他の文字または記号でもよい。
また、操作ボタン（SSS_submit_1）の部品名「検索ボタン」を画面設計情報１１０から取得し、操作ボタンの操作を受け付けるテスト命令（clickAndWait）の上の行に、「＠検索ボタン」と挿入する。
【００９１】
このように、仕様書生成部２０６は、予めテストシナリオ１４０の必要な箇所にコメントを挿入しておく。そして、仕様書生成部２０６は、テストシナリオ１４０からテスト仕様書２１２を生成する際に、このコメント（＠マークで始まる部分）を抽出し、各派生テストケース１１４に記載されているテスト命令を、コメントの文字列に置換して、テスト仕様書２１２に記載する。
テストシナリオ１４０は、プログラム言語で記載されているが、仕様書生成部２０６により、コメントを文字列（日本語等の言語表記）で挿入することで、テスト仕様書２１２を生成する際、テストシナリオ１４０のテスト命令をコメントの文字列で表記できる。なお、このコメントの文字列は、設計者が入力してもよいが、属性取得部１０２が画面設計情報１１０から取得して自動的に入力することもできる。
【００９２】
図１７は、本実施形態のアプリケーションテスト支援装置２００で、テスト仕様書２１２を生成するツールの画面の一例を示す図である。
テスト仕様書生成ツールの設定画面２３０は、テスト仕様書２１２により生成されるドキュメントの種類を選択するドキュメント選択部（ラジオボタン）２３２と、テスト仕様書２１２の元になるテストシナリオ１４０の保存フォルダを指定する第１指定欄２３４と、テスト実行時に画面キャプチャの画像ファイルが格納されているフォルダを指定する第２指定欄２３６と、テスト結果が格納されているフォルダを指定する第３指定欄２３８と、テスト仕様書２１２を出力する出力先のフォルダを指定する第４指定欄２４０と、実行ボタン２４２と、終了ボタン２４４と、を含む。
【００９３】
ドキュメント選択部２３２は、生成するドキュメントが、機能テスト仕様書、結合テスト仕様書、ならびに、機能テスト結果報告書、結合テスト結果報告書のいずれかを選択する４つのラジオボタンを含む。
実行ボタン２４２の押下を受け付けると、仕様書生成部２０６は、ドキュメント選択部２３２で選択されたドキュメントの生成を開始する。このとき、各指定欄で指定されたフォルダを参照し、必要な情報を取得し、第４指定欄２４０で指定されたフォルダに格納する。
【００９４】
本実施形態のアプリケーションテスト支援装置２００は、図２１に示すような、アプリケーション開発システム１において、開発装置２０の一部の機能として組み込むことができる。
【００９５】
図２１は、本発明の実施の形態に係るアプリケーションテスト支援装置２００を利用するアプリケーション開発システム１の構成の一例を示すブロック図である。
本実施形態の開発装置２０は、図４で示したコンピュータ６０と同様な構成を有する、サーバコンピュータ、パーソナルコンピュータ、またはそれらに相当するコンピュータにより実現することができる。
【００９６】
本発明の実施の形態に係るアプリケーション開発システム１において、開発装置２０は、端末４０がブラウザ４２を経由してインターネット等のネットワーク３を介して利用する、ウェブサーバ３０で動作するウェブアプリケーション３２の開発を行う装置である。
【００９７】
ウェブアプリケーション３２は、たとえば、端末４０のブラウザ４２上に画面を表示させ、画面上での入力および操作を受け付け、入力操作に基づく処理を実行し、必要に応じてデータベース（ＤＢ：DataBase）２４を参照し、結果得られたデータに基づき形成される画面を端末４０のブラウザ４２上に表示させる。
開発装置２０は、設計情報と、プログラムのソースコード等を設計情報リポジトリ２２に記憶し、これらの情報を元に、仕様書や設計書を作成し、プログラムを生成し、テストを行い、ウェブアプリケーション３２を生成する。
【００９８】
生成されたウェブアプリケーション３２は、たとえば、図２２に示すように、ウェブサーバ３０上で動作し、端末４０（図では、複数の端末４０ａ、４０ｂを示す。特に、区別する必要がない場合は、端末４０と呼ぶ。）にてブラウザ４２経由で利用される。
なお、ブラウザ４２の種類は、特に限定されず、端末４０毎に異なる種類のブラウザ４２を用いてもよい。また、端末４０の種類、たとえば、ＯＳ等の種類も限定されず、異なる種類のＯＳで動作する端末４０が混在してもよい。
【００９９】
図２１および図２２のウェブサーバ３０および端末４０は、図４で示したコンピュータ６０と同様な構成を有する、サーバコンピュータ、パーソナルコンピュータ、またはそれらに相当するコンピュータにより実現することができる。
なお、図では、ウェブアプリケーション３２は、ウェブサーバ３０上にのみ存在するように示されているが、端末４０とウェブサーバ３０とが協働してウェブアプリケーション３２を動作させる。
【０１００】
具体的には、端末４０のブラウザ４２からインターネット等のネットワーク３を介してウェブサーバ３０のウェブページを表示させた時、ウェブアプリケーション３２に含まれる一部のプログラムが端末４０にダウンロードされる。この一部のプログラムは、ブラウザ４２上で動作する、Ｊａｖａ（登録商標）言語等のプログラミング言語で記述される。そして、その一部のプログラムが、端末４０のブラウザ４２上で、ウェブサーバ３０上のウェブアプリケーション３２と協働して動作する。
【０１０１】
端末４０からブラウザ４２経由で利用されるウェブアプリケーション３２のウェブサーバ３０上で動作等は公知であり、本発明の本質に関わらないので詳細な説明は省略する。
開発装置２０で開発されたウェブアプリケーション３２は、テストされた後、実機のウェブサーバ３０に配備され、利用することができる。
【０１０２】
本発明において、ウェブアプリケーション３２は、業務用アプリケーションを含むことができる。業務アプリケーションとは、企業の情報システムにおいて、企業活動の業務内容と直接関連のある販売、在庫管理、受注、流通、経費管理、資金管理、人財管理、書類管理などの情報処理やサービスを扱うシステムを実現するアプリケーションプログラムである。
【０１０３】
このように構成された本実施形態のアプリケーションテスト支援装置２００のデータ処理方法について、以下説明する。
図１８は、本発明の実施の形態に係るアプリケーションテスト支援装置２００のデータ処理方法における処理手順を示すフローチャートである。
本発明の実施の形態に係るアプリケーションテスト支援装置２００のデータ処理方法は、アプリケーションテスト支援装置２００が、テストシナリオに基づく複数の派生テストケース１１４のそれぞれについて、アプリケーションを動作させてテストを実行し、動作させたアプリケーションの画面操作および画面遷移を、テスト結果として記録し（ステップＳ２０７）、生成された複数の派生テストケース１１４のテストシナリオを元に、画面設計情報１１０を参照して、アプリケーションのテスト仕様書２１２を生成する（ステップＳ２１２）。
【０１０４】
以下、図１８および図１５を用いて詳細に説明する。
上記実施形態で説明したように、まず、テストケース生成部１０４により画面設計情報１１０を元に、テストシナリオ１４０に基づく基準テストケース１１２から、複数の派生テストケース１１４を含むテストシナリオ１４０が生成されているものとする（図５のステップＳ１０３）。ここでは、テストシナリオ１４０は、上記実施形態で説明したエクセル（登録商標）ファイル形式であるとする。
【０１０５】
そして、本実施形態のアプリケーションテスト支援装置２００において、テスト実行部２０２により、このエクセルファイル形式のテストシナリオ１４０に含まれる複数の派生テストケース１１４が、それぞれテストプログラム２１４のソースコードに変換される（ステップＳ２０１）。さらに、テスト実行部２０２により、このテストプログラム２１４から、テストドライバ２２０が生成される（ステップＳ２０３）。
【０１０６】
本実施形態では、テスト実行部２０２により、テストドライバ２２０が起動され、テストドライバ２２０によりバッチ処理で夜間等に複数のテストケースについて、自動で連続してウェブアプリケーション３２の動作テストが実行される（ステップＳ２０５）。そして、ウェブアプリケーション３２のテスト結果２２２とともに、テストシナリオ１４０に含まれる画面キャプチャコマンドにより、複数の画面キャプチャ２２４の画像ファイルが出力され、テスト結果記録部２０４により、テスト結果２２２と画面キャプチャ２２４が、テスト結果記憶部２１０に記録される（ステップＳ２０７）。
【０１０７】
一方、アプリケーションテスト支援装置２００において、仕様書生成部２０６により、画面設計情報１１０およびテストシナリオ１４０を元にテスト仕様書２１２が生成される（ステップＳ２０９）。さらに、仕様書生成部２０６により、テスト結果記録部２０４により記録されたテスト結果２２２および画面キャプチャ２２４が、テスト仕様書２１２に追記され、テスト結果報告書２２６が生成される（ステップＳ２１１）。
【０１０８】
図１８のフローチャートの各ステップの処理は、必ずしも、続けて行われなくてもよい。また、処理の順序もこれに限定されない。特に、ステップＳ２０９のテスト仕様書２１２の生成処理は、図５のステップＳ２０３でテストシナリオ１４０が生成された後、ステップＳ２０５で動作テストを実行する前であってもよい。
【０１０９】
以上説明したように、本実施形態のアプリケーションテスト支援装置２００において、テスト実行部２０２が、テストシナリオに基づく複数の派生テストケース１１４のそれぞれについて、アプリケーションを動作させてテストを実行し、テスト結果記録部２０４が、動作させたアプリケーションの画面操作および画面遷移を、テスト結果として記録し、仕様書生成部２０６が、生成された複数の派生テストケース１１４のテストシナリオを元に、画面設計情報１１０を参照して、アプリケーションのテスト仕様書２１２を生成する。
【０１１０】
これにより、本実施形態のアプリケーションテスト支援装置２００によれば、テストシナリオ１４０からテスト仕様書２１２等のドキュメントを自動的に生成できるので、アジャイル開発時にありがちなドキュメントと実際のプログラムとの不整合がなく、ドキュメントの信頼性が向上する。また、アプリケーションテスト支援装置２００により画面設計情報１１０を元に生成されたテストシナリオ１４０に従って実行されたテスト結果をテスト仕様書２１２に追記してテスト結果報告書２２６を自動的に生成できるので、ドキュメント作成作業を効率よくかつ精度よく行うことができる。
【０１１１】
（第３の実施の形態）
次に、本発明の第３の実施の形態に係るアプリケーションテスト支援装置について、以下説明する。なお、本実施形態のデータ処理方法は、上記実施形態と同様に、アプリケーションテスト支援装置のデータ処理方法であり、本実施形態での詳細な説明は省略する。また、本実施形態のプログラムは、上記実施形態と同様に、アプリケーションテスト支援装置のデータ処理方法を少なくとも１つのコンピュータに実行させるものであり、本実施形態での詳細な説明は省略する。
図１９は、本発明の実施の形態に係るアプリケーションテスト支援装置３００の構成を論理的に示す機能ブロック図である。
本実施形態のアプリケーションテスト支援装置３００は、上記実施形態の各アプリケーションテスト支援装置とは、テストシナリオ１４０をＳｅｌｅｎｉｕｍ等の機能を利用して生成する点で相違する。
【０１１２】
本実施形態のアプリケーションテスト支援装置３００は、図１９の構成要素のみを備える構成とすることもできる。あるいは、他の本発明の実施形態のアプリケーションテスト支援装置の少なくともいずれか１つと組み合わせることもできる。
【０１１３】
本実施形態のアプリケーションテスト支援装置３００は、動作するアプリケーションにおける、画面操作および当該画面操作に対応する画面遷移を記録する録画部３０２と、録画部３０２により記録された画面操作および画面遷移に基づいて、テストシナリオを生成するテストシナリオ生成部３０４と、を備える。
録画部３０２は、動作するアプリケーションの少なくとも１つの画面上で、一連の画面操作を受け付けて、当該一連の画面操作、および当該一連の画面操作に対応する画面遷移を記録する。
テストシナリオ生成部３０４は、録画部３０２により記録された画面操作および画面遷移を示すテスト命令にそれぞれ変換し、一連の画面操作に対応する、変換された複数のテスト命令を含む一連のテスト命令を、テストシナリオに基づく基準テストケースとして生成する。
テストシナリオ生成部３０４により生成されたテストシナリオに基づく基準テストケースに含まれる一連のテスト命令は、入力画面部品に対応する入力項目の情報および入力画面部品への入力操作内容をそれぞれ含む。
【０１１４】
本実施形態では、録画部３０２は、Ｓｅｌｅｎｉｕｍの機能を用いて実現することができる。
図２１の端末４０でブラウザ４２を経由してウェブアプリケーション３２を動作させ、操作した結果（一連の画面操作および画面遷移）を、録画部３０２が記録する。たとえば、上記実施形態では、テスト命令に含まれていなかったが、画面を開くコマンド「open」等の画面操作もテストシナリオに含めることができる。
【０１１５】
そして、テストシナリオ生成部３０４が、画面操作および画面遷移を示すテスト命令にそれぞれ変換し、一連の画面操作に対応する、変換された複数のテスト命令を含む一連のテスト命令を、テストシナリオに基づく基準テストケースとして生成する。
上記実施形態で説明したように、このようにして生成されたテストシナリオに基づく基準テストケース１１２を元に、派生テストケース１１４を増やし、テストプログラムを生成することができる。このとき、各テストケースの編集もシート１４２上で簡単に行うこともできる。
【０１１６】
図２０は、本実施形態のアプリケーションテスト支援装置３００のテストシナリオ生成部３０４を実現するテストケース生成ツールの一例を示す図である。
たとえば、図６や図８で説明したようなエクセル（登録商標）のシート１４２上にテストケース生成ツール３１０を含んでもよい。
【０１１７】
テストケース生成ツール３１０は、入力ファイル指定欄３１２と、出力先フォルダ指定欄３１４と、読込ボタン３１６と、作成ボタン３１８と、保存ボタン３２０と、を有する。
入力ファイル指定欄３１２は、シート１４２に読み込むテストシナリオの元となるＳｅｌｅｎｉｕｍによって録画されたテストシナリオに基づく基準テストケース１１２のコードが記載されたファイルの指定を受け付ける。テストシナリオ生成部３０４は、読込ボタン３１６の押下を受け付けると、入力ファイル指定欄３１２で指定されたファイルを読み込み、図８（ａ）のように、シート１４２上にテストシナリオ１４０に基づく基準テストケース１１２を展開する。
このとき、テストシナリオ生成部３０４は、録画されたテストシナリオの一連のコマンドをシート１４２の１列目の各行に順番に取り込み、さらに、コマンドのパラメータをそれぞれ２列目の対応する行の各セルに取り込む。
【０１１８】
出力先フォルダ指定欄３１４は、各テストケースのテストプログラム２１４を出力するフォルダの指定を受け付ける。
テストシナリオ生成部３０４は、作成ボタン３１８の押下を受け付けると、図８（ｂ）のように、シート１４２に複数の派生テストケース１１４を生成する。この状態でシート１４２上、ユーザは、必要に応じてテスト命令を追加したり（後述する）、パラメータを変更して、テストケースを編集することもできる。
保存ボタン３２０の押下を受け付けると、生成された派生テストケース１１４からテストプログラムを生成して、出力先フォルダ指定欄３１４で指定されたフォルダに保存する。
【０１１９】
本実施形態のアプリケーションテスト支援装置３００において、録画部３０２が、動作するアプリケーションの少なくとも１つの画面上で、一連の画面操作を受け付けて、当該一連の画面操作、および当該一連の画面操作に対応する画面遷移を記録し、テストシナリオ生成部３０４が、画面操作および画面遷移を示すテスト命令にそれぞれ変換し、一連の画面操作に対応する、変換された複数のテスト命令を含む一連のテスト命令を、テストシナリオに基づく基準テストケースとして生成する。
これにより、本実施形態のアプリケーションテスト支援装置３００によれば、テスト対象となるアプリケーションを動作させてテストシナリオに基づく基準テストケース１１２を簡単に生成でき、さらに、派生テストケース１１４を生成することができる。
【０１２０】
（第３の実施の形態の変形態様）
第３の実施の形態の変形態様のアプリケーションテスト支援装置について以下に説明する。
本実施形態のアプリケーションテスト支援装置は、上記実施形態により生成されるテストシナリオにさらにテスト命令を追加する機能を有する。
本実施形態のアプリケーションテスト支援装置は、複数種のテスト命令から選択されるテスト命令を、テストシナリオの一連のテスト命令の任意の箇所に挿入する指示を受け付ける追加命令受付部（不図示）をさらに備える。
追加命令受付部が、動作するアプリケーションの画面を記録する指示のテスト命令、および、入力操作内容の正誤を確認する指示のテスト命令の少なくともいずれか１つを受け付ける。
テストシナリオ生成部３０４が、受け付けたテスト命令をテストシナリオの一連のテスト命令の前記任意の箇所に挿入し、テストシナリオを更新する。
【０１２１】
たとえば、Ｓｅｌｅｎｉｕｍのコマンドである、入力操作内容を確認する「assert（アサート）」や、「verify（検証）」等や、画面キャプチャを取る「capture」等を任意の箇所に挿入することができる。
【０１２２】
この構成によれば、より高機能なテストシナリオを簡単な操作で生成することができる。
【０１２３】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
たとえば、上記実施形態のいずれかのアプリケーションテスト支援装置において、テスト対象のアプリケーションの設計書に、予めテストケースとして想定される入力操作内容を、所定の項目として記載し、画面設計情報１１０とリンクさせておくこともできる。図２３に示すように、入力項目の情報４１０として、名称（入力項目名４１２）、変数名（Name４１４）、データ形式（形式４１６）、入力条件４１８（必須か否か）、入力許容範囲条件（範囲４２０）、およびテスト候補データ（テスト候補４２２）を含むことができる。
この構成によれば、設計時にテスト候補データを指定することができるので、より設計思想に沿った適切なテストケースを自動的に生成することが可能になる。
【０１２４】
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
なお、本発明において利用者に関する情報を取得、利用する場合は、これを適法に行うものとする。
【０１２５】
以下、参考形態の例を付記する。
１．  アプリケーションテスト支援装置が、
アプリケーションの画面上で、入力操作対象となる入力画面部品に対応する入力項目に関する属性情報を、前記アプリケーションの画面設計情報を元に取得し、
取得した前記入力項目に関する属性情報に基づいて、前記アプリケーションの画面操作を定義するテストシナリオに基づく基準テストケースから、その基準テストケースに設定される前記入力画面部品への入力操作内容を変化させた、前記テストシナリオに基づく派生テストケースを生成する、
アプリケーションテスト支援装置のデータ処理方法。
２．  １．に記載のアプリケーションテスト支援装置のデータ処理方法において、
前記アプリケーションテスト支援装置が、
前記派生テストケースを生成する際、前記属性情報により示される入力項目の有効入力条件および無効入力条件に基づいて、複数の派生テストケースに設定すべき複数の入力操作内容を決定する、
アプリケーションテスト支援装置のデータ処理方法。
３．  １．または２．に記載のアプリケーションテスト支援装置のデータ処理方法において、
前記テストシナリオは、入力操作を示す入力操作命令を含み、
前記テストシナリオの前記基準テストケースは、前記入力操作命令のパラメータとなる、前記入力操作の対象となる入力画面部品の識別情報およびその入力画面部品への入力内容を含む前記入力操作内容を有し、
前記アプリケーションテスト支援装置が、
入力操作命令のパラメータを前記基準テストケースから抽出し、抽出されたパラメータにより示される入力画面部品の識別情報および前記画面設計情報に基づいて、その入力画面部品に対応する入力項目の属性情報を取得し、
前記取得された属性情報に基づいて、前記抽出されたパラメータにより示される前記入力画面部品への入力内容を変化させて、複数の派生テストケースを生成する、
アプリケーションテスト支援装置のデータ処理方法。
４．  １．乃至３．いずれか一つに記載のアプリケーションテスト装置のデータ処理方法において、
前記アプリケーションテスト支援装置が、
前記基準テストケースの各テスト命令の前記入力項目と前記入力操作内容に対応する、複数の前記派生テストケースの前記各テスト命令の前記入力操作内容を対応付けて一覧表示し、
前記一覧表示する際、複数の前記派生テストケースにおいて、前記基準テストケースから変化させた前記入力項目の前記入力操作内容を、それぞれ区別可能に表示する、
アプリケーションテスト支援装置のデータ処理方法。
５．  １．乃至４いずれか一つに記載のアプリケーションテスト支援装置のデータ処理方法において、
前記アプリケーションテスト支援装置が、
複数の前記派生テストケースに、所定の規則に従って、採番、または、テスト名を付与する、
アプリケーションテスト支援装置のデータ処理方法。
６．  １．乃至５．いずれか一つに記載のアプリケーションテスト支援装置のデータ処理方法において、
前記アプリケーションテスト支援装置が、
前記テストシナリオに基づく複数の前記派生テストケースのそれぞれについて、前記アプリケーションを動作させてテストを実行し、
前記テストを実行して動作させた前記アプリケーションの前記画面操作および画面遷移を、テスト結果として記録し、
生成された複数の前記派生テストケースの前記テストシナリオを元に、前記画面設計情報を参照して、前記アプリケーションのテスト仕様書を生成する、
アプリケーションテスト支援装置のデータ処理方法。
７．  １．乃至６．いずれか一つに記載のアプリケーションテスト支援装置のデータ処理方法において、
前記アプリケーションテスト支援装置が、
動作する前記アプリケーションにおける、画面操作および当該画面操作に対応する画面遷移を記録し、
記録された前記画面操作および前記画面遷移に基づいて、前記テストシナリオを生成し、
前記動作するアプリケーションの少なくとも１つの画面上で、一連の画面操作を受け付けて、当該一連の画面操作、および当該一連の画面操作に対応する画面遷移を記録し、
記録された前記画面操作および前記画面遷移を示すテスト命令にそれぞれ変換し、前記一連の画面操作に対応する、変換された複数のテスト命令を含む一連のテスト命令を、前記テストシナリオに基づく前記基準テストケースとして生成し、
生成された前記テストシナリオに基づく前記基準テストケースに含まれる前記一連のテスト命令は、前記入力画面部品に対応する前記入力項目の情報および前記入力画面部品への前記入力操作内容をそれぞれ含む、
アプリケーションテスト支援装置のデータ処理方法。
【０１２６】
８．  コンピュータに、
アプリケーションの画面上で、入力操作対象となる入力画面部品に対応する入力項目に関する属性情報を、前記アプリケーションの画面設計情報を元に取得する手順、
取得した前記入力項目に関する属性情報に基づいて、前記アプリケーションの画面操作を定義するテストシナリオに基づく基準テストケースから、その基準テストケースに設定される前記入力画面部品への入力操作内容を変化させた、前記テストシナリオに基づく派生テストケースを生成する手順、
を実行させるためのプログラム。
９．  ８．に記載のプログラムにおいて、
前記派生テストケースを生成する手順において、前記属性情報により示される入力項目の有効入力条件および無効入力条件に基づいて、複数の派生テストケースに設定すべき複数の入力操作内容を決定する手順をコンピュータに実行させるためのプログラム。
１０．  ８．または９．に記載のプログラムにおいて、
前記テストシナリオは、入力操作を示す入力操作命令を含み、
前記テストシナリオの前記基準テストケースは、前記入力操作命令のパラメータとなる、前記入力操作の対象となる入力画面部品の識別情報およびその入力画面部品への入力内容を含む前記入力操作内容を有し、
入力操作命令のパラメータを前記基準テストケースから抽出し、抽出されたパラメータにより示される入力画面部品の識別情報および前記画面設計情報に基づいて、その入力画面部品に対応する入力項目の属性情報を取得する手順、
前記取得された属性情報に基づいて、前記抽出されたパラメータにより示される前記入力画面部品への入力内容を変化させて、複数の派生テストケースを生成する手順、
をコンピュータに実行させるためのプログラム。
１１．  ８．乃至１０．いずれか一つに記載のプログラムにおいて、
前記基準テストケースの各テスト命令の前記入力項目と前記入力操作内容に対応する、複数の前記派生テストケースの前記各テスト命令の前記入力操作内容を対応付けて一覧表示する手順、
前記一覧表示する手順において、複数の前記派生テストケースにおいて、前記基準テストケースから変化させた前記入力項目の前記入力操作内容を、それぞれ区別可能に表示する手順、
をコンピュータに実行させるためのプログラム。
１２．  ８．乃至１１．いずれか一つに記載のプログラムにおいて、
複数の前記派生テストケースに、所定の規則に従って、採番、または、テスト名を付与する手順、
をコンピュータに実行させるためのプログラム。
１３．  ８．乃至１２．いずれか一つに記載のプログラムにおいて、
前記テストシナリオに基づく複数の前記派生テストケースのそれぞれについて、前記アプリケーションを動作させてテストを実行する手順、
前記テストを実行する手順により動作させた前記アプリケーションの前記画面操作および画面遷移を、テスト結果として記録する手順、
生成された複数の前記派生テストケースの前記テストシナリオを元に、前記画面設計情報を参照して、前記アプリケーションのテスト仕様書を生成する手順、
をコンピュータに実行させるためのプログラム。
１４．  ８．乃至１３．いずれか一つに記載のプログラムにおいて、
動作する前記アプリケーションにおける、画面操作および当該画面操作に対応する画面遷移を記録する手順、
前記画面遷移を記録する手順により記録された前記画面操作および前記画面遷移に基づいて、前記テストシナリオを生成する手順、
前記動作するアプリケーションの少なくとも１つの画面上で、一連の画面操作を受け付けて、当該一連の画面操作、および当該一連の画面操作に対応する画面遷移を記録する手順、
前記画面遷移を記録する手順により記録された前記画面操作および前記画面遷移を示すテスト命令にそれぞれ変換し、前記一連の画面操作に対応する、変換された複数のテスト命令を含む一連のテスト命令を、前記テストシナリオに基づく前記基準テストケースとして生成する手順、をコンピュータに実行させ、
前記基準テストケースを生成する手順により生成された前記テストシナリオに基づく前記基準テストケースに含まれる前記一連のテスト命令は、前記入力画面部品に対応する前記入力項目の情報および前記入力画面部品への前記入力操作内容をそれぞれ含む、プログラム。
【符号の説明】
【０１２７】
１  アプリケーション開発システム
３  ネットワーク
２０  開発装置
２２  設計情報リポジトリ
３０  ウェブサーバ
３２  ウェブアプリケーション
４０  端末
４２  ブラウザ
６０  コンピュータ
６２  ＣＰＵ
６４  メモリ
６６  ストレージ
６９  バス
７２  入力装置
７４  表示装置
８０  プログラム
１００  アプリケーションテスト支援装置
１０２  属性取得部
１０４  テストケース生成部
１１０  画面設計情報
１１２  基準テストケース
１１４  派生テストケース
１２０  店舗検索画面
１２２  テキストボックス
１２４  検索ボタン
１２８  プルダウンメニュー
１３０  検索ボタン
１３４  検索ＮＧ画面
１３６  検索結果画面
１３８  詳細検索画面
１４０  テストシナリオ
１４２  シート
１４６  セル
１５０  アプリケーションテスト支援装置
１５２  表示部
１６０  アプリケーションテスト支援装置
１６２  付与部
１７０  アプリケーションテスト支援装置
１７２  抽出部
１７４  表示部
１７６  変更箇所一覧
２００  アプリケーションテスト支援装置
２０２  テスト実行部
２０４  テスト結果記録部
２０６  仕様書生成部
２１０  テスト結果記憶部
２１２  テスト仕様書
２１４  テストプログラム
２２０  テストドライバ
２２２  テスト結果
２２４  画面キャプチャ
２２６  テスト結果報告書
２３０  設定画面
２３２  ドキュメント選択部
２３４  第１指定欄
２３６  第２指定欄
２３８  第３指定欄
２４０  第４指定欄
２４２  実行ボタン
２４４  終了ボタン
３００  アプリケーションテスト支援装置
３０２  録画部
３０４  テストシナリオ生成部
３１０  テストケース生成ツール
３１２  入力ファイル指定欄
３１４  出力先フォルダ指定欄
３１６  読込ボタン
３１８  作成ボタン
３２０  保存ボタン
【図１】
2019021341.tif 000003
【図２】
2019021341.tif 000004
【図３】
2019021341.tif 000005
【図４】
2019021341.tif 000006
【図５】
2019021341.tif 000007
【図６】
2019021341.tif 000008
【図７】
2019021341.tif 000009
【図８】
2019021341.tif 000010
【図９】
2019021341.tif 000011
【図１０】
2019021341.tif 000012
【図１１】
2019021341.tif 000013
【図１２】
2019021341.tif 000014
【図１３】
2019021341.tif 000015
【図１４】
2019021341.tif 000016
【図１５】
2019021341.tif 000017
【図１６】
2019021341.tif 000018
【図１７】
2019021341.tif 000019
【図１８】
2019021341.tif 000020
【図１９】
2019021341.tif 000021
【図２０】
2019021341.tif 000022
【図２１】
2019021341.tif 000023
【図２２】
2019021341.tif 000024
【図２３】
2019021341.tif 000025