説明

テスト方法、テスト管理サーバ及びテスト管理プログラム

【課題】テストに係るユーザの負担を低減するシステムのテスト方法を提供する。
【解決手段】1以上のテスト用サーバを備えたテスト環境と、テスト環境におけるテスト対象システムの動作テストを管理するテスト管理サーバとを備えた計算機システムにおけるテスト方法である。テスト管理サーバは、分析項目テーブルを有する。テスト管理サーバが、テスト対象システムの動作設定が定義された定義書に基づいて、テスト用サーバにテスト対象システムを構築する手順と、テスト管理サーバが、テスト対象システムのテスト内容が定義されたテスト条件に基づいて、テスト対象システムを稼働させる手順と、テスト環境が、テスト対象システムの稼働情報を、テスト管理サーバに送信する手順と、テスト管理サーバが、受信した稼働情報を、分析項目テーブルに設定された分析方法によって分析する手順と、テスト管理サーバが、分析結果を出力する手順とを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テスト方法、テスト管理サーバ及びテスト管理プログラムに関する。
【背景技術】
【0002】
業務システム等のシステムを開発する際、構築されたシステムの性能や信頼性をテストすることによって、システムの問題を発見し、発見された問題に対する解決方法を策定することが重要である(特許文献1参照)。
【0003】
特許文献1には、アプリケーションプログラムの開発に関し、対話形式でユーザから指摘された不具合箇所とプログラムの実行履歴情報とから、不具合要因と解決策を特定し、特定された不具合要因や解決策をユーザに提示する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2001−249828号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に開示された技術では、ユーザが手動で不具合箇所を指摘しなければならないため、テストに係るユーザの負担が重い問題があった。また、同技術は、アプリケーションプログラムの開発に対する仕組みであって、業務システム等のシステムの開発に対してはそのまま適用できなかった。
【0006】
本発明は、上述した課題を考慮したものであって、テストに係るユーザの負担を低減するシステムのテスト方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
【0008】
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、1以上のテスト用サーバを備えたテスト環境と、前記テスト環境にネットワークを介して接続され、前記テスト環境において動作するテスト対象システムの動作テストを管理するテスト管理サーバとを備えた計算機システムにおけるテスト方法であって、前記1以上のテスト用サーバ及び前記テスト管理サーバの各々は、プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリとを備え、前記テスト管理サーバは、前記動作テストにおいて分析すべき分析対象と、前記分析対象についての分析方法と、前記分析対象の分析に係る基準情報とが対応付けられた分析項目テーブルを有し、前記方法は、前記テスト管理サーバが、前記テスト対象システムの動作設定が定義された定義書に基づいて、前記テスト用サーバに前記テスト対象システムを構築する手順と、前記テスト管理サーバが、前記テスト対象システムのテスト内容が定義されたテスト条件に基づいて、前記テスト対象システムを稼働させる手順と、前記テスト環境が、前記テスト対象システムの稼働状況を示す稼働情報を、前記テスト管理サーバに送信する手順と、前記テスト管理サーバが、受信した前記稼働情報を、前記分析項目テーブルに設定された分析方法によって分析し、分析結果が当該分析方法に対応付けられた前記基準情報を満たすか否かを判断する手順と、前記テスト管理サーバが、前記判断する手順による判断結果を出力する手順と、を含むことを特徴とする。
【発明の効果】
【0009】
本発明によれば、テストに係るユーザの負担を低減することができる。
【0010】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態の計算機システムの構成例を示す図である。
【図2】本発明の実施形態の計算機システムの全体動作を説明するフローチャートである。
【図3】本発明の実施形態の定義書の一例を示す図である。
【図4】本発明の実施形態のテスト条件の一例を示す図である。
【図5】本発明の実施形態の定義ファイルの一例を示す図である。
【図6】本発明の実施形態の構築スクリプトの一例を示す図である。
【図7】本発明の実施形態の稼働情報の一例を示す図である。
【図8】本発明の実施形態の分析項目テーブルの一例を示す図である。
【図9】本発明の実施形態の問題・原因・解決方法テーブルの一例を示す図である。
【図10】本発明の実施形態のテスト履歴プールの一例を示す図である。
【図11】本発明の実施形態の利用者端末に表示される画面の一例を示す図である。
【図12】本発明の実施形態の利用者端末に表示される画面の他の例を示す図である。
【図13】図2のステップS13の問題分析の制御ロジックを示すフローチャートである。
【図14】本発明の実施形態の分析結果設定用テーブルの一例を示す図である。
【図15】図2のステップS15の問題・原因・解決方法の表示情報作成の制御ロジックを示すフローチャートである。
【図16】本発明の実施形態の問題・原因・解決方法格納用テーブルの一例を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態について図面を参照して説明する。
【0013】
図1は、本発明の実施形態の計算機システム1の構成例を示す図である。図1に示す計算機システム1は、LAN(Local Area Network)等のネットワーク4を介して互いに接続された運用テスト環境10、運用テスト管理サーバ20、複数の利用者端末3を備える。
【0014】
運用テスト環境10は、この計算機システム1においてテストを実施するためのテスト環境である。この運用テスト環境10は、複数の構築対象サーバ11−1、…、11−Nによって構成される。これら構築対象サーバ11−1、…、11−Nの各々は、運用テスト環境10に構築された仮想サーバである。各構築対象サーバ11−i(i=1〜Nの整数)は、メモリ(仮想メモリ)12−i、CPU(Central Processing Unit)(仮想CPU)13−i、インターフェース(仮想インターフェース)14−i、ディスクドライブ(仮想ドライブ)15−iを備える計算機である。なお、以下では、前述した各構成要素を、単に、構築対象サーバ11、メモリ12、CPU13、インターフェース14、ディスクドライブ15という。また、構築対象サーバ11は仮想サーバである場合を説明するが、仮想サーバでなくてもよい。
【0015】
メモリ12は、構築対象サーバ11の起動時にディスクドライブ15に記憶されたプログラムを読み出して記憶するRAM(Random Access Memory)等の記憶装置である。このメモリ12は、プログラムの実行に必要なファイル、データ等も記憶する。CPU13は、メモリ12に格納されたプログラムを実行する演算処理装置である。インターフェース14は、外部ネットワーク等に接続するためのインターフェース装置である。ディスクドライブ15は、プログラムやファイル、データ等を記憶するHDD等の記憶装置である。このディスクドライブ15には、定義ファイル50、構築スクリプト60、稼働情報70が記憶される。各々の情報の詳細については後述する。
【0016】
運用テスト管理サーバ20は、運用テスト環境10を管理するためのコンピュータ装置である。この運用テスト管理サーバ20は、メモリ21、CPU22、インターフェース23、ディスクドライブ24を備える。
【0017】
メモリ21は、運用テスト管理サーバ20の起動時にディスクドライブ24に記憶されたプログラムを読み出して記憶するRAM等の記憶装置である。このメモリ21は、プログラムの実行に必要なファイル、データ等も記憶する。
【0018】
CPU22は、メモリ21に格納されたプログラム(運用テスト環境10にテスト環境を構築するシステム構築処理部210、運用テスト環境10においてテストを実行させ、テスト結果を分析するテスト実行・分析処理部220を含む)を実行する演算処理装置である。インターフェース23は、外部ネットワーク等に接続するためのインターフェース装置である。ディスクドライブ24は、プログラムやファイル、データ等を記憶するHDD等の記憶装置である。このディスクドライブ24には、分析項目テーブル80、問題・原因・解決方法テーブル90、テスト履歴プール100が記憶される。各々の情報の詳細については後述する。
【0019】
利用者端末3−1、…、3−Mは、ユーザが利用するコンピュータ装置である。利用者端末3−j(j=1〜Mの整数)は、主記憶装置、CPU、インターフェース装置、ディスクドライブ、入力装置(キーボード、マウス等)、出力装置(表示ディスプレイ等)を備える(いずれも不図示)。なお、以降の説明においては、利用者端末3−1、…、3−Mを、単に、利用者端末3という。
【0020】
図2は、本発明の実施形態の計算機システム1の全体動作を説明するフローチャートである。ここでは、計算機システム1のシステム全体の動作について説明する。
【0021】
まずステップS1において、ユーザは、利用者端末3上で定義書30、テスト条件40、業務アプリを入力する(S1)。なお、ここでいう業務アプリとは、運用テスト環境10上でテスト対象の業務システムを動作させるアプリケーションソフトウェアである。そうすると、利用者端末3は、入力された定義書30、テスト条件40、業務アプリを運用テスト管理サーバ20に送信する(S2)。
【0022】
その後ステップS3において、運用テスト管理サーバ20のシステム構築処理部210は、受信した定義書30に基づいて運用テスト環境10の構築を開始する(S3)。具体的には、受信した定義書30に基づいて定義ファイル50を作成する。
【0023】
その後ステップS4において、作成された定義ファイル50及び構築スクリプト60を運用テスト環境10に送信する(S4)。そうすると、運用テスト環境10は、受信した定義ファイル50、構築スクリプト60に基づいてテスト環境を構築する(S5)。
【0024】
その後、システム構築処理部210は、ステップS2で受信した業務アプリを運用テスト環境10に組み込む(S6)。すなわち、業務アプリを運用テスト環境10に送信する(S7)。そうすると、運用テスト環境10は、受信した業務アプリを組み込む(インストールする)(S8)。
【0025】
その後ステップS9において、運用テスト管理サーバ20のテスト実行・分析処理部220は、ステップS2で受信したテスト条件40に基づいて運用テスト環境10を稼働させる(S9)。そうすると、運用テスト環境10は起動し(S10)、稼働状態になる(S11)。
【0026】
以上説明したステップS1〜S11の処理により、運用テスト環境10上にテスト対象のシステムを自動的に構築することができる。これにより、本番環境でテストを実施することによるコストやリスクを低減することができる。
【0027】
その後ステップS12において、運用テスト環境10は、稼働情報70を運用テスト管理サーバ20に送信する(S12)。そうすると、テスト実行・分析処理部220は、受信した稼働情報70と、ディスクドライブ24に記憶されたテスト履歴プール100とに基づいて、問題を分析する(S13)。ステップS13の処理については詳細に後述する。
【0028】
その後ステップS14において、テスト実行・分析処理部220は、受信した稼働情報70及びステップS13の分析結果をテスト履歴プール100に保存する(S14)。その後、ステップS13の分析結果と、ディスクドライブ24に記憶された問題・原因・解決方法テーブル90とに基づいて、ユーザに提示すべき問題・原因・解決方法の表示情報を作成する(S15)。ステップS15の処理については詳細に後述する。
【0029】
その後ステップS16において、テスト実行・分析処理部220は、ステップS15で作成された問題・原因・解決方法の表示情報を、テスト履歴プール100に保存する(S16)。その後、ステップS15で作成された問題・原因・解決方法の表示情報と、テスト履歴プール100に保存された情報とを、表示情報として利用者端末3に送信する(S17)。そうすると、利用者端末3は、受信した表示情報を表示する(S18)。
【0030】
以上説明したステップS12〜S18の処理により、運用テスト管理サーバ20は、運用テスト環境10における問題の分析と、問題の発見と、発見された問題に対する解決方法の利用者端末3への提示とを自動的に実施することができる。
【0031】
その後ステップS19において、ユーザは、利用者端末3の表示画面上で1つ以上の解決方法を選択する(S19)。そうすると、利用者端末3は、ユーザによって選択された解決方法の情報を、運用テスト管理サーバ20に送信する(S20)。
【0032】
その後ステップS21において、テスト実行・分析処理部220は、受信した解決方法を満たす定義書30(修正された定義書30)を作成する(S21)。また、受信した解決方法の情報及び作成された定義書30をテスト履歴プール100に保存する(S22)。
【0033】
その後ステップS23において、テスト実行・分析処理部220は、再構築(手動)か再構築(自動)か再構築しないかを判定する(S23)。再構築(手動)の場合(S23でYES(手動))、利用者端末3は、ステップS21で作成された定義書30をダウンロードし(S24)、ステップS1に戻って処理を繰り返す。再構築(自動)の場合(S23でYES(自動))、運用テスト管理サーバ20は、S3に戻って処理を繰り返す。一方、再構築しない場合(S23でNO)、運用テスト管理サーバ20は、処理を終了する。
【0034】
以上説明したステップS19〜S23の処理により、運用テスト管理サーバ20は、ユーザに解決方法の選択を促し、ユーザによって選択された解決方法を満たす定義書30を自動的に作成することができる。これにより、作成された定義書30に基づいて、再テストを実施することも可能になる。
【0035】
なお、ステップS23又はS24以降一連の処理を繰り返す場合、ステップS21で作成された定義書30が複数ある場合には、定義書30と同数の構築対象サーバ(仮想サーバ)11のそれぞれを、各々の定義書30に基づいて構築してもよい。
【0036】
図3は、本発明の実施形態の定義書30の一例を示す図である。定義書30とは、システムに要求される性能(要件)、システムの動作設定が定義されたファイルである。図3に示す定義書30は、複数の項目31と、各項目31に対する設定値32とを含む。
【0037】
カラム301には、1秒あたりのリクエスト数は最低10件である、というシステムの要求性能が定義されている。カラム302には、CPU使用率は最大70%である、というシステムの要求性能が定義されている。カラム303には、1セッションあたりの使用メモリサイズは最大1MBである、というシステムの要求性能が定義されている。カラム304には、同時ログイン数は最低10人である、というシステムの要求性能が定義されている。カラム305には、FullGCの累積回数は最大5回である、というシステムの要求性能が定義されている。一方、カラム306には、Java(登録商標、以下同じ)ヒープ領域のうちのNew領域のサイズは256MBである、というシステムの動作設定が定義されている。
【0038】
以上のように定義書30には、システムに要求される性能、システムの動作設定が定義される。なお、定義される情報は、図3に示す情報に限定されるものではない。
【0039】
図4は、本発明の実施形態のテスト条件40の一例を示す図である。テスト条件40とは、運用テスト環境10のテスト条件が定義されたファイルである。図4に示すテスト条件40は、複数の項目41と、各項目41に対する設定値42とを含む。
【0040】
カラム401には、負荷条件が定義される。図4に示す例では、1回の繰り返しにおける負荷を与える処理の実行数が5回であり、1回の繰り返しにおける時間が10秒であり、繰り返し回数が100回であること、すなわち、10秒間に5回負荷を与える処理を100回繰り返す、という負荷条件が定義されている。
【0041】
一方、カラム402には、負荷内容が定義される。図4に示す例では、負荷1として、192.168.102.1のサーバ名(又はIPアドレス)で示されるサーバの80番ポートに対して、カラム402に示す各種パラメータを送信する、という負荷内容が定義されている。
【0042】
以上のようにテスト条件40には、運用テスト環境10のテスト条件が定義される。なお、定義される情報は、図4に示す情報に限定されるものではない。
【0043】
図5は、本発明の実施形態の定義ファイル50の一例を示す図である。定義ファイル50とは、定義書30を運用テスト環境10が処理可能なデータ形式に変更したファイルである。この定義ファイル50は、図2のステップS3において生成される。
【0044】
図5(a)に示すようなプロパティファイル形式、図5(b)に示すようなXMLファイル形式が例として挙げられるが、運用テスト環境10が処理可能なデータ形式であればその他のデータ形式であってもよい。
【0045】
図6は、本発明の実施形態の構築スクリプト60の一例を示す図である。構築スクリプト60は、運用テスト環境10において各構築対象サーバ11−1〜11−Nの構築に必要なコマンドを自動的に実行するためのファイルである。図6に示す例では、構築スクリプト60はバッチファイル(スクリプト)で示される。
【0046】
図7は、本発明の実施形態の稼働情報70の一例を示す図である。稼働情報70とは、運用テスト環境10をテスト条件40に従って稼働させた場合の稼働状況を示す情報が記録されたファイルである。図7に示すように、稼働情報70は、アクセスログ71、CPU使用率ログ72、JavaVMログ73を含む。
【0047】
アクセスログ71には、運用テスト環境10において発生する各リクエストの開始時間、各リクエストの内容、各リクエストの処理時間(単位:秒)が記録される。CPU使用率ログ72には、各時刻におけるCPUの使用率が記録される。JavaVMログ73には、GC(Garbage Collection)やFullGC等が生じた時間、その際の使用メモリサイズの変化量が記録される。
【0048】
以上のように稼働情報70には、運用テスト環境10をテスト条件40に従って稼働させた場合の稼働状況を示す情報が記録される。なお、記録される情報は、図7に示す情報に限定されるものではない。
【0049】
図8は、本発明の実施形態の分析項目テーブル80の一例を示す図である。分析項目テーブル80とは、図2のステップS13において問題の分析に用いられるデータである。図8に示す分析項目テーブル80は、複数の分析対象81と、各分析対象81に対応する分析方法82と、各分析対象81に対応するOK/NG条件83とを含む。
【0050】
カラム801には、分析対象81がJ2EEサーバである場合の分析方法82として、J2EEサーバの状態を確認することが定義されている。また、OK/NG条件83として、J2EEサーバが開始状態である場合にはOKを返し、すなわちJ2EEサーバには問題がないと判定し、J2EEサーバが開始状態でない場合にはNGを返す、すなわちJ2EEサーバには問題があると判定することが定義されている。
【0051】
カラム802には、分析対象81がFullGC累積回数である場合の分析方法82として、JavaVMログ73を分析し、FullGCの累積回数を確認し、定義書30の設定値と比較することが定義されている。また、OK/NG条件83として、FullGC累積回数が定義書30の設定値以下である場合には、システムの要求性能を満たすのでOKを返し、定義書30の設定値より大きい場合には、システムの要求性能を満たさないのでNGを返すことが定義されている。
【0052】
カラム803には、分析対象81がCPU使用率である場合の分析方法82として、CPU使用率ログ72を分析し、CPU使用率のピーク値を取得し、定義書30の設定値と比較することが定義されている。また、OK/NG条件83として、CPU使用率のピーク値が定義書30の設定値以下である場合には、システムの要求性能を満たすのでOKを返し、定義書30の設定値より大きい場合には、システムの要求性能を満たさないのでNGを返すことが定義されている。
【0053】
以上のように分析項目テーブル80には、運用テスト管理サーバ20が問題を分析する際の分析項目がリスト化されている。なお、リスト化される情報は、図8に示す情報に限定されるものではない。
【0054】
図9は、本発明の実施形態の問題・原因・解決方法テーブル90の一例を示す図である。問題・原因・解決方法テーブル90とは、図2のステップS15において用いられるデータである。図9に示す問題・原因・解決方法テーブル90では、複数の問題91と、各問題91に対応する原因項目92と、各原因項目92に対応する解決方法項目93とを含む。
【0055】
問題91には、分析項目テーブル80にリスト化された各分析項目(図8では、カラム801〜803)に対応する問題が定義されている。原因項目92には、各問題91に対応する1以上の原因が、優先度付きで定義されている。解決方法項目93には、各原因項目92に対する1以上の解決方法が、優先度付きで定義されている。
【0056】
カラム901には、CPU使用率が設定値よりも大きいという問題(図8のカラム803に対応する問題)に対する原因として、FullGCの発生間隔が短いこと(優先度1)及び最大同時実行数が大きいこと(優先度2)が定義されている。また、これらの原因の各々に対する解決方法として、♯2(カラム902の各解決方法へのリンク)、実行待ちキューサイズを小さくすることが定義されている。なお、解決方法項目93の「定義書作成」の欄は、「解決方法」の欄に示す解決方法に基づいて定義書30を自動生成できるか否かを示す情報である。
【0057】
カラム902には、FullGC累積回数が大きいという問題(図8のカラム802に対応する問題)に対する原因及び各原因に対する解決方法が定義されている。
【0058】
以上のように問題・原因・解決方法テーブル90には、運用テスト環境10の問題・原因・解決方法が、分析項目テーブル80に対応付けて設定される。運用テスト管理サーバ20は、図2のステップS15において、この問題・原因・解決方法テーブル90を用いることによって、分析結果に応じた問題・原因・解決方法の表示情報を作成することができる。
【0059】
図10は、本発明の実施形態のテスト履歴プール100の一例を示す図である。テスト履歴プール100とは、運用テスト環境10のテスト結果等の各種情報を保存するためのテーブルである。図10に示すテスト履歴プール100は、テスト名101と、前回選択した解決方法102と、稼働情報103と、分析結果104と、問題・原因・解決方法105と、今回選択した解決方法106と、作成された定義書107とを含む。
【0060】
テスト名101には、各テストを一意に識別するための識別子が格納される。カラム1001には、初回のテストとして、「初回テスト」が格納される。一方、カラム802〜807には、「(テスト対象の構築対象サーバID)_(前回選択された解決方法のID)_(n回目のテスト)」が格納される。
【0061】
例えばカラム1002に示すテストは、カラム1001に示す初回テストを実行後にユーザによって選択された解決方法「1_#3−1−1」(カラム1001の今回選択した解決方法106の欄を参照)を、運用テスト環境10に反映させた後に実行する2回目のテストである。そのため、カラム1002のテスト名101には、「1_#3−1−1_2」が格納される。同様に、カラム1003に示すテストは、カラム1002に示す2回目のテストを実行後にユーザによって選択された解決方法「1_#2−1−1」(カラム1002の今回選択した解決方法106の欄を参照)を、運用テスト環境10に反映させた後に実行する3回目のテストである。そのため、カラム1003のテスト名101には、「1_#2−1−1_3」が格納される。
【0062】
前回選択した解決方法102には、テスト名101で示すテストの前回のテスト(例えばカラム1002のテストであれば、カラム1001のテスト)において選択された解決方法が格納される。
【0063】
稼働情報103には、テスト名101で示すテストを実行した場合に、図2のステップS12で運用テスト管理サーバ20が受信する稼働情報70に対するファイルパスが格納される。
【0064】
分析結果104には、テスト名101で示すテストを実行した場合に、図2のステップS13で作成される分析結果設定用テーブル140(図14を用いて詳細に後述)が格納される。
【0065】
問題・原因・解決方法105には、テスト名で示すテストを実行した場合に、図2のステップS15で作成される問題・原因・解決方法格納用テーブル160(図16を用いて詳細に後述)が格納される。
【0066】
今回選択された解決方法106には、テスト名で示すテストを実行した場合に、図2のステップS19で選択された1以上の解決方法が格納される。
【0067】
作成された定義書107には、テスト名で示すテストを実行した場合に、図2のステップS21で作成された定義書30に対するファイルパスが格納される。
【0068】
以上のように、テスト履歴プール100には、運用テスト環境10のテスト結果等の各種情報が、テスト間で関連付けられて格納される。
【0069】
図11は、本発明の実施形態の利用者端末3に表示される画面110の一例を示す図である。この画面110は、図2のステップS18において利用者端末3上に表示される。この画面110は、選択部111と、表示内容112と、チェックボックス113と、ボタン114、115とを含む。
【0070】
選択部111は、ユーザが利用者端末3に表示させたい内容を選択するために設けられている。図11に示す例では、運用テスト環境Aの「解決方法」が選択されている。なお、「テスト履歴」が選択された場合については、図12を用いて後述する。
【0071】
表示内容112には、選択部111における選択に対応する内容(ここでは、問題・原因・解決方法格納用テーブル160)が表示される。
【0072】
チェックボックス113は、利用者端末3上でユーザが1以上の解決方法を選択するために設けられ、解決方法毎にチェック可能なチェックボックスである。なお、解決方法を選択できないもの(定義書30を自動生成できないもの)については、選択不可になっている。ユーザは1以上の解決方法を選択し、マウス等の入力装置を用いてチェックすることができる。
【0073】
ボタン114は、ユーザによって選択された解決方法に基づいて生成される定義書30をダウンロードするためのボタンである。このボタン114を押下すると、図2のステップS23において、YES(手動)に処理が進む。一方、ボタン115は、再テストを実行するためのボタンである。このボタン115を押下すると、図2のステップS23において、YES(自動)に処理が進む。
【0074】
以上のような画面110を利用者端末3上に表示させることにより、運用テスト管理サーバ20は、ユーザに解決方法の選択を促す。また、ユーザによって選択された解決方法を満たす定義書30を自動的に作成し、作成された定義書30を利用者端末3にダウンロードさせたり、作成された定義書30に基づいて再テストを実行したりすることが可能になる。
【0075】
図12は、本発明の実施形態の利用者端末3に表示される画面120の他の例を示す図である。この画面120は、図2のステップS18において利用者端末3上に表示される。なお、以下では図11と同様の構成要素には同一の符号を付して重複する説明を適宜省略する。
【0076】
図12に示す画面120は、選択部111、121と、表示内容112、122と、チェックボックス113と、ボタン114、115とを含む。
【0077】
選択部111は、ユーザが利用者端末3に表示させたい内容を選択するために設けられている。図12に示す例では、運用テスト環境Aの「テスト履歴」が選択されている。また選択部121が、ユーザが利用者端末3に表示させたいテスト履歴を選択するために設けられている。図12に示す例では、「1_#3−1−1_2(2回目のテスト)」が選択されている。
【0078】
表示内容112には、選択部111における選択に対応する内容(ここでは、2回目のテストに係る問題・原因・解決方法格納用テーブル160)が表示される。また表示内容122には、前回のテスト(ここでは、初回のテスト)で選択した解決方法に関する情報が表示される。
【0079】
以上のような画面110を利用者端末3上に表示させることにより、運用テスト管理サーバ20は、ユーザに解決方法の選択を促す。なお、前述の図11に示す画面110と異なり、過去のテスト履歴を表示することによって、ユーザは過去のテスト履歴を参考にした上で、最適な解決方法を選択することができる。
【0080】
図13は、図2のステップS13の問題分析の制御ロジックを示すフローチャートである。ここでは、図2のステップS13の具体的な動作について説明する。
【0081】
まずステップS1301に示すように、運用テスト管理サーバ20は、ステップS1302〜S1309の処理を、構築対象サーバ11毎に繰り返す(S1301)。
【0082】
すなわち、まずステップS1302において、運用テスト管理サーバ20は、分析項目テーブル80を読み込み、この分析項目テーブル80に基づいて、分析結果を設定するための分析結果設定用テーブル140を作成する(S1302)。
【0083】
図14は、本発明の実施形態の分析結果設定用テーブル140の一例を示す図である。分析結果設定用テーブル140とは、構築対象サーバ11毎に作成され、対応する構築対象サーバ11の分析結果を保存するためのテーブルである。なお、以下では図8と同様の構成要素には同一の符号を付して重複する説明を適宜省略する。
【0084】
図14に示す分析結果設定用テーブル140は、複数の分析対象81と、各分析対象81に対応する分析方法82と、各分析対象81に対応するOK/NG条件83と、各分析対象81を当該分析対象81に対応する分析方法82によって分析した場合の計測値141と、定義書30に定義された定義値142と、各分析対象81について問題があるか否かを示す分析結果143とを含む。なお、この分析結果設定用テーブル140が作成された時点では、計測値141、定義値142及び分析結果143は空欄である。
【0085】
図13に戻り、ステップS1303に示すように、運用テスト管理サーバ20は、ステップS1304〜S1309の処理を、分析項目テーブル80に定義された分析項目の数(図8ではカラム801、802、803の3回)繰り返す(S1303)。以下、ステップS1304〜S1309の処理について説明する。
【0086】
ステップS1304において、運用テスト管理サーバ20は、ステップS1303で選択されたカラムにおける分析対象81を、分析方法82に従って分析する(S1304)。その後ステップS1305において、運用テスト管理サーバ20は、分析によって得られる計測値と、定義書30に定義された定義値とを、分析結果設定用テーブル140の計測値141、定義値142の欄にそれぞれ設定する(S1305)。
【0087】
その後ステップS1306において、運用テスト管理サーバ20は、設定された計測値14及び定義値142と、OK/NG条件83とに基づいて、分析結果がOKかNGかを確認する(S1306)。
【0088】
その後ステップS1307において、運用テスト管理サーバ20は、ステップS1306の確認結果がOKかNGかを判定する(S1307)。OKの場合(S1307でYES)、運用テスト管理サーバ20は、分析結果143の欄に「○」を設定する(S1308)。一方、NGの場合(S1307でNO)、運用テスト管理サーバ20は、分析結果143の欄に「×」を設定する(S1309)。
【0089】
以上に示す処理により、運用テスト管理サーバ20は、構築対象サーバ11毎に問題を分析するとともに、構築対象サーバ11毎に作成した分析結果設定用テーブル140の中に各構築対象サーバ11の分析結果を設定している。
【0090】
図15は、図2のステップS15の問題・原因・解決方法の表示情報作成の制御ロジックを示すフローチャートである。ここでは、図2のS15の具体的な動作について説明する。
【0091】
まずステップS1501に示すように、運用テスト管理サーバ20は、問題・原因・解決方法の情報を格納するための問題・原因・解決方法格納用テーブル160を作成する(S1501)。
【0092】
図16は、本発明の実施形態の問題・原因・解決方法格納用テーブル160の一例を示す図である。問題・原因・解決方法格納用テーブル160とは、利用者端末3に表示すべき問題・原因・解決方法の情報(図11の表示内容112等参照)を生成するためのテーブルである。
【0093】
図16に示す問題・原因・解決方法格納用テーブル160は、分析対象の対象サーバ161と、分析対象162と、計測値163と、定義値164と、原因項目165と、解決方法項目166とを含む。なお、この問題・原因・解決方法格納用テーブル160が作成された時点では、各欄161〜166は空欄である。
【0094】
その後ステップS1502に示すように、運用テスト管理サーバ20は、ステップS1503〜S1510の処理を、構築対象サーバ11毎に繰り返す(S1502)。
【0095】
すなわち、まずステップS1503において、運用テスト管理サーバ20は、対象の構築対象サーバ11の分析結果設定用テーブル140を読み込む(S1503)。その後ステップS1504に示すように、運用テスト管理サーバ20は、ステップS1505〜S1510の処理を、分析結果設定用テーブル140の分析項目の数(図14ではカラム1401、1402、1403の3回)繰り返す(S1504)。以下、ステップS1505〜S1510の処理について説明する。
【0096】
ステップS1505において、運用テスト管理サーバ20は、分析結果設定用テーブル140から、ステップS1504で選択されたカラムにおける分析結果143の値を取得する(S1505)。その後ステップS1506において、運用テスト管理サーバ20は、取得された分析結果143の値が「○」であるか又は「×」であるかを判定する(S1506)。
【0097】
ステップS1506において「○」の場合(S1506でYES)、ステップS1504に戻って、次の分析項目について処理を繰り返す。一方、「×」の場合(S1506でNO)、ステップS1507に進む。
【0098】
ステップS1507に進むと、運用テスト管理サーバ20は、分析結果設定用テーブル140から、ステップS1504で選択されたカラムにおける分析対象81、計測値141及び定義値142を取得する(S1507)。その後、問題・原因・解決方法テーブル90を読み込み(S1508)、読み込まれた問題・原因・解決方法テーブル90から、該当する行(カラム)を取得する(S1509)。
【0099】
例えばステップS1507で取得された分析対象81がカラム1402のFullGC累積回数の場合、ステップS1509では、FullGC累積回数に関するカラム902が取得される。また、ステップS1507で取得された分析対象81がカラム1401のCPU使用率の場合、ステップS1509では、CPU使用率に関するカラム901が取得される。
【0100】
その後ステップS1510において、運用テスト管理サーバ20は、分析結果設定用テーブル140の情報(分析対象81、計測値141及び定義値142)と、問題・原因・解決方法テーブル90の情報(原因項目92、解決方法項目93)とを、問題・原因・解決方法格納用テーブル160の分析対象162、計測値163、定義値164、原因項目165、解決方法項目166にそれぞれ設定する(S1510)。
【0101】
以上に示す処理により、運用テスト管理サーバ20は、分析結果設定用テーブル140の中に設定された各構築対象サーバ11の分析結果と、問題・原因・解決方法テーブル90に設定された問題・原因・解決方法の対応付け情報とに基づいて、利用者端末3に表示すべき問題・原因・解決方法の情報(図11の表示内容112等参照)を生成している。
【0102】
以上のように、本実施形態のシステムのテスト方法によれば、運用テスト環境10上にテスト対象のシステムを自動的に構築することができる。また、運用テスト環境10における問題の分析と、問題の発見と、発見された問題に対する解決方法の利用者端末3への提示とを自動的に実施することができる。さらには、ユーザに解決方法の選択を促し、ユーザによって選択された解決方法を満たす定義書30を自動的に作成し、作成された定義書30に基づいて、再テストを実行することが可能になる。
【0103】
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一つを示したものであり、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。本発明の要旨を逸脱しない範囲において種々変更可能である。
【符号の説明】
【0104】
1 計算機システム
3 利用者端末
10 運用テスト環境
11 構築対象サーバ
20 運用テスト管理サーバ
30 定義書
40 テスト条件
50 定義ファイル
60 構築スクリプト
70 稼働情報
80 分析項目対応テーブル
90 問題・原因・解決方法テーブル
100 テスト履歴プール
140 分析結果設定用テーブル
160 問題・原因・解決方法格納用テーブル
210 システム構築処理部
220 テスト実行・分析処理部

【特許請求の範囲】
【請求項1】
1以上のテスト用サーバを備えたテスト環境と、前記テスト環境にネットワークを介して接続され、前記テスト環境において動作するテスト対象システムの動作テストを管理するテスト管理サーバとを備えた計算機システムにおけるテスト方法であって、
前記1以上のテスト用サーバ及び前記テスト管理サーバの各々は、プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリとを備え、
前記テスト管理サーバは、前記動作テストにおいて分析すべき分析対象と、前記分析対象についての分析方法と、前記分析対象の分析に係る基準情報とが対応付けられた分析項目テーブルを有し、
前記方法は、
前記テスト管理サーバが、前記テスト対象システムの動作設定が定義された定義書に基づいて、前記テスト用サーバに前記テスト対象システムを構築する手順と、
前記テスト管理サーバが、前記テスト対象システムのテスト内容が定義されたテスト条件に基づいて、前記テスト対象システムを稼働させる手順と、
前記テスト環境が、前記テスト対象システムの稼働状況を示す稼働情報を、前記テスト管理サーバに送信する手順と、
前記テスト管理サーバが、受信した前記稼働情報を、前記分析項目テーブルに設定された分析方法によって分析し、分析結果が当該分析方法に対応付けられた前記基準情報を満たすか否かを判断する手順と、
前記テスト管理サーバが、前記判断する手順による判断結果を出力する手順と、
を含むことを特徴とするテスト方法。
【請求項2】
前記テスト管理サーバは、前記基準情報を満たさない場合の1以上の解決方法が設定された解決方法テーブルを有し、
前記判断する手順において前記基準情報を満たさないと判断された場合、前記出力する手順において、前記テスト管理サーバは、前記解決方法テーブルに設定された前記1以上の解決方法を出力することを特徴とする請求項1に記載のテスト方法。
【請求項3】
前記テスト管理サーバが、出力された前記1以上の解決方法を提示してユーザに選択を促す手順と、
前記テスト管理サーバは、前記1以上の解決方法のうちのユーザによって選択された解決方法に基づいて、当該選択された解決方法を満たす定義書を新たに作成する手順と、
をさらに含むことを特徴とする請求項2に記載のテスト方法。
【請求項4】
前記テスト管理サーバは、作成された前記定義書に基づいて、前記テスト用サーバに前記テスト対象システムを再構築する手順をさらに含むことを特徴とする請求項3に記載のテスト方法。
【請求項5】
前記テスト管理サーバは、前記基準情報を満たさない場合の1以上の原因が設定された原因テーブルを有し、
前記判断する手順において前記基準情報を満たさないと判断された場合、前記出力する手順において、前記テスト管理サーバは、前記原因テーブルに設定された前記1以上の原因を出力することを特徴とする請求項1に記載のテスト方法。
【請求項6】
前記1以上のテスト用サーバの各々は、プロセッサ、メモリに係る物理資源が論理的に分割されて仮想化されたことを特徴とする請求項1に記載のテスト方法。
【請求項7】
前記テスト管理サーバは、前記基準情報を満たさない場合の1以上の解決方法が設定された解決方法テーブルを有し、
前記判断する手順において前記基準情報を満たさないと判断された場合、前記出力する手順において、前記テスト管理サーバは、前記解決方法テーブルに設定された前記1以上の解決方法を出力し、
前記方法は、さらに、
前記テスト管理サーバが、出力された前記1以上の解決方法を提示してユーザに選択を促す手順と、
前記テスト管理サーバが、前記1以上の解決方法のうちのユーザによって選択された解決方法毎に、各々の解決方法を満たす定義書を新たに作成する手順と、
前記テスト管理サーバが、作成された定義書と同数の仮想化されたテスト用サーバを前記テスト環境に構築し、各々の定義書に基づいて、前記仮想化されたテスト用サーバの各々に前記テスト対象システムを構築する手順と、
を含むことを特徴とする請求項6に記載のテスト方法。
【請求項8】
前記テスト管理サーバは、受信した前記稼働情報と、前記分析結果と、前記判断結果とを含む履歴情報を出力することを特徴とする請求項1に記載のテスト方法。
【請求項9】
1以上のテスト用サーバを備えたテスト環境にネットワークを介して接続され、前記テスト環境において動作するテスト対象システムの動作テストを管理するテスト管理サーバであって、
プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリとを備え、
前記動作テストにおいて分析すべき分析対象と、前記分析対象についての分析方法と、前記分析対象の分析に係る基準情報とが対応付けられた分析項目テーブルを有し、
当該テスト管理サーバは、
前記テスト対象システムの動作設定が定義された定義書に基づいて、前記テスト用サーバに前記テスト対象システムを構築し、
前記テスト対象システムのテスト内容が定義されたテスト条件に基づいて、前記テスト対象システムを稼働させ、
前記テスト対象システムの稼働状況を示す稼働情報を、前記テスト環境から受信し、
受信した前記稼働情報を、前記分析項目テーブルに設定された分析方法によって分析し、分析結果が当該分析方法に対応付けられた前記基準情報を満たすか否かを判断し、当該判断結果を出力することを特徴とするテスト管理サーバ。
【請求項10】
1以上のテスト用サーバを備えたテスト環境にネットワークを介して接続され、前記テスト環境において動作するテスト対象システムの動作テストを管理するテスト管理サーバにおいて用いられるテスト管理プログラムであって、
前記テスト管理サーバは、前記動作テストにおいて分析すべき分析対象と、前記分析対象についての分析方法と、前記分析対象の分析に係る基準情報とが対応付けられた分析項目テーブルを有し、
前記テスト管理プログラムは、
前記テスト対象システムの動作設定が定義された定義書に基づいて、前記テスト用サーバに前記テスト対象システムを構築する手順と、
前記テスト対象システムのテスト内容が定義されたテスト条件に基づいて、前記テスト対象システムを稼働させる手順と、
前記テスト対象システムの稼働状況を示す稼働情報を、前記テスト環境から受信する手順と、
受信した前記稼働情報を、前記分析項目テーブルに設定された分析方法によって分析し、分析結果が当該分析方法に対応付けられた前記基準情報を満たすか否かを判断する手順と、
前記判断する手順による判断結果を出力する手順と、
を前記テスト管理サーバに実行させることを特徴とするテスト管理プログラム。

【図1】
image rotate

【図2】
image rotate

【図13】
image rotate

【図15】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図14】
image rotate

【図16】
image rotate