(57)【要約】      （修正有）【課題】テストの手順を設定する際のユーザの手間を削減するプラットフォームを提供する。【解決手段】テストプラットフォーム２では、ユーザは自動生成ツール４を用いてテストの仕様書を作成し、作成された仕様書は、自動的にテスト実行のためのテストスクリプトに変換される。管理ツール６は、テスト実行の管理とテスト資産の管理とを行う。テスト実行の管理はいつでもどこでも行うことができ、テスト実行の進捗の管理も行われる。管理されるテスト資産は、テスト仕様書とテストスクリプトと証跡とを含む。自動テストツール８はテストスクリプトに基づき自動的に打鍵し、その証跡を収集する。【選択図】図１
2020017073.tif 000002
【特許請求の範囲】
【請求項１】
テスト対象の画面に含まれる項目を人に認識させるための項目論理名を用いて規定されたテストの手順を受け付けるテスト手順受付手段と、
項目論理名に対応する項目をコンピュータに認識させるための項目物理名を含む、テスト対象の画面のリポジトリ情報を受け付けるリポジトリ受付手段と、
受け付けられたテストの手順と受け付けられたリポジトリ情報とに基づいてテストを実行するためのスクリプトを生成する生成手段と、を備えるテスト管理サーバ。
【請求項２】
前記生成手段は、リポジトリ情報を参照することで、テストの手順で用いられている項目論理名を対応する項目物理名に変換する請求項１に記載のテスト管理サーバ。
【請求項３】
前記テスト手順受付手段は、ユーザが入力したテストの手順を取得し、
前記リポジトリ受付手段は、テスト対象の画面を取得して解析することで当該画面のリポジトリ情報を取得する請求項１または２に記載のテスト管理サーバ。
【請求項４】
テストの手順は操作結果の検証を含み、
前記テスト管理サーバはさらに、検証の結果をユーザに提供する提供手段を備える請求項１から３のいずれか一項に記載のテスト管理サーバ。
【請求項５】
ユーザ入力に基づいて、ネットワーク上のリソースに対するテストを行うためのスクリプトを生成するテスト管理サーバと、
前記テスト管理サーバによって生成されたスクリプトを実行するクライアントと、
スクリプトの実行により生じたデータを取得し、取得されたデータと予め設定される期待データとを比較するファイルサーバと、を備え、
前記テスト管理サーバは、前記ファイルサーバにおける比較結果をユーザに提供するシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テスト管理サーバおよびシステムに関する。
【背景技術】
【０００２】
ウェブサービスやアプリケーションの開発では、通常、出来上がったシステムが実際にどう動くかや、期待通りの振る舞いを示すかを確かめるテストが繰り返し行われる。システムに対してユーザが行いうる操作は膨大であり、そのそれぞれを人手でテストするのは効率的でも現実的でもない。したがって、テストの自動化が進められている。
【０００３】
例えば、特許文献１には、操作に伴う画面表示の動作テストを行う自動テストツールが開示されている。特許文献１では、テスト結果の画像が比較可能に表示される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−０３８１６２号公報
【特許文献２】特開２００３−０５８３７０号公報
【非特許文献】
【０００５】
【非特許文献１】https://software.microfocus.com/ja-jp/solutions/software-development-lifecycle、２０１８年７月９日検索
【非特許文献２】https://software.microfocus.com/ja-jp/products/unified-functional-automated-testing/overview、２０１８年７月９日検索
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の技術では、テストケースを登録する際にユーザが実際にテストに係る操作、例えばボタンの押下等、を行う必要がある。このようなテストケースの登録はユーザにとって手間であり、ユーザ利便性が高いとは言えない。
【０００７】
本発明はこうした課題に鑑みてなされたものであり、その目的は、テストの手順を設定する際のユーザの手間を削減することができる技術の提供にある。
【課題を解決するための手段】
【０００８】
本発明のある態様は、テスト管理サーバに関する。このテスト管理サーバは、テスト対象の画面に含まれる項目を人に認識させるための項目論理名を用いて規定されたテストの手順を受け付けるテスト手順受付手段と、項目論理名に対応する項目をコンピュータに認識させるための項目物理名を含む、テスト対象の画面のリポジトリ情報を受け付けるリポジトリ受付手段と、受け付けられたテストの手順と受け付けられたリポジトリ情報とに基づいてテストを実行するためのスクリプトを生成する生成手段と、を備える。
【０００９】
本発明の別の態様は、システムである。このシステムは、ユーザ入力に基づいて、ネットワーク上のリソースに対するテストを行うためのスクリプトを生成するテスト管理サーバと、テスト管理サーバによって生成されたスクリプトを実行するクライアントと、スクリプトの実行により生じたデータを取得し、取得されたデータと予め設定される期待データとを比較するファイルサーバと、を備える。テスト管理サーバは、ファイルサーバにおける比較結果をユーザに提供する。
【００１０】
なお、以上の構成要素の任意の組み合わせや、本発明の構成要素や表現を装置、方法、システム、コンピュータプログラム、コンピュータプログラムを格納した記録媒体などの間で相互に置換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１１】
本発明によれば、テストの手順を設定する際のユーザの手間を削減することができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態に係るテストプラットフォームの概要を示す模式図である。
【図２】実施の形態に係るテストプラットフォームの構成を示す模式図である。
【図３】図２のテスト管理サーバにおけるテストスクリプトの自動生成処理およびその管理を説明するための模式図である。
【図４】テストケース（サマリ）の入力画面の一部の代表画面図である。
【図５】テストケース（詳細版）の入力画面の一部の代表画面図である。
【図６】リポジトリ情報を説明するための模式図である。
【図７】図２のテスト管理サーバのハードウエア構成図である。
【図８】図２のテスト管理サーバの機能および構成を示すブロック図である。
【図９】図２のテスト管理サーバのディスプレイに表示されるテスト管理画面の代表画面図である。
【図１０】図２のテスト管理サーバのディスプレイに表示されるスクリプト表示画面の代表画面図である。
【図１１】図２のテスト管理サーバのディスプレイに表示されるテスト実行画面の代表画面図である。
【図１２】図２のテスト管理サーバのディスプレイに表示される実行詳細指定画面の代表画面図である。
【図１３】図２のテスト管理サーバのディスプレイに表示されるテスト結果画面の代表画面図である。
【図１４】図２のテスト管理サーバのディスプレイに表示される検証結果通知画面の代表画面図である。
【図１５】図２のテスト管理サーバにおける一連の処理の流れを示すフローチャートである。
【図１６】第１変形例に係るテストプラットフォームの構成を示す模式図である。
【図１７】第２変形例に係るテストプラットフォームの構成を示す模式図である。
【発明を実施するための形態】
【００１３】
以下、各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、各図面において説明上重要ではない部材の一部は省略して表示する。
【００１４】
図１は、実施の形態に係るテストプラットフォーム２の概要を示す模式図である。テストプラットフォーム２は、テストの自動化準備からテスト実施・管理まで、テスト工程の効率化をサポートする。テストプラットフォーム２では、自動生成ツール４を用いてテストの自動化準備を行う。具体的には、ユーザは自動生成ツール４を用いてテストの仕様書を作成する。作成された仕様書は、自動生成ツール４によって自動的にテスト実行のためのテストスクリプトに変換される。
【００１５】
管理ツール６はテスト実行の管理とテスト資産の管理とを行う。管理ツール６は、例えばＡＬＭ（Application Lifecycle Management）（非特許文献１参照）を用いて実現されてもよい。テスト実行の管理はいつでもどこでも行うことができ、テスト実行の進捗の管理も行われる。管理されるテスト資産は、テスト仕様書とテストスクリプトと証跡とを含む。
【００１６】
自動テストツール８はテストを実施する（打鍵・検証）。自動テストツール８は、例えばＵＦＴ（Unified Functional Testing）（非特許文献２参照）を用いて実現されてもよい。自動テストツール８はテストスクリプトに基づき自動的に打鍵し、その証跡を収集する。自動テストツール８は、本実施の形態に係る手法により検証を効率化する。
【００１７】
図２は、実施の形態に係るテストプラットフォーム２の構成を示す模式図である。テストプラットフォーム２は、テスト管理サーバ１０と、クライアント１２と、テスト対象１４と、ファイルサーバ１６と、を備える。テスト管理サーバ１０はテスト担当者１８とのインタフェースとして機能する。各構成要素はインターネットなどのネットワーク（不図示）を介して互いに通信可能に接続される。テスト管理サーバ１０は、テスト担当者１８の入力に基づいて、ネットワーク上のリソース（ＵＲＬ（Uniform Resource Locator）で指定されるデータや画面など）に対するテストを行うためのテストスクリプト２０および投入データ２２を生成し、保持しておく。なお、本実施の形態ではテスト管理サーバ１０がテストウエアの管理機能とスクリプトの生成機能とを有する場合を説明するが、これに限られず、例えば後述の変形例では、それらの機能が別々の装置に実装される場合を説明する。
【００１８】
テストプラットフォーム２における一連の動作は以下の通りである。
１．テスト担当者１８がテスト管理サーバ１０にテストの実行を指示する。
２．テスト管理サーバ１０は管理下のテストスクリプト２０をクライアント１２に送信し、クライアント１２上で遠隔実行する。
３．クライアント１２の実行エンジン２４はブラウザ２６を操作し、テストを実行する。実行エンジン２４は実行結果をテスト管理サーバ１０に返す。
４．ファイルサーバ１６は、テストスクリプト２０の実行により生じる、クライアント１２やテスト対象１４の証跡物（例えば、ブラウザ２６に表示された画面のキャプチャ画像や、テスト対象１４における動作ログなど）を収集する。
５．ファイルサーバ１６の比較エンジン２８は比較を実行し、予め用意してあった期待値と収集された証跡物とを比較する。
６．ファイルサーバ１６が比較結果および証跡物をテスト管理サーバ１０に登録する。
７．テスト管理サーバ１０が、実行結果と証跡物と比較結果とを含むテスト結果３０をテスト担当者１８に通知する。
【００１９】
図３は、図２のテスト管理サーバ１０におけるテストスクリプトの自動生成処理およびその管理を説明するための模式図である。例えばあるウェブサービスの開発プロジェクト３２において、ウェブサービスの設計情報３４が生成される。また、該ウェブサービスを実現するためのサーバ側のシステム３６が構築される。テスト担当者１８は、設計情報３４を参照し、テストの概要を記したテストケース（サマリ）３８を作成する。
【００２０】
図４は、テストケース（サマリ）３８の入力画面４００の一部の代表画面図である。テスト担当者１８は自己の端末からテスト管理サーバ１０にアクセスし、テスト管理サーバ１０はテスト担当者１８の端末に入力画面４００を返す。テスト担当者１８は、入力画面４００に、これから行おうとするテストの概要を入力する。特にテスト担当者１８は、テスト対象の画面に対してどのようなテストを行うかを入力する。テスト管理サーバ１０は入力画面４００に入力されたデータを取得し、管理ツール６に投入する。
【００２１】
図３に戻り、テスト担当者１８は、テストケース（サマリ）３８を基に投入するデータおよびテストの手順を詳細に記述したテストケース（詳細版）４０を生成する。なお、テスト担当者１８ではなく他の人的リソース（オフショアリソースなど）を用いてテストケース（詳細版）４０を生成してもよい。
【００２２】
図５は、テストケース（詳細版）４０の入力画面４０２の一部の代表画面図である。テスト担当者１８は自己の端末からテスト管理サーバ１０にアクセスし、テスト管理サーバ１０はテスト担当者１８の端末に入力画面４０２を返す。テスト担当者１８は、入力画面４０２に、テストケース（サマリ）３８に記載のテストの手順やデータを入力する。
【００２３】
入力画面４０２は、テストが行われる順番を規定する連番と、テストの区分と、テストの対象と、テスト対象の画面の論理名と、テスト対象の画面の物理名と、テスト対象の画面に含まれる項目を人に認識させるための項目論理名と、検証区分と、検証用の値と、が対応付けて入力されるよう構成される。テストの区分としては、動作または検証が選択可能となっている。動作は、例えば、画面のＵＩ要素のクリックや、テキストボックスへのテキストの入力などであってもよい。検証は、例えば、動作の結果システム３６から返ってくる値と期待値との一致・不一致の判定であってもよい。
【００２４】
検証区分は、テストの区分が検証である場合の検証の種類を指定する。例えば、「＝」に設定されている場合、検証用の値との完全一致でＰａｓｓ、そうでなければＦａｉｌとなる。あるいはまた、「Ｃｏｎｔａｉｎ」に設定されている場合、検証用の値を含んでいればＰａｓｓ、そうでなければＦａｉｌとなる。テスト管理サーバ１０は入力画面４０２に入力されたデータを取得する。
【００２５】
図３に戻り、テスト管理サーバ１０はプロジェクト３２のシステム３６からテスト対象の画面情報（リポジトリ情報）を取得する。テスト管理サーバ１０はテスト対象の画面にアクセスし、該画面のコードを解析することでリポジトリ情報４２を取得する。テスト管理サーバ１０は、テストケース（詳細版）４０とリポジトリ情報４２とを基に、テスト実行のためのテストスクリプトを自動的に生成し、管理ツール６に投入する。
【００２６】
テスト担当者１８は別途、管理ツール６に対してテスト環境を設定する。管理ツール６において、テスト環境の設定とテストケース（サマリ）とテストスクリプトとテストデータ（投入データとも言う）とは対応付けられているが、個々別々に管理される。
【００２７】
実行・検証フェーズにおいて、テストスクリプトおよびテストデータはテスト環境に配布され、ＯＳ（Operating System）とブラウザとの様々な組み合わせに対してテストが実行され、その結果が収集され、検証される。
【００２８】
図６は、リポジトリ情報を説明するための模式図である。図６において、図書情報検索入力画面４４の項目である言語４６には、「言語」という項目論理名が付与されている。リポジトリ表示画面４８は、図書情報検索入力画面４４のリポジトリ情報を表示している。このリポジトリ情報は、図書情報検索入力画面４４の項目である言語４６には、「BOOKLANGUAGE」という項目物理名が付与されており、項目論理名「言語」と項目物理名「BOOKLANGUAGE」とが対応することを示す。項目物理名は項目をコンピュータに認識させるための項目名である。例えば、自動生成されるテストスクリプトは項目物理名で項目を指定する。対して項目論理名は、日本語、英語、中国語などの所定の言語で記述された文字列であってもよい。
【００２９】
図７は、図２のテスト管理サーバ１０のハードウエア構成図である。クライアント１２、テスト対象１４、ファイルサーバ１６は図７に記載のハードウエア構成と同様のハードウエア構成を有してもよい。テスト管理サーバ１０は、メモリ１３０と、プロセッサ１３２と、通信インタフェース１３４と、ディスプレイ１３６と、入力インタフェース１３８と、を含む。これらの要素はそれぞれバス１４０に接続され、バス１４０を介して互いに通信する。
【００３０】
メモリ１３０は、データやプログラムを記憶するための記憶領域である。データやプログラムは、メモリ１３０に恒久的に記憶されてもよいし、一時的に記憶されてもよい。特にメモリ１３０は後述のテスト情報保持部１１４として割り当てられた領域を有する。プロセッサ１３２は、メモリ１３０に記憶されているプログラムを実行することにより、テスト管理サーバ１０における各種機能を実現する。通信インタフェース１３４は、テスト管理サーバ１０の外部との間でデータの送受信を行うためのインタフェースである。例えば、通信インタフェース１３４はネットワーク６にアクセスするためのインタフェースを含む。ディスプレイ１３６は、各種情報を表示するためのデバイスであり、例えば、液晶ディスプレイや有機ＥＬ（Electroluminescence）ディスプレイなどである。入力インタフェース１３８は、ユーザからの入力を受け付けるためのデバイスである。入力インタフェース１３８は、例えば、マウスやキーボードやディスプレイ１３８上に設けられたタッチパネルを含む。
【００３１】
図８は、図２のテスト管理サーバ１０の機能および構成を示すブロック図である。ここに示す各ブロックは、ハードウエア的には、コンピュータのＣＰＵをはじめとする素子や機械装置で実現でき、ソフトウエア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウエア、ソフトウエアの組合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。
【００３２】
テスト管理サーバ１０は、テスト手順受付部１０２と、リポジトリ受付部１０４と、スクリプト生成部１０６と、テスト管理部１０８と、テスト実行部１１０と、テスト結果提供部１１２と、テスト情報保持部１１４と、を備える。テスト情報保持部１１４はマスタデータベースとして機能し、図２に示されるテストスクリプト２０、投入データ２２、テスト結果３０を保持する。また、テスト情報保持部１１４は、図３に示されるテスト環境の設定とテストケース（サマリ）とテストスクリプトとテストデータとを対応付けて保持する。
【００３３】
テスト手順受付部１０２は、テスト対象の画面に含まれる項目の項目論理名を用いて規定されたテストの手順を受け付ける。テスト手順受付部１０２は図５を参照して上述されたように、テストケース（詳細版）４０の入力画面４０２にテスト担当者１８が入力したテストの手順を取得する。
【００３４】
リポジトリ受付部１０４は、テスト対象の画面のリポジトリ情報を受け付ける。リポジトリ受付部１０４は、図３を参照して上述されたように、テスト対象の画面を取得して解析することで当該画面のリポジトリ情報を取得する。図６を参照して上述されたように、リポジトリ情報は、画面に含まれる項目の項目論理名と項目物理名との対応関係を含む。
【００３５】
スクリプト生成部１０６は、テスト手順受付部１０２によって受け付けられたテストの手順と、リポジトリ受付部１０４によって受け付けられたリポジトリ情報と、に基づいてテストを実行するためのテストスクリプトおよび投入データを生成する。スクリプト生成部１０６は、リポジトリ情報を参照することで、テストの手順で用いられている項目論理名を対応する項目物理名に変換する。スクリプト生成部１０６は、当該変換後のテストの手順を基に、例えば特許文献２に記載されているような公知のスクリプト自動生成技術を用いてテストスクリプトを生成する。スクリプト生成部１０６は、生成されたテストスクリプトおよび投入データをテスト情報保持部１１４に登録する。
【００３６】
例えば、図６に示される例を参照し、テスト手順受付部１０２によって受け付けられたテストの手順に、項目論理名「言語」の項目の値「３」（「中文版」に対応）を指定する、というコマンドが含まれているとする。スクリプト生成部１０６は、図書情報検索入力画面４４のリポジトリ情報を参照し、当該コマンドの項目論理名「言語」を対応する項目物理名「BOOKLANGUAGE」に変換する。変換の結果、当該コマンドは、項目物理名「BOOKLANGUAGE」の項目の値「３」を指定する、となる。
【００３７】
なお、本実施の形態では、テストの手順における項目の値を物理値（コンピュータに認識させるための値）で指定する場合を説明する。他の実施の形態では、項目の値を論理値（人に認識させるための値）で指定し、スクリプト生成部１０６がリポジトリ情報を参照して論理値を物理値に変換してもよい。例えば、図６に示される例を参照し、テスト手順受付部１０２によって受け付けられたテストの手順に、項目論理名「言語」の項目の論理値「中文版」を指定する、というコマンドが含まれているとする。スクリプト生成部１０６は、図書情報検索入力画面４４のリポジトリ情報を参照し、当該コマンドの項目論理名「言語」を対応する項目物理名「BOOKLANGUAGE」に、論理値「中文版」を物理値「３」に、それぞれ変換する。変換の結果、当該コマンドは、項目物理名「BOOKLANGUAGE」の項目の物理値「３」を指定する、となる。
【００３８】
テスト管理部１０８は管理ツール６として機能する。図９は、テスト管理サーバ１０のディスプレイ１３６に表示されるテスト管理画面４０４の代表画面図である。テスト管理部１０８は、テスト担当者１８などのユーザから要求があると、テスト管理画面４０４をディスプレイ１３６に表示させる。スクリプト生成部１０６がテストスクリプトを作成してテスト情報保持部１１４に登録した後、テスト管理画面４０４において、作成されたテストスクリプトと手順とがテスト番号で管理される。テスト管理画面４０４は、表示対象のテストケースを選択するためのケース選択領域４０６と、選択されたテストケースについての表示内容を選択するための複数のタブ４０８と、選択されたタブに対応する情報を表示する表示領域４１０と、を有する。図９の例では、ケース選択領域４０６においてテスト番号「R1-R1-1-1-1-1-1」のテストケースが選択されており、複数のタブ４０８においてテストケース（サマリ）に対応するタブ「Design Steps」が選択されており、表示領域４１０にはテスト担当者１８により作成され登録されたテストケース（サマリ）３８の情報が表示される。
【００３９】
図１０は、テスト管理サーバ１０のディスプレイ１３６に表示されるスクリプト表示画面４１４の代表画面図である。図９のテスト管理画面４０４においてユーザが複数のタブ４０８に含まれるタブ「Test Script」を選択すると、テスト管理部１０８はスクリプト表示画面４１４をディスプレイ１３６に表示させることで画面を遷移させる。スクリプト表示画面４１４は、ケース選択領域４０６と、複数のタブ４０８と、スクリプト生成部１０６によって生成、登録されたテストスクリプトを表示するスクリプト表示領域４１２と、を有する。このように、テストスクリプトもテストケース（サマリ）と同じテスト番号で管理される。
【００４０】
テスト実行部１１０は自動テストツール８として機能する。図１１は、テスト管理サーバ１０のディスプレイ１３６に表示されるテスト実行画面４１６の代表画面図である。テスト実行部１１０は、ユーザから要求があると、テスト実行画面４１６をディスプレイ１３６に表示させる。テスト実行画面４１６は、テスト情報保持部１１４に保持されるテストケースのなかから実行対象のテストケースを選択してテストを実施するためのものである。テスト実行画面４１６は、実行対象のテストケースが格納されるフォルダを選択するためのフォルダ選択領域４１８と、フォルダ選択領域４１８で選択されたフォルダに格納されているテストケースの情報を表示すると共に実行対象のテストケースの指定を可能とするテスト表示領域４２０と、個別実行ボタン４２２と、全体実行ボタン４２４と、を有する。
【００４１】
例えば、ユーザがテスト表示領域４２０に表示されるひとつのテストケースをカーソル４２６で指定し、個別実行ボタン４２２をクリックすると、テスト実行部１１０は指定されたテストケースのテストスクリプトをクライアント１２に送信してテストの実行を指示する。ユーザが全体実行ボタン４２４をクリックすると、テスト実行部１１０はテスト表示領域４２０に表示される一連のテストケースをクライアント１２に実行させる。
【００４２】
図１２は、テスト管理サーバ１０のディスプレイ１３６に表示される実行詳細指定画面４２８の代表画面図である。図１１に示されるテスト実行画面４１６においてユーザが個別実行ボタン４２２または全体実行ボタン４２４をクリックすると、テスト実行部１１０は実行詳細指定画面４２８をポップアップの形でディスプレイ１３６に表示させる。実行詳細指定画面４２８は、実行対象として選択されたテストのテスト名４３０と、該テストを実行するホストのホスト名４３２と、テストの状態４３４と、を対応付けて表示する。
【００４３】
ユーザは、実行詳細指定画面４２８においてホスト名４３２のセルをクリックすることで、任意のホストを指定することができる。例えば、図１２のホスト名４３２のセル４３６をユーザがクリックすると、テスト実行部１１０は対応するテストスクリプトを実行可能なホスト（またはクライアント）のリストをディスプレイ１３６に表示させる。ユーザが表示されたリストから所望のホストを選択すると、テスト実行部１１０は選択されたホストのホスト名をセル４３６に表示させる。実行詳細指定画面４２８のテスト実行ボタン４３８がクリックされると、テスト実行部１１０は、テスト名４３０で指定されるテストのテストスクリプトを、選択されたホストに、実行させる。このように、ケース単位でテストを実行するホストを指定できるので、複数のホストによるテストの同時実行が可能となり、テストをより迅速に完了することができる。
【００４４】
テスト結果提供部１１２は、テストスクリプトを実行したクライアント１２やファイルサーバ１６から得られるテスト結果３０をユーザに提供する。図１３は、テスト管理サーバ１０のディスプレイ１３６に表示されるテスト結果画面４４０の代表画面図である。テスト結果提供部１１２は、ユーザから要求があると、テスト結果画面４４０をディスプレイ１３６に表示させる。テスト結果画面４４０は、ブラウザ２６に表示された画面のキャプチャ画像の有無と、テストの実行を特定する実行ＩＤと、実行名と、実行されたテストのテスト名と、テストの状態と、テストにかかった時間と、テストを実行した日と、テストを実行した時刻と、テストを実行したホストのホスト名と、を対応付けて表示する。キャプチャ画像の有無が「有り」となっているセルをユーザがクリックすると、エビデンスフォルダ（不図示）が表示される。エビデンスフォルダはテストケースごとに設けられており、キャプチャ画像やログなどのエビデンスが格納されている。
【００４５】
図１４は、テスト管理サーバ１０のディスプレイ１３６に表示される検証結果通知画面４４２の代表画面図である。図５の入力画面４０２で説明した通り、テストケース（詳細版）４０は画面に対する操作の他に操作結果の検証を含む場合がある。スクリプト生成部１０６は検証も含めてテストスクリプトを生成する。したがって、テストスクリプトが実行されると、自動的に検証も行われることとなる。テスト結果提供部１１２は、テストスクリプトを実行したクライアント１２から取得した実行結果から、検証の結果を抽出する。テスト結果提供部１１２は、取得した検証の結果を含む検証結果通知画面４４２をディスプレイ１３６に表示させる。検証結果通知画面４４２は、検証の内容（アクション）と、エビデンスと、チェックポイントと、検証の結果と、検証の詳細と、を対応付けて表示する。検証の結果としては、出力が期待値と一致するか対応する場合は「ＰＡＳＳ」、異なる場合は「ＦＡＩＬ」となる。
【００４６】
以上の構成によるテスト管理サーバ１０の動作を説明する。
図１５は、図２のテスト管理サーバ１０における一連の処理の流れを示すフローチャートである。テスト管理サーバ１０は、ユーザから、テストの手順の入力を受け付ける（Ｓ５０２）。テスト管理サーバ１０は、テスト対象の画面にアクセスし、画面のコード（例えば、ＨＴＭＬ（HyperText Markup Language）コード）を取得する（Ｓ５０４）。テスト管理サーバ１０は、取得したコードを解析することで、テスト対象の画面のリポジトリ情報を取得する（Ｓ５０６）。テスト管理サーバ１０は、ステップＳ５０６で取得したリポジトリ情報を参照し、ステップＳ５０２で受け付けたテストの手順における項目論理名を項目物理名に変換する（Ｓ５０８）。テスト管理サーバ１０は、ステップＳ５０８における変換後のテストの手順を基に、テストスクリプトを生成する（Ｓ５１０）。テスト管理サーバ１０は、生成されたテストスクリプトをテスト情報保持部１１４に格納する（Ｓ５１２）。
【００４７】
上述の実施の形態において、保持部の例は、ハードディスクや半導体メモリである。また、本明細書の記載に基づき、各部を、図示しないＣＰＵや、インストールされたアプリケーションプログラムのモジュールや、システムプログラムのモジュールや、ハードディスクから読み出したデータの内容を一時的に記憶する半導体メモリなどにより実現できることは本明細書に触れた当業者には理解される。
【００４８】
本実施の形態に係るテストプラットフォーム２によると、項目論理名を用いて規定されたテストの手順とリポジトリ情報とに基づいてテストスクリプトが自動的に生成される。この生成において、リポジトリ情報を参照して項目論理名が項目物理名に変換される。したがって、テスト担当者１８はテストケース（サマリ）３８からテストケース（詳細版）４０を登録する際に、項目物理名を知っている必要も、入力する必要もない。代わりに、テスト担当者１８はより分かりやすい項目論理名でテストの手順を登録することができる。したがって、テスト担当者１８はより速く正確にテストケース（詳細版）４０を登録することができるので、テストの効率が向上する。
【００４９】
通常、項目物理名は実際の画面が完成したときに初めて決まるものなので、テストの手順を項目物理名で規定する従来の手法では、実際の画面が出来上がるまでテストの手順を作成することができなかった。これに対して、本実施の形態に係るテストプラットフォーム２では、テストケース（詳細版）４０において項目物理名の指定を不要としたので、実際の画面の完成を待つことなくテストの手順を作成することができる。例えば、画面は開発中であっても、設計情報３４が決まった段階ですぐにテストケース（詳細版）４０を作成することができる。これにより、テストサイクルが短くなり、より速くサービスをリリースすることができるようになる。
【００５０】
テスト対象の開発仕様変更、バグ発生時の修正、運用後のエンハンス等で、テスト対象物によってはリポジトリ情報が修正、追加、削除される場合もあり、つまり、リポジトリ情報の修正については、リポジトリ情報である項目物理名、項目論理名のいずれか一方又は両方が修正されることが有り得る。リポジトリ受付部１０４は適切なタイミング（テストを再実行するタイミング、テスト管理サーバ１０を起動したタイミング、ユーザからリポジトリの再受付を指示されたタイミング）でリポジトリ情報を再度取得し、前回のリポジトリ情報と今回取得したリポジトリ情報とを対比し、前記リポジトリ情報の修正、追加、削除を特定してもよい。リポジトリ情報の修正、追加、削除によりテスト実行が失敗した場合に、前記特定したリポジトリ情報の修正、追加、削除が原因でテスト実行が失敗したことを検証可能となる。ここで、ある１つのリポジトリ情報について、項目物理名又は項目論理名のいずれかが修正されている場合には、修正されていないものをキーとして修正されているものの修正前と修正後を特定することができ、例えば、項目物理名が修正され、項目論理名が修正されていないあるリポジトリ情報があった場合に項目論理名をキーとし、修正前の項目物理名と修正後の項目物理名を特定することができ、これらの関連付けを用いて前回作成済みのテストスクリプトを更新してテスト実行することで、失敗したテスト実行を成功させることができることもある。なお、自動的にこのテストスクリプトの更新をするのではなく、ユーザに事前提示して指示を受けて更新してもよいし、単に、修正前の項目物理名と修正後の項目物理名を項目物理名と共にユーザに表示する動作のみであってもよい。
【００５１】
以上、実施の形態に係るテストプラットフォーム２の構成と動作について説明した。この実施の形態は例示であり、各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解される。
【００５２】
実施の形態では、テスト管理サーバ１０がテストウエアの管理機能とスクリプトの生成機能とを有する場合を説明したが、これに限られず、例えばそれらの機能が別々の装置に実装されてもよい。
【００５３】
図１６は、第１変形例に係るテストプラットフォーム６００の構成を示す模式図である。テストプラットフォーム６００は、テスト管理機能をテスト管理サーバで実現すると共に、テスト実施機能およびスクリプト自動生成機能をクライアント端末および検証実行端末（両者は同じ端末であってもよいし、異なる端末であってもよい）で実現する。あるいはまた、スクリプト自動生成機能は、クライアント端末とも検証実行端末とも異なる、実施環境内の別の端末に実装されてもよい。図１６中の一点鎖線の矢印は人手で実施される操作を表し、破線の矢印はツールによって自動で実施される操作を表す。
【００５４】
図１７は、第２変形例に係るテストプラットフォーム７００の構成を示す模式図である。テストプラットフォーム７００では、テスト管理機能を省き、実施環境を単独で利用する。テストプラットフォーム７００は、テスト実施機能およびスクリプト自動生成機能をクライアント端末および検証実行端末（両者は同じ端末であってもよいし、異なる端末であってもよい）で実現する。あるいはまた、スクリプト自動生成機能は、クライアント端末とも検証実行端末とも異なる、実施環境内の別の端末に実装されてもよい。図１７中の一点鎖線の矢印は人手で実施される操作を表し、破線の矢印はツールによって自動で実施される操作を表す。
【符号の説明】
【００５５】
２  テストプラットフォーム、  ４  自動生成ツール、  ６  管理ツール、  ８  自動テストツール。
【図１】
2020017073.tif 000003
【図２】
2020017073.tif 000004
【図３】
2020017073.tif 000005
【図４】
2020017073.tif 000006
【図５】
2020017073.tif 000007
【図６】
2020017073.tif 000008
【図７】
2020017073.tif 000009
【図８】
2020017073.tif 000010
【図９】
2020017073.tif 000011
【図１０】
2020017073.tif 000012
【図１１】
2020017073.tif 000013
【図１２】
2020017073.tif 000014
【図１３】
2020017073.tif 000015
【図１４】
2020017073.tif 000016
【図１５】
2020017073.tif 000017
【図１６】
2020017073.tif 000018
【図１７】
2020017073.tif 000019