(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-24
(45)【発行日】2022-12-02
(54)【発明の名称】テスト管理サーバおよびシステム
(51)【国際特許分類】
G06F 11/36 20060101AFI20221125BHJP
G06F 8/30 20180101ALI20221125BHJP
【FI】
G06F11/36 184
G06F8/30
G06F11/36 188
(21)【出願番号】P 2018139595
(22)【出願日】2018-07-25
【審査請求日】2021-06-24
(73)【特許権者】
【識別番号】000155469
【氏名又は名称】株式会社野村総合研究所
(74)【代理人】
【識別番号】100076428
【氏名又は名称】大塚 康徳
(74)【代理人】
【識別番号】100115071
【氏名又は名称】大塚 康弘
(74)【代理人】
【識別番号】100112508
【氏名又は名称】高柳 司郎
(74)【代理人】
【識別番号】100116894
【氏名又は名称】木村 秀二
(74)【代理人】
【識別番号】100130409
【氏名又は名称】下山 治
(74)【代理人】
【識別番号】100134175
【氏名又は名称】永川 行光
(74)【代理人】
【識別番号】100199277
【氏名又は名称】西守 有人
(72)【発明者】
【氏名】高橋 俊司
(72)【発明者】
【氏名】西薗 和希
(72)【発明者】
【氏名】新宅 聡子
【審査官】小林 秀和
(56)【参考文献】
【文献】特開2016-194777(JP,A)
【文献】特開2004-280231(JP,A)
【文献】特開平10-301809(JP,A)
【文献】特開2012-038162(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/36
G06F 8/30
(57)【特許請求の範囲】
【請求項1】
テスト対象の画面に含まれる項目を人に認識させるための項目論理名を用いて規定されたテストの手順を受け付けるテスト手順受付手段と、
項目論理名に対応する項目をコンピュータに認識させるための項目物理名を含む、テスト対象の画面のリポジトリ情報を受け付けるリポジトリ受付手段と、
受け付けられたテストの手順と受け付けられたリポジトリ情報とに基づいてテストを実行するためのスクリプトを生成する生成手段と、
テスト対象の画面のリポジトリ情報における、対応する項目物理名と項目論理名のいずれかが変更されたものであるかを判定する判定手段と、
前記対応する項目物理名と項目論理名のいずれかが変更されたものであると判定された場合に、前記対応する項目物理名と項目論理名のうちの変更されていない項目と、前記対応する項目物理名と項目論理名のうちの変更された項目の変更前及び変更後とを表示する表示手段と、を備えるテスト管理サーバ。
【請求項2】
前記生成手段は、リポジトリ情報を参照することで、テストの手順で用いられている項目論理名を対応する項目物理名に変換する請求項1に記載のテスト管理サーバ。
【請求項3】
前記テスト手順受付手段は、ユーザが入力したテストの手順を取得し、
前記リポジトリ受付手段は、テスト対象の画面を取得して解析することで当該画面のリポジトリ情報を取得する請求項1または2に記載のテスト管理サーバ。
【請求項4】
テストの手順は操作結果の検証を含み、
前記テスト管理サーバはさらに、検証の結果をユーザに提供する提供手段を備える請求項1から3のいずれか一項に記載のテスト管理サーバ。
【請求項5】
前記テスト管理サーバは、さらに、前記対応する項目物理名と項目論理名のうちの変更されていない項目をキーとして、前記対応する項目物理名と項目論理名のうちの変更された項目の変更前及び変更後を特定する特定手段を備える請求項1から4のいずれか一項に記載のテスト管理サーバ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テスト管理サーバおよびシステムに関する。
【背景技術】
【0002】
ウェブサービスやアプリケーションの開発では、通常、出来上がったシステムが実際にどう動くかや、期待通りの振る舞いを示すかを確かめるテストが繰り返し行われる。システムに対してユーザが行いうる操作は膨大であり、そのそれぞれを人手でテストするのは効率的でも現実的でもない。したがって、テストの自動化が進められている。
【0003】
例えば、特許文献1には、操作に伴う画面表示の動作テストを行う自動テストツールが開示されている。特許文献1では、テスト結果の画像が比較可能に表示される。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2012-038162号公報
【文献】特開2003-058370号公報
【非特許文献】
【0005】
【文献】https://software.microfocus.com/ja-jp/solutions/software-development-lifecycle、2018年7月9日検索
【文献】https://software.microfocus.com/ja-jp/products/unified-functional-automated-testing/overview、2018年7月9日検索
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1の技術では、テストケースを登録する際にユーザが実際にテストに係る操作、例えばボタンの押下等、を行う必要がある。このようなテストケースの登録はユーザにとって手間であり、ユーザ利便性が高いとは言えない。
【0007】
本発明はこうした課題に鑑みてなされたものであり、その目的は、テストの手順を設定する際のユーザの手間を削減することができる技術の提供にある。
【課題を解決するための手段】
【0008】
本発明のある態様は、テスト管理サーバに関する。このテスト管理サーバは、テスト対象の画面に含まれる項目を人に認識させるための項目論理名を用いて規定されたテストの手順を受け付けるテスト手順受付手段と、項目論理名に対応する項目をコンピュータに認識させるための項目物理名を含む、テスト対象の画面のリポジトリ情報を受け付けるリポジトリ受付手段と、受け付けられたテストの手順と受け付けられたリポジトリ情報とに基づいてテストを実行するためのスクリプトを生成する生成手段と、テスト対象の画面のリポジトリ情報における、対応する項目物理名と項目論理名のいずれかが変更されたものであるかを判定する判定手段と、対応する項目物理名と項目論理名のいずれかが変更されたものであると判定された場合に、対応する項目物理名と項目論理名のうちの変更されていない項目と、対応する項目物理名と項目論理名のうちの変更された項目の変更前及び変更後とを表示する表示手段と、を備える。
【0010】
なお、以上の構成要素の任意の組み合わせや、本発明の構成要素や表現を装置、方法、システム、コンピュータプログラム、コンピュータプログラムを格納した記録媒体などの間で相互に置換したものもまた、本発明の態様として有効である。
【発明の効果】
【0011】
本発明によれば、テストの手順を設定する際のユーザの手間を削減することができる。
【図面の簡単な説明】
【0012】
【
図1】実施の形態に係るテストプラットフォームの概要を示す模式図である。
【
図2】実施の形態に係るテストプラットフォームの構成を示す模式図である。
【
図3】
図2のテスト管理サーバにおけるテストスクリプトの自動生成処理およびその管理を説明するための模式図である。
【
図4】テストケース(サマリ)の入力画面の一部の代表画面図である。
【
図5】テストケース(詳細版)の入力画面の一部の代表画面図である。
【
図6】リポジトリ情報を説明するための模式図である。
【
図7】
図2のテスト管理サーバのハードウエア構成図である。
【
図8】
図2のテスト管理サーバの機能および構成を示すブロック図である。
【
図9】
図2のテスト管理サーバのディスプレイに表示されるテスト管理画面の代表画面図である。
【
図10】
図2のテスト管理サーバのディスプレイに表示されるスクリプト表示画面の代表画面図である。
【
図11】
図2のテスト管理サーバのディスプレイに表示されるテスト実行画面の代表画面図である。
【
図12】
図2のテスト管理サーバのディスプレイに表示される実行詳細指定画面の代表画面図である。
【
図13】
図2のテスト管理サーバのディスプレイに表示されるテスト結果画面の代表画面図である。
【
図14】
図2のテスト管理サーバのディスプレイに表示される検証結果通知画面の代表画面図である。
【
図15】
図2のテスト管理サーバにおける一連の処理の流れを示すフローチャートである。
【
図16】第1変形例に係るテストプラットフォームの構成を示す模式図である。
【
図17】第2変形例に係るテストプラットフォームの構成を示す模式図である。
【発明を実施するための形態】
【0013】
以下、各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、各図面において説明上重要ではない部材の一部は省略して表示する。
【0014】
図1は、実施の形態に係るテストプラットフォーム2の概要を示す模式図である。テストプラットフォーム2は、テストの自動化準備からテスト実施・管理まで、テスト工程の効率化をサポートする。テストプラットフォーム2では、自動生成ツール4を用いてテストの自動化準備を行う。具体的には、ユーザは自動生成ツール4を用いてテストの仕様書を作成する。作成された仕様書は、自動生成ツール4によって自動的にテスト実行のためのテストスクリプトに変換される。
【0015】
管理ツール6はテスト実行の管理とテスト資産の管理とを行う。管理ツール6は、例えばALM(Application Lifecycle Management)(非特許文献1参照)を用いて実現されてもよい。テスト実行の管理はいつでもどこでも行うことができ、テスト実行の進捗の管理も行われる。管理されるテスト資産は、テスト仕様書とテストスクリプトと証跡とを含む。
【0016】
自動テストツール8はテストを実施する(打鍵・検証)。自動テストツール8は、例えばUFT(Unified Functional Testing)(非特許文献2参照)を用いて実現されてもよい。自動テストツール8はテストスクリプトに基づき自動的に打鍵し、その証跡を収集する。自動テストツール8は、本実施の形態に係る手法により検証を効率化する。
【0017】
図2は、実施の形態に係るテストプラットフォーム2の構成を示す模式図である。テストプラットフォーム2は、テスト管理サーバ10と、クライアント12と、テスト対象14と、ファイルサーバ16と、を備える。テスト管理サーバ10はテスト担当者18とのインタフェースとして機能する。各構成要素はインターネットなどのネットワーク(不図示)を介して互いに通信可能に接続される。テスト管理サーバ10は、テスト担当者18の入力に基づいて、ネットワーク上のリソース(URL(Uniform Resource Locator)で指定されるデータや画面など)に対するテストを行うためのテストスクリプト20および投入データ22を生成し、保持しておく。なお、本実施の形態ではテスト管理サーバ10がテストウエアの管理機能とスクリプトの生成機能とを有する場合を説明するが、これに限られず、例えば後述の変形例では、それらの機能が別々の装置に実装される場合を説明する。
【0018】
テストプラットフォーム2における一連の動作は以下の通りである。
1.テスト担当者18がテスト管理サーバ10にテストの実行を指示する。
2.テスト管理サーバ10は管理下のテストスクリプト20をクライアント12に送信し、クライアント12上で遠隔実行する。
3.クライアント12の実行エンジン24はブラウザ26を操作し、テストを実行する。実行エンジン24は実行結果をテスト管理サーバ10に返す。
4.ファイルサーバ16は、テストスクリプト20の実行により生じる、クライアント12やテスト対象14の証跡物(例えば、ブラウザ26に表示された画面のキャプチャ画像や、テスト対象14における動作ログなど)を収集する。
5.ファイルサーバ16の比較エンジン28は比較を実行し、予め用意してあった期待値と収集された証跡物とを比較する。
6.ファイルサーバ16が比較結果および証跡物をテスト管理サーバ10に登録する。
7.テスト管理サーバ10が、実行結果と証跡物と比較結果とを含むテスト結果30をテスト担当者18に通知する。
【0019】
図3は、
図2のテスト管理サーバ10におけるテストスクリプトの自動生成処理およびその管理を説明するための模式図である。例えばあるウェブサービスの開発プロジェクト32において、ウェブサービスの設計情報34が生成される。また、該ウェブサービスを実現するためのサーバ側のシステム36が構築される。テスト担当者18は、設計情報34を参照し、テストの概要を記したテストケース(サマリ)38を作成する。
【0020】
図4は、テストケース(サマリ)38の入力画面400の一部の代表画面図である。テスト担当者18は自己の端末からテスト管理サーバ10にアクセスし、テスト管理サーバ10はテスト担当者18の端末に入力画面400を返す。テスト担当者18は、入力画面400に、これから行おうとするテストの概要を入力する。特にテスト担当者18は、テスト対象の画面に対してどのようなテストを行うかを入力する。テスト管理サーバ10は入力画面400に入力されたデータを取得し、管理ツール6に投入する。
【0021】
図3に戻り、テスト担当者18は、テストケース(サマリ)38を基に投入するデータおよびテストの手順を詳細に記述したテストケース(詳細版)40を生成する。なお、テスト担当者18ではなく他の人的リソース(オフショアリソースなど)を用いてテストケース(詳細版)40を生成してもよい。
【0022】
図5は、テストケース(詳細版)40の入力画面402の一部の代表画面図である。テスト担当者18は自己の端末からテスト管理サーバ10にアクセスし、テスト管理サーバ10はテスト担当者18の端末に入力画面402を返す。テスト担当者18は、入力画面402に、テストケース(サマリ)38に記載のテストの手順やデータを入力する。
【0023】
入力画面402は、テストが行われる順番を規定する連番と、テストの区分と、テストの対象と、テスト対象の画面の論理名と、テスト対象の画面の物理名と、テスト対象の画面に含まれる項目を人に認識させるための項目論理名と、検証区分と、検証用の値と、が対応付けて入力されるよう構成される。テストの区分としては、動作または検証が選択可能となっている。動作は、例えば、画面のUI要素のクリックや、テキストボックスへのテキストの入力などであってもよい。検証は、例えば、動作の結果システム36から返ってくる値と期待値との一致・不一致の判定であってもよい。
【0024】
検証区分は、テストの区分が検証である場合の検証の種類を指定する。例えば、「=」に設定されている場合、検証用の値との完全一致でPass、そうでなければFailとなる。あるいはまた、「Contain」に設定されている場合、検証用の値を含んでいればPass、そうでなければFailとなる。テスト管理サーバ10は入力画面402に入力されたデータを取得する。
【0025】
図3に戻り、テスト管理サーバ10はプロジェクト32のシステム36からテスト対象の画面情報(リポジトリ情報)を取得する。テスト管理サーバ10はテスト対象の画面にアクセスし、該画面のコードを解析することでリポジトリ情報42を取得する。テスト管理サーバ10は、テストケース(詳細版)40とリポジトリ情報42とを基に、テスト実行のためのテストスクリプトを自動的に生成し、管理ツール6に投入する。
【0026】
テスト担当者18は別途、管理ツール6に対してテスト環境を設定する。管理ツール6において、テスト環境の設定とテストケース(サマリ)とテストスクリプトとテストデータ(投入データとも言う)とは対応付けられているが、個々別々に管理される。
【0027】
実行・検証フェーズにおいて、テストスクリプトおよびテストデータはテスト環境に配布され、OS(Operating System)とブラウザとの様々な組み合わせに対してテストが実行され、その結果が収集され、検証される。
【0028】
図6は、リポジトリ情報を説明するための模式図である。
図6において、図書情報検索入力画面44の項目である言語46には、「言語」という項目論理名が付与されている。リポジトリ表示画面48は、図書情報検索入力画面44のリポジトリ情報を表示している。このリポジトリ情報は、図書情報検索入力画面44の項目である言語46には、「BOOKLANGUAGE」という項目物理名が付与されており、項目論理名「言語」と項目物理名「BOOKLANGUAGE」とが対応することを示す。項目物理名は項目をコンピュータに認識させるための項目名である。例えば、自動生成されるテストスクリプトは項目物理名で項目を指定する。対して項目論理名は、日本語、英語、中国語などの所定の言語で記述された文字列であってもよい。
【0029】
図7は、
図2のテスト管理サーバ10のハードウエア構成図である。クライアント12、テスト対象14、ファイルサーバ16は
図7に記載のハードウエア構成と同様のハードウエア構成を有してもよい。テスト管理サーバ10は、メモリ130と、プロセッサ132と、通信インタフェース134と、ディスプレイ136と、入力インタフェース138と、を含む。これらの要素はそれぞれバス140に接続され、バス140を介して互いに通信する。
【0030】
メモリ130は、データやプログラムを記憶するための記憶領域である。データやプログラムは、メモリ130に恒久的に記憶されてもよいし、一時的に記憶されてもよい。特にメモリ130は後述のテスト情報保持部114として割り当てられた領域を有する。プロセッサ132は、メモリ130に記憶されているプログラムを実行することにより、テスト管理サーバ10における各種機能を実現する。通信インタフェース134は、テスト管理サーバ10の外部との間でデータの送受信を行うためのインタフェースである。例えば、通信インタフェース134はネットワーク6にアクセスするためのインタフェースを含む。ディスプレイ136は、各種情報を表示するためのデバイスであり、例えば、液晶ディスプレイや有機EL(Electroluminescence)ディスプレイなどである。入力インタフェース138は、ユーザからの入力を受け付けるためのデバイスである。入力インタフェース138は、例えば、マウスやキーボードやディスプレイ138上に設けられたタッチパネルを含む。
【0031】
図8は、
図2のテスト管理サーバ10の機能および構成を示すブロック図である。ここに示す各ブロックは、ハードウエア的には、コンピュータのCPUをはじめとする素子や機械装置で実現でき、ソフトウエア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウエア、ソフトウエアの組合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。
【0032】
テスト管理サーバ10は、テスト手順受付部102と、リポジトリ受付部104と、スクリプト生成部106と、テスト管理部108と、テスト実行部110と、テスト結果提供部112と、テスト情報保持部114と、を備える。テスト情報保持部114はマスタデータベースとして機能し、
図2に示されるテストスクリプト20、投入データ22、テスト結果30を保持する。また、テスト情報保持部114は、
図3に示されるテスト環境の設定とテストケース(サマリ)とテストスクリプトとテストデータとを対応付けて保持する。
【0033】
テスト手順受付部102は、テスト対象の画面に含まれる項目の項目論理名を用いて規定されたテストの手順を受け付ける。テスト手順受付部102は
図5を参照して上述されたように、テストケース(詳細版)40の入力画面402にテスト担当者18が入力したテストの手順を取得する。
【0034】
リポジトリ受付部104は、テスト対象の画面のリポジトリ情報を受け付ける。リポジトリ受付部104は、
図3を参照して上述されたように、テスト対象の画面を取得して解析することで当該画面のリポジトリ情報を取得する。
図6を参照して上述されたように、リポジトリ情報は、画面に含まれる項目の項目論理名と項目物理名との対応関係を含む。
【0035】
スクリプト生成部106は、テスト手順受付部102によって受け付けられたテストの手順と、リポジトリ受付部104によって受け付けられたリポジトリ情報と、に基づいてテストを実行するためのテストスクリプトおよび投入データを生成する。スクリプト生成部106は、リポジトリ情報を参照することで、テストの手順で用いられている項目論理名を対応する項目物理名に変換する。スクリプト生成部106は、当該変換後のテストの手順を基に、例えば特許文献2に記載されているような公知のスクリプト自動生成技術を用いてテストスクリプトを生成する。スクリプト生成部106は、生成されたテストスクリプトおよび投入データをテスト情報保持部114に登録する。
【0036】
例えば、
図6に示される例を参照し、テスト手順受付部102によって受け付けられたテストの手順に、項目論理名「言語」の項目の値「3」(「中文版」に対応)を指定する、というコマンドが含まれているとする。スクリプト生成部106は、図書情報検索入力画面44のリポジトリ情報を参照し、当該コマンドの項目論理名「言語」を対応する項目物理名「BOOKLANGUAGE」に変換する。変換の結果、当該コマンドは、項目物理名「BOOKLANGUAGE」の項目の値「3」を指定する、となる。
【0037】
なお、本実施の形態では、テストの手順における項目の値を物理値(コンピュータに認識させるための値)で指定する場合を説明する。他の実施の形態では、項目の値を論理値(人に認識させるための値)で指定し、スクリプト生成部106がリポジトリ情報を参照して論理値を物理値に変換してもよい。例えば、
図6に示される例を参照し、テスト手順受付部102によって受け付けられたテストの手順に、項目論理名「言語」の項目の論理値「中文版」を指定する、というコマンドが含まれているとする。スクリプト生成部106は、図書情報検索入力画面44のリポジトリ情報を参照し、当該コマンドの項目論理名「言語」を対応する項目物理名「BOOKLANGUAGE」に、論理値「中文版」を物理値「3」に、それぞれ変換する。変換の結果、当該コマンドは、項目物理名「BOOKLANGUAGE」の項目の物理値「3」を指定する、となる。
【0038】
テスト管理部108は管理ツール6として機能する。
図9は、テスト管理サーバ10のディスプレイ136に表示されるテスト管理画面404の代表画面図である。テスト管理部108は、テスト担当者18などのユーザから要求があると、テスト管理画面404をディスプレイ136に表示させる。スクリプト生成部106がテストスクリプトを作成してテスト情報保持部114に登録した後、テスト管理画面404において、作成されたテストスクリプトと手順とがテスト番号で管理される。テスト管理画面404は、表示対象のテストケースを選択するためのケース選択領域406と、選択されたテストケースについての表示内容を選択するための複数のタブ408と、選択されたタブに対応する情報を表示する表示領域410と、を有する。
図9の例では、ケース選択領域406においてテスト番号「R1-R1-1-1-1-1-1」のテストケースが選択されており、複数のタブ408においてテストケース(サマリ)に対応するタブ「Design Steps」が選択されており、表示領域410にはテスト担当者18により作成され登録されたテストケース(サマリ)38の情報が表示される。
【0039】
図10は、テスト管理サーバ10のディスプレイ136に表示されるスクリプト表示画面414の代表画面図である。
図9のテスト管理画面404においてユーザが複数のタブ408に含まれるタブ「Test Script」を選択すると、テスト管理部108はスクリプト表示画面414をディスプレイ136に表示させることで画面を遷移させる。スクリプト表示画面414は、ケース選択領域406と、複数のタブ408と、スクリプト生成部106によって生成、登録されたテストスクリプトを表示するスクリプト表示領域412と、を有する。このように、テストスクリプトもテストケース(サマリ)と同じテスト番号で管理される。
【0040】
テスト実行部110は自動テストツール8として機能する。
図11は、テスト管理サーバ10のディスプレイ136に表示されるテスト実行画面416の代表画面図である。テスト実行部110は、ユーザから要求があると、テスト実行画面416をディスプレイ136に表示させる。テスト実行画面416は、テスト情報保持部114に保持されるテストケースのなかから実行対象のテストケースを選択してテストを実施するためのものである。テスト実行画面416は、実行対象のテストケースが格納されるフォルダを選択するためのフォルダ選択領域418と、フォルダ選択領域418で選択されたフォルダに格納されているテストケースの情報を表示すると共に実行対象のテストケースの指定を可能とするテスト表示領域420と、個別実行ボタン422と、全体実行ボタン424と、を有する。
【0041】
例えば、ユーザがテスト表示領域420に表示されるひとつのテストケースをカーソル426で指定し、個別実行ボタン422をクリックすると、テスト実行部110は指定されたテストケースのテストスクリプトをクライアント12に送信してテストの実行を指示する。ユーザが全体実行ボタン424をクリックすると、テスト実行部110はテスト表示領域420に表示される一連のテストケースをクライアント12に実行させる。
【0042】
図12は、テスト管理サーバ10のディスプレイ136に表示される実行詳細指定画面428の代表画面図である。
図11に示されるテスト実行画面416においてユーザが個別実行ボタン422または全体実行ボタン424をクリックすると、テスト実行部110は実行詳細指定画面428をポップアップの形でディスプレイ136に表示させる。実行詳細指定画面428は、実行対象として選択されたテストのテスト名430と、該テストを実行するホストのホスト名432と、テストの状態434と、を対応付けて表示する。
【0043】
ユーザは、実行詳細指定画面428においてホスト名432のセルをクリックすることで、任意のホストを指定することができる。例えば、
図12のホスト名432のセル436をユーザがクリックすると、テスト実行部110は対応するテストスクリプトを実行可能なホスト(またはクライアント)のリストをディスプレイ136に表示させる。ユーザが表示されたリストから所望のホストを選択すると、テスト実行部110は選択されたホストのホスト名をセル436に表示させる。実行詳細指定画面428のテスト実行ボタン438がクリックされると、テスト実行部110は、テスト名430で指定されるテストのテストスクリプトを、選択されたホストに、実行させる。このように、ケース単位でテストを実行するホストを指定できるので、複数のホストによるテストの同時実行が可能となり、テストをより迅速に完了することができる。
【0044】
テスト結果提供部112は、テストスクリプトを実行したクライアント12やファイルサーバ16から得られるテスト結果30をユーザに提供する。
図13は、テスト管理サーバ10のディスプレイ136に表示されるテスト結果画面440の代表画面図である。テスト結果提供部112は、ユーザから要求があると、テスト結果画面440をディスプレイ136に表示させる。テスト結果画面440は、ブラウザ26に表示された画面のキャプチャ画像の有無と、テストの実行を特定する実行IDと、実行名と、実行されたテストのテスト名と、テストの状態と、テストにかかった時間と、テストを実行した日と、テストを実行した時刻と、テストを実行したホストのホスト名と、を対応付けて表示する。キャプチャ画像の有無が「有り」となっているセルをユーザがクリックすると、エビデンスフォルダ(不図示)が表示される。エビデンスフォルダはテストケースごとに設けられており、キャプチャ画像やログなどのエビデンスが格納されている。
【0045】
図14は、テスト管理サーバ10のディスプレイ136に表示される検証結果通知画面442の代表画面図である。
図5の入力画面402で説明した通り、テストケース(詳細版)40は画面に対する操作の他に操作結果の検証を含む場合がある。スクリプト生成部106は検証も含めてテストスクリプトを生成する。したがって、テストスクリプトが実行されると、自動的に検証も行われることとなる。テスト結果提供部112は、テストスクリプトを実行したクライアント12から取得した実行結果から、検証の結果を抽出する。テスト結果提供部112は、取得した検証の結果を含む検証結果通知画面442をディスプレイ136に表示させる。検証結果通知画面442は、検証の内容(アクション)と、エビデンスと、チェックポイントと、検証の結果と、検証の詳細と、を対応付けて表示する。検証の結果としては、出力が期待値と一致するか対応する場合は「PASS」、異なる場合は「FAIL」となる。
【0046】
以上の構成によるテスト管理サーバ10の動作を説明する。
図15は、
図2のテスト管理サーバ10における一連の処理の流れを示すフローチャートである。テスト管理サーバ10は、ユーザから、テストの手順の入力を受け付ける(S502)。テスト管理サーバ10は、テスト対象の画面にアクセスし、画面のコード(例えば、HTML(HyperText Markup Language)コード)を取得する(S504)。テスト管理サーバ10は、取得したコードを解析することで、テスト対象の画面のリポジトリ情報を取得する(S506)。テスト管理サーバ10は、ステップS506で取得したリポジトリ情報を参照し、ステップS502で受け付けたテストの手順における項目論理名を項目物理名に変換する(S508)。テスト管理サーバ10は、ステップS508における変換後のテストの手順を基に、テストスクリプトを生成する(S510)。テスト管理サーバ10は、生成されたテストスクリプトをテスト情報保持部114に格納する(S512)。
【0047】
上述の実施の形態において、保持部の例は、ハードディスクや半導体メモリである。また、本明細書の記載に基づき、各部を、図示しないCPUや、インストールされたアプリケーションプログラムのモジュールや、システムプログラムのモジュールや、ハードディスクから読み出したデータの内容を一時的に記憶する半導体メモリなどにより実現できることは本明細書に触れた当業者には理解される。
【0048】
本実施の形態に係るテストプラットフォーム2によると、項目論理名を用いて規定されたテストの手順とリポジトリ情報とに基づいてテストスクリプトが自動的に生成される。この生成において、リポジトリ情報を参照して項目論理名が項目物理名に変換される。したがって、テスト担当者18はテストケース(サマリ)38からテストケース(詳細版)40を登録する際に、項目物理名を知っている必要も、入力する必要もない。代わりに、テスト担当者18はより分かりやすい項目論理名でテストの手順を登録することができる。したがって、テスト担当者18はより速く正確にテストケース(詳細版)40を登録することができるので、テストの効率が向上する。
【0049】
通常、項目物理名は実際の画面が完成したときに初めて決まるものなので、テストの手順を項目物理名で規定する従来の手法では、実際の画面が出来上がるまでテストの手順を作成することができなかった。これに対して、本実施の形態に係るテストプラットフォーム2では、テストケース(詳細版)40において項目物理名の指定を不要としたので、実際の画面の完成を待つことなくテストの手順を作成することができる。例えば、画面は開発中であっても、設計情報34が決まった段階ですぐにテストケース(詳細版)40を作成することができる。これにより、テストサイクルが短くなり、より速くサービスをリリースすることができるようになる。
【0050】
テスト対象の開発仕様変更、バグ発生時の修正、運用後のエンハンス等で、テスト対象物によってはリポジトリ情報が修正、追加、削除される場合もあり、つまり、リポジトリ情報の修正については、リポジトリ情報である項目物理名、項目論理名のいずれか一方又は両方が修正されることが有り得る。リポジトリ受付部104は適切なタイミング(テストを再実行するタイミング、テスト管理サーバ10を起動したタイミング、ユーザからリポジトリの再受付を指示されたタイミング)でリポジトリ情報を再度取得し、前回のリポジトリ情報と今回取得したリポジトリ情報とを対比し、前記リポジトリ情報の修正、追加、削除を特定してもよい。リポジトリ情報の修正、追加、削除によりテスト実行が失敗した場合に、前記特定したリポジトリ情報の修正、追加、削除が原因でテスト実行が失敗したことを検証可能となる。ここで、ある1つのリポジトリ情報について、項目物理名又は項目論理名のいずれかが修正されている場合には、修正されていないものをキーとして修正されているものの修正前と修正後を特定することができ、例えば、項目物理名が修正され、項目論理名が修正されていないあるリポジトリ情報があった場合に項目論理名をキーとし、修正前の項目物理名と修正後の項目物理名を特定することができ、これらの関連付けを用いて前回作成済みのテストスクリプトを更新してテスト実行することで、失敗したテスト実行を成功させることができることもある。なお、自動的にこのテストスクリプトの更新をするのではなく、ユーザに事前提示して指示を受けて更新してもよいし、単に、修正前の項目物理名と修正後の項目物理名を項目物理名と共にユーザに表示する動作のみであってもよい。
【0051】
以上、実施の形態に係るテストプラットフォーム2の構成と動作について説明した。この実施の形態は例示であり、各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解される。
【0052】
実施の形態では、テスト管理サーバ10がテストウエアの管理機能とスクリプトの生成機能とを有する場合を説明したが、これに限られず、例えばそれらの機能が別々の装置に実装されてもよい。
【0053】
図16は、第1変形例に係るテストプラットフォーム600の構成を示す模式図である。テストプラットフォーム600は、テスト管理機能をテスト管理サーバで実現すると共に、テスト実施機能およびスクリプト自動生成機能をクライアント端末および検証実行端末(両者は同じ端末であってもよいし、異なる端末であってもよい)で実現する。あるいはまた、スクリプト自動生成機能は、クライアント端末とも検証実行端末とも異なる、実施環境内の別の端末に実装されてもよい。
図16中の一点鎖線の矢印は人手で実施される操作を表し、破線の矢印はツールによって自動で実施される操作を表す。
【0054】
図17は、第2変形例に係るテストプラットフォーム700の構成を示す模式図である。テストプラットフォーム700では、テスト管理機能を省き、実施環境を単独で利用する。テストプラットフォーム700は、テスト実施機能およびスクリプト自動生成機能をクライアント端末および検証実行端末(両者は同じ端末であってもよいし、異なる端末であってもよい)で実現する。あるいはまた、スクリプト自動生成機能は、クライアント端末とも検証実行端末とも異なる、実施環境内の別の端末に実装されてもよい。
図17中の一点鎖線の矢印は人手で実施される操作を表し、破線の矢印はツールによって自動で実施される操作を表す。
【符号の説明】
【0055】
2 テストプラットフォーム、 4 自動生成ツール、 6 管理ツール、 8 自動テストツール。