(57)【要約】  運用環境上のシステムに対する影響を抑制しつつ、システム全体の効率化を図ることができる管理システム等を提供する。本発明の一形態における管理システムは、運用中のシステムを利用したテストを行う管理システムであって、前記テストを単体で実行した際に必要となるシステム構成及び当該複数のリソースの使用量を推定するシミュレーション部と、前記運用中のシステムに含まれる複数のリソースの使用量に関する情報を取得する取得部と、前記推定したシステム構成について、運用中のシステム構成と異なる差分システム構成要素を算出し、前記差分システム構成要素に負荷をかけるために利用する、運用中のシステムの空きリソース及び新たに追加するリソースを決定する管理部と、を含む。
2017145899.tif 000002
【特許請求の範囲】
【請求項１】
運用中のシステムを利用したテストを行う管理システムであって、
前記テストを単体で実行した際に必要となるシステム構成及び複数のリソースの使用量を推定するシミュレーション手段と、
前記運用中のシステムに含まれる前記複数のリソースの使用量に関する情報を取得する取得手段と、
前記推定したシステム構成について、前記運用中のシステム構成と異なる差分システム構成要素を算出し、前記差分システム構成要素に負荷をかけるために利用する、前記運用中のシステムの空きリソース及び新たに追加するリソースを決定する管理手段と、
を含むことを特徴とする管理システム。
【請求項２】
前記管理手段は、前記差分システム構成要素に負荷をかけた際の全てのシステム構成要素の各々のリソースの使用量を推定し、前記リソースの使用量が所定の閾値を超えたか否かを判定し、当該リソースの使用量が当該所定の閾値を超えたと判定した場合に、前記新たに追加するリソースを決定することを特徴とする請求項１に記載の管理システム。
【請求項３】
前記管理手段は、前記運用中のシステムに含まれる複数のリソースの使用量と、前記テストを単体で実行した際に必要となるシステムの複数のリソースの使用量との差分を計算し、差分がある場合に、前記差分システム構成要素として算出することを特徴とする請求項１又は２に記載の管理システム。
【請求項４】
前記管理手段は、前記運用中のシステム構成要素と、前記テストを単体で実行した際に必要となるシステム構成要素との差分を計算し、差分がある場合に、その構成要素を前記差分システム構成要素として算出することを特徴とする請求項１又は２に記載の管理システム。
【請求項５】
前記管理手段が決定した前記新たに追加するリソースを、前記運用中のシステムに追加する構築手段をさらに含み、
前記構築手段は、前記管理手段から前記新たに追加するリソースに関する情報の通知を受けた場合に、前記運用中のシステムに当該新たに追加するリソースを構築することを特徴とする請求項１乃至４のいずれかに記載の管理システム。
【請求項６】
前記テストのための負荷を発生する負荷生成手段をさらに含むことを特徴とする請求項１乃至５のいずれかに記載の管理システム。
【請求項７】
複数のテストのシナリオを格納する格納手段をさらに含み、
前記シミュレーション手段は、前記格納手段が格納する前記複数のテストのシナリオから、前記運用中のシステムに対して実行するテストに対応するシナリオを取得し、
前記負荷生成手段は、前記シミュレーション手段が取得した前記テストのシナリオに基づいて、当該テストのための負荷を発生する
ことを特徴とする請求項６に記載の管理システム。
【請求項８】
前記複数のリソースの各々は、仮想マシンにより仮想的に実行され、
前記管理手段は、推定された前記複数のリソースの使用量に基づいて、新たに追加する仮想マシンを決定する
ことを特徴とする請求項１乃至７のいずれかに記載の管理システム。
【請求項９】
運用中のシステムを利用したテストを行うテスト方法であって、
前記テストを単体で実行した際に必要となるシステム構成及び複数のリソースの使用量を推定し、前記運用中のシステムに含まれる前記複数のリソースに関する情報を取得し、前記推定されたシステム構成について、前記運用中のシステム構成と異なる差分システム構成要素を算出し、前記差分システム構成要素に負荷をかけるために利用する、前記運用中のシステムの空きリソース及び新たに追加するリソースを決定して前記テストを実行する
ことを含むテスト方法。
【請求項１０】
前記リソースを決定して前記テストを実行することは、前記差分システム構成要素に負荷をかけた際の全てのシステム構成要素のリソースの使用量を推定し、前記リソースの使用量が所定の閾値を超えたか否かを判定し、当該複数のリソースの使用量が当該所定の閾値を超えたと判定した場合に、前記新たに追加するリソースを決定することをさらに含む請求項９に記載のテスト方法。
【請求項１１】
前記リソースを決定して前記テストを実行することは、前記運用中のシステムに含まれる複数のリソースの使用量と、前記テスト単体を実行した際に必要となるシステムの複数のリソースの使用量との差分を計算し、差分がある場合に、差分システム構成要素として算出することをさらに含む請求項９又は１０に記載のテスト方法。
【請求項１２】
前記リソースを決定して前記テストを実行することは、前記運用中のシステム構成要素と、前記テスト単体を実行した際に必要となるシステム構成要素との差分を計算し、差分がある場合に、その構成要素を差分システム構成要素として算出することを含む請求項９乃至１１のいずれかに記載のテスト方法。
【請求項１３】
決定された前記新たに追加するリソースを、前記運用中のシステムに追加し、
前記新たに追加するリソースに関する情報の通知を受けた場合に、前記運用中のシステムに当該新たに追加するリソースを構築する
ことを含む請求項９乃至１２のいずれかに記載のテスト方法。
【請求項１４】
前記テストのための負荷を発生することをさらに含む請求項９乃至１３のいずれかに記載のテスト方法。
【請求項１５】
複数のテストのシナリオを格納し、
格納された複数のテストのシナリオから、前記運用中のシステムに対して実行するテストに対応するシナリオを取得し、
取得した前記テストのシナリオに基づいて、当該テストのための負荷を発生する
ことをさらに含む請求項１４に記載のテスト方法。
【請求項１６】
前記複数のリソースの各々を、仮想マシンにより仮想的に実行し、
推定した前記複数のリソースの使用量に基づいて、新たに追加する仮想マシンを決定する
ことを含む請求項９乃至１５のいずれかに記載のテスト方法。
【請求項１７】
運用中のシステムを利用したテストをコンピュータに実行させるプログラムであって、  前記テストを単体で実行した際に必要となるシステム構成及び複数のリソースの使用量を推定し、
前記運用中のシステムに含まれる前記複数のリソースに関する情報を取得し、
前記推定したシステム構成について、前記運用中のシステム構成と異なる差分システム構成要素を算出し、前記差分システム構成要素に負荷をかけるために利用する、前記運用中のシステムの空きリソース及び新たに追加するリソースを決定し、テストを実行する
ことを前記コンピュータに実行させるプログラムを格納した記録媒体。
【請求項１８】
前記プログラムは、
前記差分システム構成要素に負荷をかけた際の全てのシステム構成要素のリソースの使用量を推定し、前記リソースの使用量が所定の閾値を超えたか否かを判定し、当該複数のリソースの使用量が当該所定の閾値を超えたと判定した場合に、前記新たに追加するリソースを決定することをさらに前記コンピュータに実行させる請求項１７に記載の記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理システム、テスト方法及び記録媒体に関する。
【背景技術】
【０００２】
Ｗｅｂ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）システムやクライアント・サーバーシステム、ＰＯＳ（Ｐｏｉｎｔ  Ｏｆ  Ｓａｌｅｓ  ｓｙｓｔｅｍ）システムのようなシステムを新たに構築する場合や、現存のシステムを更新する場合など、現存するシステムを変更する場合には、変更後のシステムが実運用時に一定性能を維持することが求められている。
そこで、実運用に入る前にテストを行い、所望された要件を満たすように、サーバのスペック・台数の調整や、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、ミドルウェア、またはアプリケーションのパラメータをチューニングすることが一般的である。【０００３】
例えば、テストを実施する者は、事前にテストを実施するために必要なデータやリソースを決定し、テスト対象システムへ負荷をかけ、リソース消費量、ターンアラウンドタイム、スループットなどを測定して、ボトルネックとなる箇所を見つけ出す。ボトルネックを回避するために、テスト評価実施者はＯＳ、ミドルウェア、アプリケーションのパラメータ設定ファイルを編集して、ＯＳ、ミドルウェア、アプリケーションのチューニングを行う。そして、その効果を確認するために、再度テストを実施する。このサイクルを何度か行うことで、所望の要件を満たす適切なパラメータ設定値を決定する。【０００４】
特許文献１及び特許文献２には、現存するシステムを変更する場合における、性能テストに関する技術を開示する。特許文献１には、運用環境上で実運用しているシステムにおいてテストを実行し、当該テストに問題がなければ、テスト処理を運用環境に移行することが開示されている。また、特許文献２には、性能テストにおいて、システムに含まれるサーバ毎に性能を満たすか否かを判断することで、変更後のシステムにおける各サーバの処理能力の不足を防止することが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２４５３８０号公報
【特許文献２】特開２００６−３４３８９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、特許文献１に記載の技術において、性能テストは、実運用しているシステムをそのまま用いている。そのため、特許文献１の技術では、性能テストを行う場合において、実運用しているシステムに負荷をかけることになる。したがって、特許文献１に記載の技術では、実運用しているシステム上で動作しているサービスに影響を与える可能性がある。【０００７】
また、特許文献２に記載の技術において、サーバ毎に性能を満たすか否かを判断しているため、システム全体としての効率化を図ることができず、変更後のシステムに要するリソースが増大する可能性がある。【０００８】
本発明の目的は、上述した課題に鑑み、運用環境上のシステムに対する影響を抑制しつつ、システム全体の効率化を図ることが可能なシステムを提供可能な管理システム等を提供することである。
【課題を解決するための手段】
【０００９】
本発明の一形態における管理システムは、運用中のシステムを利用したテストを行う管理システムであって、前記テストを単体で実行した際に必要となるシステム構成及び複数のリソースの使用量を推定するシミュレーション部と、前記運用中のシステムに含まれる前記複数のリソースの使用量に関する情報を取得する取得部と、前記推定したシステム構成について、前記運用中のシステム構成と異なる差分システム構成要素を算出し、前記差分システム構成要素に負荷をかけるために利用する、前記運用中のシステムの空きリソース及び新たに追加するリソースを決定する管理部と、を含むことを特徴とする。【００１０】
本発明の一形態におけるテスト方法は、運用中のシステムを利用したテストを行うテスト方法であって、前記テストを単体で実行した際に必要となるシステム構成及び複数のリソースの使用量を推定し、前記運用中のシステムに含まれる前記複数のリソースに関する情報を取得し、前記推定したシステム構成について、前記運用中のシステム構成と異なる差分システム構成要素を算出し、前記差分システム構成要素に負荷をかけるために利用する、前記運用中のシステムの空きリソース及び新たに追加するリソースを決定し、テストを実行することを含む。【００１１】
本発明の一形態におけるプログラムは、運用中のシステムを利用したテストをコンピュータに実行させるプログラムであって、前記テストを単体で実行した際に必要となるシステム構成及び複数のリソースの使用量を推定する工程と、前記運用中のシステムに含まれる前記複数のリソースに関する情報を取得する工程と、前記推定したシステム構成について、前記運用中のシステム構成と異なる差分システム構成要素を算出し、前記差分システム構成要素に負荷をかけるために利用する、運用中のシステムの空きリソース及び新たに追加するリソースを決定し、テストを実施する工程と、をコンピュータに実行させる。尚、本プログラムは記録媒体に格納されていてもよい。
【発明の効果】
【００１２】
本発明の一形態のおける管理システム等は、運用環境上のシステムに対する影響を抑制しつつ、システム全体の効率化を図ることが可能である。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態の運用環境２００上で動作するシステム構成例を示す図である。
【図２】本発明の第１の実施形態のテスト管理システム１００の構成例と運用環境２００の構成例を示す図である。
【図３】本発明の第１の実施形態の運用環境２００上で動作しているシステムの負荷量及びリソース使用量の例を示す図である。
【図４】本発明の第１の実施形態の運用環境２００上で実運用しているシステムの構成要素のリソース使用量の上限閾値の例を示す図である。
【図５】本発明の第１の実施形態のテスト構成構築部１０２が運用環境２００上に構成要素を追加した最小のシステム構成例を示す図である。
【図６】本発明の第１の実施形態のテストシナリオを単体で実施する場合のシステム構成例を示す図である。
【図７】本発明の第１の実施形態のシミュレーション部１０５が出力するテストシナリオを単体で実施した場合の負荷量及びリソース使用量の推定値の例を示す図である。
【図８】本発明の第１の実施形態の管理部がテストシナリオを運用環境２００上の最小テストシステム構成で実施する場合の各構成要素の負荷量及びリソース使用量の推定値の例を示す図である。
【図９】本発明の第１の実施形態のテスト構成構築部１０２が運用環境２００上に構成要素を追加したシステム構成例を示す図である。
【図１０】本発明の第１の実施形態のテストシナリオの例を示す図である。
【図１１】本発明の第１の実施形態のテスト管理システム１００の動作例を示すフローチャートである。
【図１２】本発明の第１の実施形態のテスト管理システム１００の動作例を示すシーケンス図である。
【図１３】本発明の第２の実施形態の運用環境２００上に構築するシステム構成例を示す図である。
【図１４】本発明の第３の実施形態のテスト管理システム１００の構成例と運用環境２００の構成例を示す図である。
【図１５】本発明の第３の実施形態のテスト管理システム１００の動作例を示すフローチャートである。
【図１６】本発明の一実施形態のテスト管理装置１０００の構成例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発発明の実施形態について、図面を参照して説明する。各実施形態は、例示であり、本発明は各実施形態に限定されるものではない。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。また、図３から図７の値は、理解を助けるための一例として各要素に便宜上記載したものであり、この記載はなんらの限定を意図するものではない。
【００１５】
［第１の実施の形態］
［構成の説明］
本発明の第１の実施形態を、図面を参照して詳細に説明する。
【００１６】
図１は、第１の実施形態における運用環境２００上で動作するシステムの構成例である。第１の実施形態におけるシステムは、例えば、仮想マシン（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）を用いて作成されたＷｅｂ３層システムである。なお、第１の実施形態におけるシステムは、ＶＭを用いたものに限られない。
また、第１の実施形態におけるシステムは、Ｗｅｂ３層システムに限られない。以下では、ＶＭを用いて作成されたＷｅｂ３層システムを例にして説明する。
【００１７】
図１に示すように、Ｗｅｂ３層システムは、ＶＭ２００−１（Ｗｅｂサーバ）、ＶＭ２００−２（アプリケーション（ＡＰ）サーバ）、ＶＭ２００−３（データベース（ＤＢ）サーバ）の３つの仮想マシンを含む。
【００１８】
ＶＭは、例えば、ＯＳが動作する実際のコンピュータをソフトウェアによって仮想的に構築したものである。１台のコンピュータを複数のＶＭに分割することで、１台のコンピュータを複数の利用者が同時に利用したり、異なるＯＳを並列に実行させたりすることができる。Ｗｅｂ３層システムは、たとえば、ＶＭを用いて形成される。
【００１９】
なお、図１の例では、ＶＭが３つであるが、該ＶＭの数は、３つに限られず、１つ又は複数であってもよい。ＶＭを複数起動して、各サーバを複数用意することで、トータルの処理性能を向上させることが可能である。
【００２０】
図２は、第１の実施形態におけるテスト管理システム１００の構成例と、運用環境２００の構成例である。
【００２１】
第１の実施形態におけるテスト管理システム１００は、システム構成情報取得部１０１と、テスト構成構築部１０２と、テスト負荷生成部１０３と、テスト管理部１０４と、シミュレーション部１０５と、テストシナリオ格納部１０６とを含む。
【００２２】
なお、図２の構成要素１０１から１０６を繋ぐ実線は、論理的な通信ないし呼び出し可能な関係を示したものであり、本発明が構成要素１０１から１０６の実装は、この形状で接続されている構成やネットワークに限定されるものではない。
【００２３】
システム構成情報取得部１０１は、実運用しているシステムから、運用環境２００上で実運用しているシステムの構成情報および各構成要素のリソース使用量の情報を取得する。システム構成情報取得部１０１が取得する情報は、例えば、図３と図４に例示される情報である。
【００２４】
図３は、第１の実施形態における運用環境２００上で実運用しているシステムの負荷量及びリソース使用量の例を示す図である。また、第１の実施形態においては、例えば、ＶＭ２００−１には実運用負荷としてＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）ネットワーク負荷が５００Ｍｂｐｓかかっている。
【００２５】
図４は、第１の実施形態において運用環境２００上で実運用しているシステムの構成要素のリソース使用量の上限閾値の例を示す図である。運用環境２００上で実運用しているシステムの構成要素のリソース使用量の上限閾値は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）使用率およびＩＯ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）使用率で表される。
【００２６】
テスト管理部１０４は、テスト負荷生成部１０３がテスト負荷を発生させた際に、運用環境２００上で実運用しているシステムの構成要素のリソース使用量が、この上限閾値を超えないように、追加で必要な構成要素を決定し、構成変更タスクを決定する。構成変更タスクとは、例えば、テスト管理部１０４が運用環境２００上に新たに加えると決定した構成要素について記載された情報のことである。ここでは、単純化のため図３のリソース使用量の値からビット単位のリソース使用量を計算し、テスト負荷量を掛けあわせた値を推定値とした。
【００２７】
ただし、テスト管理部１０４およびシステム構成情報取得部１０１が、運用環境２００上で実運用しているシステムの構成情報および各構成要素のリソース使用量の情報を取得する方法については、本実施形態では限定しない。例えば、運用環境２００上で実運用しているシステムの構成情報および各構成要素のリソース使用量の情報について、ユーザがテスト管理部１０４およびシステム構成情報取得部１０１に対して直接情報を与えてもよいし、他の構成要素または他のシステムから受信して取得してもよい。
【００２８】
なお、リソース使用量は、ＣＰＵ使用率、ＩＯ使用率に限らず、メモリやストレージの容量、ネットワークの通信量などの情報を含んでいてもよい。
【００２９】
テスト構成構築部１０２は、テスト管理部１０４が決定した構成変更タスクに応じて、例えば、新たなＶＭを立ち上げて運用環境２００へ反映する。
【００３０】
図５は、第１の実施形態において、テスト構成構築部１０２が運用環境２００上に構成要素を追加したシステム構成例を示す図である。テスト構成構築部１０２は、例えば、運用環境２００に対して、ＶＭ２００−４を追加している。これにより、テスト負荷生成部１０３が発生させたテスト負荷が、図５の点線のように通過するため、ＶＭ２００−２にテスト負荷がかかることを回避することができる。
【００３１】
構成変更タスクに記載された動作を終えたら、構成変更タスクの反映が終了した旨をテスト管理部１０４へ通知する。
【００３２】
テスト負荷生成部１０３は、テスト管理部１０４からの指示を受けて、テストシナリオに記載された負荷をテスト対象のシステムに対して発生させる。第１の実施形態においては、例えば、テスト対象システムに対して５００Ｍｂｐｓの負荷を発生させる。テスト負荷生成部１０３が発生させる負荷の種別としては、疑似データを用いてもよいし、実際に運用環境２００上の実運用システムで流れているデータを複製して用いてもよい。本実施形態では、テスト負荷生成部１０３が発生させる負荷の生成方法については限定しない。
【００３３】
テスト管理部１０４は、システム構成情報取得部１０１に対して、運用環境２００上で実運用しているシステムのシステム構成および各構成要素のリソース使用量、例えば、ＣＰＵ使用率およびＩＯ使用率を取得する指示を与える。
【００３４】
テスト管理部１０４は、シミュレーション部１０５に対して、テストシナリオを単体で実施した場合のシステムのシステム構成および各構成要素のリソース使用量、例えば、ＣＰＵ使用率およびＩＯ使用率を推定する指示を与える。システム構成の推定とは、テストシナリオを実施するために必要なシステム構成を推定することを指し、例えば、各仮想マシンの台数をいくつにするか、割り当てるリソースをいくつにするか、などである。テストシナリオとしては、ネットワーク負荷が増加した場合を想定した性能テストや、ある仮想マシンを別の仮想マシンで置き換えた後の動作テストなどを含むことができる。第１の実施形態において、テストシナリオは、運用中のシステム構成のＡＰサーバ（ＶＭ２００−２）を新しいＡＰサーバ（ＶＭ２００−４）で置き換えたシステムの動作テストであり、テスト負荷は運用中のシステムにかかっている負荷と同じ５００Ｍｂｐｓとする。図７は、テストシナリオを単体で実行した場合の推定されたリソース使用量の例を示す図である。システム構成の推定手法及びリソース使用量の推定手法は本実施形態では限定しない。
【００３５】
例えば、システム構成情報取得部１０１から得られた運用環境２００上で実運用しているシステムのシステム構成および各構成要素のリソース使用量と、シミュレーション部１０５によって推定されたテストシナリオを単体で実施した場合について考える。この場合、テスト管理部１０４は、当該システムのシステム構成および各構成要素のリソース使用量とから、システム構成またはリソース使用量に差が生じる構成要素（差分システム構成要素）を抽出し、その差分システム構成要素に推定されたリソース使用量相当の負荷がかかるように、構成変更タスクを決定する。第１の実施形態においては、ＶＭ２００−４は新しく追加される構成要素であるため差分システム構成要素であり、ＶＭ２００−１及びＶＭ２００−３はリソース使用量の変化がないため、差分構成要素にはならない。テスト管理部１０４は、ＶＭ２００−４に対して、想定される負荷量４００Ｍｂｐｓがかかるように構成変更タスクを決定する。
【００３６】
構成変更タスクを決定するために、まず、テスト管理部１０４は、図５に示すように、新規に追加される構成要素（ＶＭ２００−４）以外は全て運用中のシステムの構成要素を利用するシステム構成（最小テストシステム構成）において、テスト負荷を掛けた際のリソース使用量を推定する。ＶＭ２００−４に４００Ｍｂｐｓのテスト負荷をかけるため、ＶＭ２００−１には５００Ｍｂｐｓのテスト負荷をかける必要があり、実運用のネットワーク負荷５００Ｍｂｐｓと合わせて１Ｇｂｐｓの負荷がかかることになる。同様にＶＭ２００−３に対しても２００Ｍｂｐｓのテスト負荷がかかることになり、実運用のネットワーク負荷２００Ｍｂｐｓと合わせて４００Ｍｂｐｓの負荷がかかることになる。図８は、テストシナリオを運用環境２００上の最小テストシステム構成で実施する場合の各構成要素のリソース使用量の推定値の例を示す図である。
ここでは、図８においては、説明を単純化するために、図３に記載された運用環境２００上で動作しているシステムの負荷量及びリソース使用量と図７に記載されたシミュレーション部１０５が出力するテストシナリオを単体で実施した場合のリソース使用量の推定値とを足し合わせた値を、テストシナリオを運用環境２００上で動作させた場合に必要な各構成要素のリソース使用量とした。ただし、構成変更タスクを決定するための計算方法は、これらの方法に限定されない。
【００３７】
テスト管理部１０４は、例えば、図８に記載されたテストシナリオを運用環境２００上で実施する場合の各構成要素のリソース使用量の推定値と、図４に記載された運用環境２００上で実運用しているシステムの構成要素のリソース使用量の上限閾値を比較し、該上限閾値を超えないように、構成変更タスクを決定する。
【００３８】
テストシナリオを運用環境２００上で実施する場合の各構成要素のリソース使用量の推定値が、運用環境２００上で実運用しているシステムの構成要素のリソース使用量の上限閾値を超過しない場合、テスト管理部１０４は、テスト構成構築部１０２に対して、構成変更タスクを運用環境２００に適用する指示を行う。
【００３９】
テストシナリオを運用環境２００上で実施する場合の各構成要素のリソース使用量の推定値が、運用環境２００上で実運用しているシステムの構成要素のリソース使用量の上限閾値を超過する場合、テスト管理部１０４は、運用環境２００上に新たに構成要素を加える決定を構成変更タスクに追加する。
【００４０】
例えば、第１の実施形態において、テストシナリオを運用環境２００上で実施した場合に、ＶＭ２００−１のリソース使用量が１００％と推定され、運用環境２００上で実運用しているシステムのリソース使用量の上限閾値８０％を上回る。テスト管理部１０４は、ＶＭ２００−１に関して、ＶＭ２００−１と同じ機能を持つＷＥＢサーバＶＭ２００−５を運用環境２００上に追加して図９のようなシステム構成を構築し、テスト負荷がＶＭ２００−１に流れないように、経路を変更する構成変更タスクを追加する。ただし、追加される構成要素はＶＭに限らず、ネットワークリンク等でもよい。
【００４１】
全ての構成要素において、テストシナリオを運用環境２００上で実施する場合のリソース使用量が各構成要素の上限閾値を超過しない場合、テスト管理部１０４は、テスト構成構築部１０２に、構成変更タスクを運用環境２００に適用する指示を出す。なお、該構成変更タスクは、次回構築を検討する直前、または今回のテストが終了した直後に空にする。
【００４２】
テスト管理部１０４は、テスト構成構築部１０２から構成変更タスクの反映が終了した通知を受け取ったら、テスト負荷生成部１０３に対して、負荷の発生を指示する。
【００４３】
シミュレーション部１０５は、テストシナリオ格納部１０６からテストシナリオを取得し、テストシナリオを運用環境２００上で実施する場合の各構成要素のリソース使用量およびシステム構成を推定して、テスト管理部１０４へ出力する。図６は、シミュレーション部１０５が推定したシステム構成を示す図である。
【００４４】
テストシナリオ格納部１０６は、運用環境２００において実施する、テストの内容が定義されたテストシナリオを格納している。
【００４５】
図１０は、第１の実施形態の運用環境２００において実施するテストシナリオの例を示す図である。図１０のテストシナリオにおいては、説明を単純化するため、５００Ｍｂｐｓの負荷を１２０秒間発生させるという内容とした。また、図１０のテストシナリオにおいては、負荷は実データから複製するものとする。また、システムのＶＭ２００−２をＶＭ２００−４へ置き換える構成変更もテストシナリオとして含む。
【００４６】
［動作の説明］
本発明の第１実施形態におけるテスト管理部１０４の動作について、図１１と図１２を参照して説明する。
【００４７】
図１１は、第１の実施形態におけるテスト管理システムの動作例を示すフローチャートである。図１２は、第１の実施形態におけるテスト管理システムの動作例を示すシーケンス図である。
【００４８】
テスト管理部１０４は、構成変更タスクを空にする（Ｓ１０１）。なお、構成変更タスクを空にする動作は、例えば、構成変更タスク適用直後に行ってもよい。図１１においては、テスト管理部１０４が運用しているシステムの構成情報および各構成要素のリソース使用量を取得する直前に、構成変更タスクを空にする動作を記載している。
【００４９】
テスト管理部１０４は、システム構成情報取得部１０１から、実運用しているシステムの構成情報および各構成要素のリソース使用量を取得する（Ｓ１０２）。
【００５０】
テスト管理部１０４は、シミュレーション部１０５に対して、テストシナリオ動作時に必要な各構成要素のリソース使用量およびシステム構成の推定を指示する。シミュレーション部は、テストシナリオ格納部１０６からテストシナリオを取得し、テストシナリオ動作時に必要な各構成要素のリソース使用量およびシステム構成を推定する（Ｓ１０３）。
【００５１】
テスト管理部１０４は、実運用しているシステムの構成情報および各構成要素のリソース使用量と、テストシナリオ動作時に必要な各構成要素のリソース使用量およびシステム構成とを用いて、システム構成またはリソース使用量に差が生じる構成要素を算出する（Ｓ１０４）。
【００５２】
テスト管理部１０４は、運用中のシステムを利用してその差分システム構成要素に推定されたリソース使用量に相当する負荷を掛けた際の各構成要素のリソース使用量を推定する（Ｓ１０５）。
【００５３】
テスト管理部１０４は、テストシナリオを運用環境２００上で動作させた場合に必要なリソース使用量の推定値が実運用している運用環境２００のリソース使用量の上限閾値を超過する構成要素がある場合（Ｓ１０６のＹｅｓ）、実運用しているシステムの構成要素に新たな構成要素を追加する指示を構成変更タスクに追加し（Ｓ１０７）、構成変更タスクを運用環境２００に適用する指示を出す（Ｓ１０８）。
【００５４】
テスト管理部１０４は、テストシナリオを運用環境２００上で動作させた場合に必要なリソース使用量の推定値が運用環境２００の構成要素のリソース使用量の上限閾値を超過する構成要素がない場合（Ｓ１０６のＮｏ）、テスト構成構築部１０２に対して、構成変更タスクを運用環境２００に適用する指示を出す（Ｓ１０８）。
【００５５】
テスト構成構築部１０２は、構成変更タスクを運用環境２００に適用する作業を終えたら、テスト管理部１０４に適用終了を通知する。
【００５６】
テスト管理部１０４は、テスト構成構築部１０２から、構成変更タスクを運用環境２００に適用する作業が終了した通知を受けたら、テスト負荷生成部１０３に対して、テストシナリオに従った負荷の生成を依頼する。
【００５７】
テスト負荷生成部１０３は、テスト管理部１０４から依頼を受けたら、テストシナリオに従って負荷を発生させる（Ｓ１０９）。
［効果の説明］
上記のとおり、本発明の第１の実施形態では、運用中のシステムとテストシナリオを単体で実行した際のシステムとの差分となる構成要素をテスト対象に限定することで、テスト対象外の運用システムの空きリソースを活用したテストが可能となる。さらに、テストシナリオを運用環境２００上で動作させた場合に必要なリソース使用量の推定値が、運用環境２００の構成要素のリソース使用量の上限閾値を超過する場合には、運用環境２００に対して不足するリソース分を補い、テストシナリオを運用環境２００上で動作させた場合に必要なリソース使用量の推定値が、運用環境２００の構成要素のリソース使用量の上限閾値を超過しないように設定する。そのため、運用環境２００上でテストを行う際に、不足するリソース分を最小限に追加することで、テストを行うことが可能となる。したがって、テストシナリオを実施する際に、例えば、運用環境２００を構成する全ての構成要素を複製するよりも、運用環境２００の構成要素を利用し、不足するリソースのみを追加する本願の第１の実施形態の方が、追加するリソースを抑えることができる。
【００５８】
また、運用環境２００の構成要素のリソース使用量が上限閾値を超えないように設定を行うことで、テストを実施している間に生じる性能ボトルネックが生じる可能性を最小限にすることができる。
【００５９】
さらに、運用環境２００の構成要素を用いてテストを行うため、例えば、運用環境２００の構成要素を複製した環境でテストを行う場合よりも、予期せぬ障害の発生するリスクを最小限に抑えることができる。
【００６０】
［第２の実施の形態］
［構成の説明］
本発明の第２の実施形態を、図面を参照して詳細に説明する。なお、第２の実施形態の技術は、第１の実施形態、後述の実施形態のいずれにも適用可能である。
【００６１】
第２の実施形態の通信システムの構成例は、図１に例示する第１の実施形態の通信システムの構成例と同様であるため、詳細な説明は省略される。
【００６２】
図１３は、第２の実施形態において、テスト構成構築部１０２が運用環境２００上に構成要素を追加したシステムの構成例である。
【００６３】
第２の実施形態において、図１３に示すように、ＶＭ２００−２をスケールアウトさせ、ＶＭ２００−４、ＶＭ２００−５およびトラフィックを振り分けるためのロードバランサ（ＬＢ：Ｌｏａｄ  Ｂａｌａｎｃｅｒ）であるＶＭ２００−６を新たな構成要素とする。
【００６４】
第２の実施形態では、テスト管理部１０４がテスト構成構築部１０２に対して、構成変更タスクを通してＬＢの追加を指示する。したがって、例えば、運用環境２００のリソース使用量の上限閾値に達したとしても、新たなＶＭを追加することで、運用環境２００のリソース使用量を増加させることができる。
【００６５】
なお、テスト管理部１０４の構成は、図２に例示した第１の実施形態におけるテスト管理部１０４の構成例と同様であるため、詳細な説明は省略される。
【００６６】
また、動作例は、図１１と図１２に例示した第１の実施形態におけるＳ１０１からＳ１０９と同様であるため、詳細な説明は省略される。
【００６７】
［第３の実施の形態］
［構成の説明］
本願発明の第３の実施形態を、図面を参照して詳細に説明する。
【００６８】
図１４は、本発明の第３の実施形態における、運用環境２００と、テスト管理システム１００との構成例を示す図である。
【００６９】
図１４に例示するように、テスト管理システム１００は、取得部１０１と、管理部１０４と、シミュレーション部１０５とを含む。なお、取得部１０１および管理部１０４は、それぞれ、第１の実施形態におけるシステム構成情報取得部１０１およびテスト管理部１０４に該当する。
【００７０】
シミュレーション部１０５は、テスト単体を実行した際に必要となるシステム構成及びリソース使用量を推定する。具体的には、シミュレーション部１０５は、テストシナリオを運用環境２００上で実施する場合の各構成要素のリソース使用量およびシステム構成を推定して、管理部１０４へ出力する。
【００７１】
取得部１０１は、運用中のシステムに含まれる複数のリソースの使用量に関する情報を取得する。具体的には、取得部１０１は、実運用しているシステムから、運用環境２００上で実運用しているシステムの構成情報および各構成要素のリソース使用量の情報を取得する。
【００７２】
管理部１０４は、シミュレーション部１０５が推定したシステム構成について、運用中のシステム構成と異なる差分システム構成要素を算出し、差分システム構成要素に負荷をかけるために、利用する運用中のシステムの空きリソース及び新たに追加するリソースを決定する。具体的には、管理部１０４は、例えば、取得部１０１から得られた運用環境２００上で実運用しているシステムのシステム構成および各構成要素のリソース使用量と、シミュレーション部１０５によって推定されたテストシナリオを単体で実施した場合のシステムのシステム構成および各構成要素のリソース使用量とから、システム構成またはリソース使用量に差が生じる構成要素（差分システム構成要素）を抽出する。管理部１０４は、その差分システム構成要素に推定されたリソース使用量相当の負荷がかかるように、構成変更タスクを決定する。なお、構成変更タスクは、例えば、管理部１０４が運用環境２００上に新たに加えると決定した構成要素について記載された情報のことである。
【００７３】
［動作の説明］
図１５は、本発明の第３の実施形態における、テスト管理システム１００の動作例を示すフローチャートである。
【００７４】
取得部１０１は、運用中のシステムに含まれる複数のリソースの使用量に関する情報を取得する（Ｓ２０１）。
【００７５】
シミュレーション部１０５は、テスト単体を実行した際に必要となるシステム構成及びリソース使用量を推定する（Ｓ２０２）。
【００７６】
管理部１０４は、シミュレーション部１０５が推定したシステム構成について、取得部１０１が取得した運用中のシステム構成と異なる差分システム構成要素を算出し、差分システム構成要素に負荷をかけるために、利用する運用中のシステムの空きリソース及び新たに追加するリソースを決定する（Ｓ２０３）。
【００７７】
また、図１６は、本発明の一実施形態におけるテスト管理装置１０００の構成例を示す図である。図１６に示すように、テスト管理装置１０００が、テスト管理システム１００の各機能を構成要素として含み、性能テストを実行してもよい。
【００７８】
また、テスト管理装置１０００のコンピュータ、ＣＰＵ又はＭＰＵ（Ｍｉｃｒｏ−Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等が、上述した各実施形態の機能を実現するソフトウェア（プログラム）を実行してもよい。例えばＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅｃｏｒｄａｂｌｅ）等の各種記憶媒体又はネットワークを介して、上述した各実施形態の機能を実現するソフトウェア（プログラム）を取得してもよい。テスト管理装置１０００が取得するプログラムや該プログラムを記憶した記憶媒体は、本実施形態を構成することになる。なお、該ソフトウェア（プログラム）は、例えば、テスト管理装置１０００に含まれる所定の記憶部に、予め記憶されていてもよい。テスト管理装置１０００のコンピュータ、ＣＰＵ又はＭＰＵ等は、取得したソフトウェア（プログラム）のプログラムコードを読み出して実行してもよい。
【００７９】
以上、本発明の実施形態を説明したが、本発明は、上記したそれぞれの実施形態に限定されるものではない。本発明は、各実施形態の変形・置換・調整に基づいて実施できる。
また、本発明は、各実施形態を任意に組み合わせて実施することもできる。即ち、本発明は、本明細書の全ての開示内容、技術的思想に従って実現できる各種変形、修正を含む。
【００８０】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
［付記１］
運用中のシステムを利用したテストを行う管理システムであって、
前記テスト単体を実行した際に必要となるシステム構成及び複数のリソースの使用量を推定するシミュレーション手段と、
前記運用中のシステムに含まれる前記複数のリソースの使用量に関する情報を取得する取得手段と、
前記推定したシステム構成について、前記運用中のシステム構成と異なる差分システム構成要素を算出し、前記差分システム構成要素に負荷をかけるために利用する、前記運用中のシステムの空きリソース及び新たに追加するリソースを決定する管理手段と、
を含むことを特徴とする管理システム。
［付記２］
前記管理手段は、前記差分システム構成要素に負荷をかけた際の全てのシステム構成要素の各々のリソースの使用量を推定し、前記リソースの使用量が所定の閾値を超えたか否かを判定し、当該リソースの使用量が当該所定の閾値を超えたと判定した場合に、前記新たに追加するリソースを決定することを特徴とする付記１に記載の管理システム。
［付記３］
前記管理手段は、前記運用中のシステムに含まれる複数のリソースの使用量と、前記テスト単体を実行した際に必要となるシステムの複数のリソースの使用量との差分を計算し、差分がある場合に、差分システム構成要素として算出することを特徴とする付記１又は２に記載の管理システム。
［付記４］
前記管理手段は、前記運用中のシステム構成要素と、前記テスト単体を実行した際に必要となるシステム構成要素との差分を計算し、差分がある場合に、その構成要素を差分システム構成要素として算出することを特徴とする付記１又は２に記載の管理システム。
［付記５］
前記管理手段が決定した前記新たに追加するリソースを、前記運用中のシステムに追加する構築手段をさらに含み、
前記構築手段は、前記管理手段から前記新たに追加するリソースに関する情報の通知を受けた場合に、前記運用中のシステムに当該新たに追加するリソースを構築することを特徴とする付記１乃至４のいずれかに記載の管理システム。
［付記６］
前記テストのための負荷を発生する負荷生成手段をさらに含むことを特徴とする付記１乃至５のいずれかに記載の管理システム。
［付記７］
複数のテストのシナリオを格納する格納手段をさらに含み、前記シミュレーション手段は、前記格納手段が格納する複数のテストのシナリオから、前記運用中のシステムに対して実行するテストに対応するシナリオを取得し、前記負荷生成手段は、前記シミュレーション手段が取得した前記テストのシナリオに基づいて、当該テストのための負荷を発生することを特徴とする付記６に記載の管理システム。
［付記８］
前記複数のリソースの各々は、仮想マシンにより仮想的に実行され、
前記管理手段は、推定した前記複数のリソースの使用量に基づいて、新たに追加する仮想マシンを決定する
ことを特徴とする付記１乃至７のいずれかに記載の管理システム。
［付記９］
運用中のシステムを利用したテストを行うテスト方法であって、
前記テストを単体で実行した際に必要となるシステム構成及び複数のリソースの使用量を推定するステップと、
前記運用中のシステムに含まれる前記複数のリソースに関する情報を取得するステップと、
前記推定したシステム構成について、前記運用中のシステム構成と異なる差分システム構成要素を算出し、前記差分システム構成要素に負荷をかけるために利用する、前記運用中のシステムの空きリソース及び新たに追加するリソースを決定し、テストを実行するステップと
を含むことを特徴とするテスト方法。
［付記１０］
前記差分システム構成要素に負荷をかけた際の全てのシステム構成要素のリソースの使用量を推定し、前記リソースの使用量が所定の閾値を超えたか否かを判定し、当該複数のリソースの使用量が当該所定の閾値を超えたと判定した場合に、前記新たに追加するリソースを決定するステップをさらに含むことを特徴とする付記９に記載のテスト方法。
［付記１１］
前記運用中のシステムに含まれる複数のリソースの使用量と、前記テスト単体を実行した際に必要となるシステムの複数のリソースの使用量との差分を計算し、差分がある場合に、差分システム構成要素として算出するステップをさらに含むことを特徴とする付記９又は１０に記載のテスト方法。
［付記１２］
前記運用中のシステム構成要素と、前記テスト単体を実行した際に必要となるシステム構成要素との差分を計算し、差分がある場合に、その構成要素を差分システム構成要素として算出するステップとを含む
ことを特徴とする付記９乃至１１のいずれかに記載のテスト方法。
［付記１３］
決定した前記新たに追加するリソースを、前記運用中のシステムに追加するステップと、
前記新たに追加するリソースに関する情報の通知を受けた場合に、前記運用中のシステムに当該新たに追加するリソースを構築するステップと
を含むことを特徴とする付記９乃至１２のいずれかに記載のテスト方法。
［付記１４］
前記テストのための負荷を発生するステップをさらに含むことを特徴とする付記９乃至１３のいずれかに記載のテスト方法。
［付記１５］
複数のテストのシナリオを格納するステップと、
格納された複数のテストのシナリオから、前記運用中のシステムに対して実行するテストに対応するシナリオを取得するステップと、
取得した前記テストのシナリオに基づいて、当該テストのための負荷を発生するステップと
をさらに含むことを特徴とする付記１４に記載のテスト方法。
［付記１６］
前記複数のリソースの各々を、仮想マシンにより仮想的に実行するステップと、
推定した前記複数のリソースの使用量に基づいて、新たに追加する仮想マシンを決定するステップと
を含むことを特徴とする付記９乃至１５のいずれかに記載のテスト方法。
［付記１７］
運用中のシステムを利用したテストをコンピュータに実行させるプログラムであって、  前記テストを単体で実行した際に必要となるシステム構成及び複数のリソースの使用量を推定する工程と、
前記運用中のシステムに含まれる前記複数のリソースに関する情報を取得する工程と、  前記推定したシステム構成について、前記運用中のシステム構成と異なる差分システム構成要素を算出し、前記差分システム構成要素に負荷をかけるために利用する、前記運用中のシステムの空きリソース及び新たに追加するリソースを決定し、テストを実行する工程と
を含むことを特徴とするプログラム。
［付記１８］
前記差分システム構成要素に負荷をかけた際の全てのシステム構成要素のリソースの使用量を推定し、前記リソースの使用量が所定の閾値を超えたか否かを判定し、当該複数のリソースの使用量が当該所定の閾値を超えたと判定した場合に、前記新たに追加するリソースを決定する工程をさらに含むことを特徴とする付記１７に記載のプログラム。
この出願は２０１６年２月２４日に出願された日本出願特願２０１６−０３２５９５を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００８１】
１００  テスト管理システム
１０１  システム構成情報取得部
１０２  テスト構成構築部
１０３  テスト負荷生成部
１０４  テスト管理部
１０５  シミュレーション部
１０６  テストシナリオ格納部
２００  運用環境
２００−１、２００−２、２００−３、２００−４、２００−５、２００−６  ＶＭ
【図１】
2017145899.tif 000003
【図２】
2017145899.tif 000004
【図３】
2017145899.tif 000005
【図４】
2017145899.tif 000006
【図５】
2017145899.tif 000007
【図６】
2017145899.tif 000008
【図７】
2017145899.tif 000009
【図８】
2017145899.tif 000010
【図９】
2017145899.tif 000011
【図１０】
2017145899.tif 000012
【図１１】
2017145899.tif 000013
【図１２】
2017145899.tif 000014
【図１３】
2017145899.tif 000015
【図１４】
2017145899.tif 000016
【図１５】
2017145899.tif 000017
【図１６】
2017145899.tif 000018
【手続補正書】
【提出日】平成30年8月2日(2018.8.2)
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
運用中のシステムを利用したテストを行う管理システムであって、
前記テストを単体で実行した際に必要となるシステム構成及び複数のリソースの使用量を推定するシミュレーション手段と、
前記運用中のシステムに含まれる前記複数のリソースの使用量に関する情報を取得する取得手段と、
前記推定したシステム構成について、前記運用中のシステム構成と異なる差分システム構成要素を算出し、前記差分システム構成要素に負荷をかけるために利用する、前記運用中のシステムの空きリソース及び新たに追加するリソースを決定する管理手段と、
を含むことを特徴とする管理システム。
【請求項２】
前記管理手段は、前記差分システム構成要素に負荷をかけた際の全てのシステム構成要素の各々のリソースの使用量を推定し、前記リソースの使用量が所定の閾値を超えたか否かを判定し、当該リソースの使用量が当該所定の閾値を超えたと判定した場合に、前記新たに追加するリソースを決定することを特徴とする請求項１に記載の管理システム。
【請求項３】
前記管理手段は、前記運用中のシステムに含まれる複数のリソースの使用量と、前記テストを単体で実行した際に必要となるシステムの複数のリソースの使用量との差分を計算し、差分がある場合に、前記差分システム構成要素として算出することを特徴とする請求項１又は２に記載の管理システム。
【請求項４】
前記管理手段は、前記運用中のシステム構成要素と、前記テストを単体で実行した際に必要となるシステム構成要素との差分を計算し、差分がある場合に、その構成要素を前記差分システム構成要素として算出することを特徴とする請求項１又は２に記載の管理システム。
【請求項５】
前記管理手段が決定した前記新たに追加するリソースを、前記運用中のシステムに追加する構築手段をさらに含み、
前記構築手段は、前記管理手段から前記新たに追加するリソースに関する情報の通知を受けた場合に、前記運用中のシステムに当該新たに追加するリソースを構築することを特徴とする請求項１乃至４のいずれかに記載の管理システム。
【請求項６】
前記テストのための負荷を発生する負荷生成手段をさらに含むことを特徴とする請求項１乃至５のいずれかに記載の管理システム。
【請求項７】
複数のテストのシナリオを格納する格納手段をさらに含み、
前記シミュレーション手段は、前記格納手段が格納する前記複数のテストのシナリオから、前記運用中のシステムに対して実行するテストに対応するシナリオを取得し、
前記負荷生成手段は、前記シミュレーション手段が取得した前記テストのシナリオに基づいて、当該テストのための負荷を発生する
ことを特徴とする請求項６に記載の管理システム。
【請求項８】
前記複数のリソースの各々は、仮想マシンにより仮想的に実行され、
前記管理手段は、推定された前記複数のリソースの使用量に基づいて、新たに追加する仮想マシンを決定する
ことを特徴とする請求項１乃至７のいずれかに記載の管理システム。
【請求項９】
運用中のシステムを利用したテストを行うテスト方法であって、
前記テストを単体で実行した際に必要となるシステム構成及び複数のリソースの使用量を推定し、前記運用中のシステムに含まれる前記複数のリソースに関する情報を取得し、前記推定されたシステム構成について、前記運用中のシステム構成と異なる差分システム構成要素を算出し、前記差分システム構成要素に負荷をかけるために利用する、前記運用中のシステムの空きリソース及び新たに追加するリソースを決定して前記テストを実行する
ことを含むテスト方法。
【請求項１０】
運用中のシステムを利用したテストをコンピュータに実行させるプログラムであって、
前記テストを単体で実行した際に必要となるシステム構成及び複数のリソースの使用量を推定し、
前記運用中のシステムに含まれる前記複数のリソースに関する情報を取得し、
前記推定したシステム構成について、前記運用中のシステム構成と異なる差分システム構成要素を算出し、前記差分システム構成要素に負荷をかけるために利用する、前記運用中のシステムの空きリソース及び新たに追加するリソースを決定し、テストを実行する
ことを前記コンピュータに実行させるプログラム。
【国際調査報告】
2017145899.tif 000019
2017145899.tif 000020