(57)【要約】  本開示は、データベースに影響のある処理を実行することができるようにする情報処理装置、情報処理方法、プログラム、および情報処理システムに関する。複製処理部は、データベースに影響のあるＡ／Ｂテストを行うことが指示された場合に、そのデータベースを複製してテスト用のデータベースを作成する処理を行う。書き戻し処理部は、Ａ／Ｂテストの終了が指示された場合に、テスト用のデータベースのデータを元のデータベースに書き戻す処理を行う。このとき、テスト用のデータベースに登録されている複数のデータの全て、または、指定された一部のデータが選択されて書き戻される。本技術は、例えば、Ａ／Ｂテストを実行することができるウェブシステムに適用できる。
2018030136.tif 000002
【特許請求の範囲】
【請求項１】
データベースに影響のあるＡ／Ｂテストを行うことが指示された場合に、前記データベースを複製してテスト用のデータベースを作成する処理を行う複製処理部と、
前記Ａ／Ｂテストの終了が指示された場合に、前記テスト用のデータベースのデータを前記データベースに書き戻す処理を行う書き戻し処理部と
を備える情報処理装置。
【請求項２】
前記書き戻し処理部は、前記Ａ／Ｂテストを終了する際に、前記テスト用のデータベースに登録されている複数のデータの全てを前記データベースに書き戻す処理を行う
請求項１に記載の情報処理装置。
【請求項３】
前記書き戻し処理部は、前記テストを終了する際に、前記テスト用のデータベースに登録されている複数のデータのうちの、指定された一部のデータを前記データベースに書き戻す処理を行う
請求項１に記載の情報処理装置。
【請求項４】
前記データベースに書き戻す一部のデータを指定するためのユーザインタフェースを提示する処理を行うユーザインタフェース処理部
をさらに備える請求項３に記載の情報処理装置。
【請求項５】
前記ユーザインタフェース処理部は、データベースに影響のあるテストを行うか否かを指定するユーザインタフェースを提示する処理を行う
請求項４に記載の情報処理装置。
【請求項６】
データベースに影響のあるテストを行うことが指示された場合に、前記データベースを使用する本実装サーバの他に、前記複製処理部により作成された前記テスト用のデータベースを使用するテスト実装サーバを配置する処理を行うサーバ配置処理部
をさらに備える請求項１に記載の情報処理装置。
【請求項７】
前記サーバ配置処理部は、データベースに影響のないテストを行うことが指示された場合に、前記データベースを前記本実装サーバと共有するように前記テスト実装サーバを配置する処理を行う
請求項６に記載の情報処理装置。
【請求項８】
前記テスト用のデータベースには、前記データベースには登録されていない新しい項目が登録されており、
前記本実装サーバにより、前記新しい項目がない前記データベースを使用してサービスが提供され、
前記テスト実装サーバにより、前記新しい項目がある前記テスト用のデータベースを使用してサービスが提供される
請求項６に記載の情報処理装置。
【請求項９】
データベースに影響のあるＡ／Ｂテストを行うことが指示された場合に、前記データベースを複製してテスト用のデータベースを作成する処理を行い、
前記Ａ／Ｂテストの終了が指示された場合に、前記テスト用のデータベースのデータを前記データベースに書き戻す処理を行う
ステップを含む情報処理方法。
【請求項１０】
データベースに影響のあるＡ／Ｂテストを行うことが指示された場合に、前記データベースを複製してテスト用のデータベースを作成する処理を行い、
前記Ａ／Ｂテストの終了が指示された場合に、前記テスト用のデータベースのデータを前記データベースに書き戻す処理を行う
ステップを含む情報処理をコンピュータに実行させるプログラム。
【請求項１１】
データベースに影響のあるＡ／Ｂテストを行うことが指示された場合に、前記データベースを複製してテスト用のデータベースを作成する処理を行う複製処理部と、
前記Ａ／Ｂテストの終了が指示された場合に、前記テスト用のデータベースのデータを前記データベースに書き戻す処理を行う書き戻し処理部と、
前記データベースを使用してサービスを提供する本実装サーバと、
前記テスト用のデータベースを使用してサービスを提供するテスト実装サーバと
を備える情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法、プログラム、および情報処理システムに関し、特に、データベースに影響のある処理を実行することができるようにした情報処理装置、情報処理方法、プログラム、および情報処理システムに関する。
【背景技術】
【０００２】
従来、インターネットを利用した商取引や情報提供などにおいて、アクセス数や商品購入率などを測定するために、異なる２パターンのウェブページを用意し、実際にユーザに利用させて効果を比較するＡ／Ｂテストが利用されている。【０００３】
Ａ／Ｂテストでは、２パターンのウェブページへのユーザの振り分けを、例えば、コード内の条件分岐でユーザを振り分ける方式、または、前段のプロキシサーバで後段の本実装とテスト実装に振り分ける方式によって行うことができる。【０００４】
例えば、特許文献１には、複数のウェブサイトを所有するユーザが、それぞれのウェブサイトのＡ／Ｂテストのテスト結果を容易に知ることができるコンテンツ管理装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−２５７９１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来のＡ／Ｂテストでは、Ａ／Ｂテストの終了時にデータベース内に存在する、Ａ／Ｂテストに用いた不要なデータを書き戻すことが想定されていなかったため、データベースに影響のあるＡ／Ｂテストを実行することは困難であった。【０００７】
本開示は、このような状況に鑑みてなされたものであり、データベースに影響のある処理を実行することができるようにするものである。
【課題を解決するための手段】
【０００８】
本開示の一側面の情報処理装置は、データベースに影響のあるＡ／Ｂテストを行うことが指示された場合に、前記データベースを複製してテスト用のデータベースを作成する処理を行う複製処理部と、前記Ａ／Ｂテストの終了が指示された場合に、前記テスト用のデータベースのデータを前記データベースに書き戻す処理を行う書き戻し処理部とを備える。【０００９】
本開示の一側面の情報処理方法またはプログラムは、データベースに影響のあるＡ／Ｂテストを行うことが指示された場合に、前記データベースを複製してテスト用のデータベースを作成する処理を行い、前記Ａ／Ｂテストの終了が指示された場合に、前記テスト用のデータベースのデータを前記データベースに書き戻す処理を行うステップを含む。【００１０】
本開示の一側面の情報処理システムは、データベースに影響のあるＡ／Ｂテストを行うことが指示された場合に、前記データベースを複製してテスト用のデータベースを作成する処理を行う複製処理部と、前記Ａ／Ｂテストの終了が指示された場合に、前記テスト用のデータベースのデータを前記データベースに書き戻す処理を行う書き戻し処理部と、前記データベースを使用してサービスを提供する本実装サーバと、前記テスト用のデータベースを使用してサービスを提供するテスト実装サーバとを備える。【００１１】
本開示の一側面においては、データベースに影響のあるＡ／Ｂテストを行うことが指示された場合に、そのデータベースを複製してテスト用のデータベースを作成する処理が行われ、Ａ／Ｂテストの終了が指示された場合に、テスト用のデータベースのデータを元のデータベースに書き戻す処理が行われる。
【発明の効果】
【００１２】
本開示の一側面によれば、データベースに影響のある処理を実行することができる。
【図面の簡単な説明】
【００１３】
【図１】本技術を適用した情報処理システムの一実施の形態の構成例を示すブロック図である。
【図２】Ａ／Ｂテストが実行されていない状態における構成例を示す図である。
【図３】データベースに影響のないＡ／Ｂテストが実行されているときの構成例を示す図である。
【図４】データベースに影響のあるＡ／Ｂテストが開始される際の状態を示す図である。
【図５】データベースに影響のあるＡ／Ｂテストが終了される際の状態を示す図である。
【図６】データベースに影響のあるＡ／Ｂテストが終了される際の状態を示す図である。
【図７】データベースに影響のないＡ／Ｂテストを行う際のテスト定義入力画面の一例を示す図である。
【図８】データベースに影響のあるＡ／Ｂテストを行う際のテスト定義入力画面の一例を示す図である。
【図９】テスト一覧画面の一例を示す図である。
【図１０】テスト一覧画面の一例を示す図である。
【図１１】データベースに影響のないＡ／Ｂテストを終了させる際のテスト終了画面の一例を示す図である。
【図１２】データベースに影響のあるＡ／Ｂテストを終了させる際のテスト終了画面の一例を示す図である。
【図１３】データベースに影響のあるＡ／Ｂテストを終了させる際のテスト終了画面の一例を示す図である。
【図１４】データベースに影響のあるＡ／Ｂテストを終了させる際のテスト終了画面の一例を示す図である。
【図１５】データベースの一例を示す図である。
【図１６】新しいカテゴリが追加されたデータベースの一例を示す図である。
【図１７】本番用データベースの変化を説明する図である。
【図１８】テスト用データベースの変化を説明する図である。
【図１９】情報処理システムにおいてＡ／Ｂテストを実行する処理を説明するフローチャートである。
【図２０】本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００１５】
＜情報処理システムの構成例＞
【００１６】
図１は、本技術を適用した情報処理システムの一実施の形態の構成例を示すブロック図である。
【００１７】
図１において、情報処理システム１１は、開発者用端末１２、データベースサーバ構築部１３、テスト管理データベース１４、クライアント端末１５、およびプロキシサーバ１６を備え、それらがネットワークを介して接続されて構成される。情報処理システム１１は、通常のサービスを提供する他、例えば、本実装のウェブページと、テスト用に実装されたウェブページとを用いたＡ／Ｂテストを実行することができる。
【００１８】
開発者用端末１２は、ユーザインタフェース２１、テスト実行指示部２２、およびデプロイ部２３を備えて構成される。
【００１９】
ユーザインタフェース２１は、例えば、図示しないディスプレイに図７乃至１４を参照して後述するような各種の画面を表示し、それらの画面に対して開発者（テスター）により入力される入力内容を取得する。
【００２０】
テスト実行指示部２２は、例えば、後述の図７および図８に示すテスト定義入力画面を利用して開発者が入力したテスト定義がユーザインタフェース２１から供給されると、そのテスト定義をテスト管理データベース１４に登録する。そして、Ａ／Ｂテストを開始するとき、テスト実行指示部２２は、プロキシサーバ１６に対して、テスト管理データベース１４に登録されているテスト定義を参照して、ユーザからのリクエストの振り分けを開始するように指示する。
【００２１】
デプロイ部２３は、情報処理システム１１においてＡ／Ｂテストを開始する際に、データベースサーバ構築部１３にテスト実装サーバ３２およびテスト用データベース３４をデプロイ（配置、展開）して、Ａ／Ｂテストを実行可能な状態とする。例えば、デプロイ部２３は、データベースサーバ構築部１３の本番用データベース３３のデータを複製することでテスト用データベース３４を配置する。また、デプロイ部２３は、情報処理システム１１においてＡ／Ｂテストを終了する際に、テスト用データベース３４のデータを本番用データベース３３に書き戻したり、テスト用データベース３４のデータを破棄したりする。
【００２２】
データベースサーバ構築部１３には、本実装サーバ３１、テスト実装サーバ３２、本番用データベース３３、およびテスト用データベース３４が構築される。なお、図１には、情報処理システム１１においてデータベースに影響のあるＡ／Ｂテストが実行されている状態におけるデータベースサーバ構築部１３の構成例が示されている。例えば、図２乃至６を参照して後述するように、データベースサーバ構築部１３は、情報処理システム１１の状況によって異なる構成となる。
【００２３】
本実装サーバ３１は、ユーザからのリクエストに応じて、情報処理システム１１における通常のサービスを提供する処理を実行する。また、本実装サーバ３１は、情報処理システム１１においてＡ／Ｂテストが行われるときには、クライアント端末１５により振り分けられたユーザのリクエストに応じて、本番用データベース３３を参照して、本実装のウェブページをユーザに提供する。
【００２４】
テスト実装サーバ３２は、情報処理システム１１においてＡ／Ｂテストが行われるときに、クライアント端末１５により振り分けられたユーザのリクエストに応じてサービスを提供する処理を行う。例えば、テスト実装サーバ３２は、テスト用データベース３４を参照して、テスト用のウェブページをユーザに提供する。
【００２５】
本番用データベース３３には、本実装サーバ３１がユーザからのリクエストに応じた処理を行う際に参照するデータが登録されている。
【００２６】
テスト用データベース３４には、テスト実装サーバ３２がユーザからのリクエストに応じた処理を行う際に参照するデータが登録されている。
【００２７】
テスト管理データベース１４には、情報処理システム１１においてＡ／Ｂテストが実行されるときに、ユーザのリクエストをプロキシサーバ１６が本実装サーバ３１とテスト実装サーバ３２とで振り分ける際に参照するテスト定義が登録される。
【００２８】
クライアント端末１５は、ユーザの操作に従ったリクエストをプロキシサーバ１６に送信し、本実装サーバ３１またはテスト実装サーバ３２から提供されるウェブページを表示する。
【００２９】
プロキシサーバ１６は、テスト管理データベース１４に登録されているテスト定義に従って、クライアント端末１５から送信されてくるユーザのリクエストを、本実装サーバ３１とテスト実装サーバ３２とに振り分ける処理を行う。
【００３０】
図２乃至６を参照して、データベースサーバ構築部１３の構成例について説明する。
【００３１】
図２には、情報処理システム１１においてＡ／Ｂテストが実行されていない状態における構成例が示されている。
【００３２】
図２に示すように、情報処理システム１１においてＡ／Ｂテストが実行されていない状態、つまり、通常のサービスを提供しているとき、データベースサーバ構築部１３は、本実装サーバ３１および本番用データベース３３が構築された構成となる。
【００３３】
そして、情報処理システム１１においてデータベースに影響のないＡ／Ｂテストが実行されると、図２に示すデータベースサーバ構築部１３の構成から、図３に示すように、デプロイ部２３によりテスト実装サーバ３２がデプロイされた構成となる。これにより、データベースサーバ構築部１３には、本実装サーバ３１およびテスト実装サーバ３２が本番用データベース３３を共有して利用する構成が構築される。
【００３４】
一方、情報処理システム１１においてデータベースに影響のあるＡ／Ｂテストが開始されるとき、図２に示すデータベースサーバ構築部１３の構成から、図４に示すように、デプロイ部２３によりテスト実装サーバ３２がデプロイされ、さらに、本番用データベース３３を複製することでテスト用データベース３４が設けられた構成となる。これにより、データベースサーバ構築部１３には、本実装サーバ３１が本番用データベース３３を利用し、テスト実装サーバ３２がテスト用データベース３４を利用する構成が構築される。
【００３５】
また、情報処理システム１１においてデータベースに影響のあるＡ／Ｂテストが終了されるとき、図５に示すように、まず、デプロイ部２３によりテスト実装サーバ３２がプロキシサーバ１６から切り離される。これにより、プロキシサーバ１６によるユーザのリクエストの振り分けが停止される。
【００３６】
そして、後述するように、Ａ／Ｂテストにおいて良好なテスト結果が得られた場合、図６に示すように、テスト用データベース３４のデータを本番用データベース３３に書き戻す処理が行われる。その後、デプロイ部２３によりテスト実装サーバ３２およびテスト用データベース３４が削除され、データベースサーバ構築部１３は、図２に示したように、本実装サーバ３１および本番用データベース３３が構築された構成となる。
【００３７】
このように、情報処理システム１１では、テスト用データベース３４のデータを本番用データベース３３に書き戻すことにより、データベースに影響のあるＡ／Ｂテストを実行することができる。
【００３８】
以下では、情報処理システム１１が、例えば、インターネットを介して商品を購入することができるＥＣ（Electronic Commerce）サービスを提供する例について説明する。
【００３９】
ＥＣサービスにおいて、データベースに影響のないＡ／Ｂテストとしては、例えば、ウェブページの購入ボタンの大きさを変更するなど、ウェブページの見た目の変更に伴って商品の購入に変化が表れるかを確認するするテストがある。また、ＥＣサービスにおいて、データベースに影響のあるＡ／Ｂテストとしては、例えば、新規カテゴリを追加するなど、データベースの構造の変更に伴って商品の購入に変化が表れるかを確認するするテストがある。
【００４０】
＜ユーザインタフェースの画面例＞
【００４１】
図７乃至１４を参照して、ユーザインタフェース２１により使用される各種の画面について説明する。
【００４２】
図７には、テストを開始する際に表示されるテスト定義入力画面の一例が示されている。
【００４３】
図７に示すように、テスト定義入力画面４１ａには、テスト定義入力部４２、ラジオボタン４３、テスト開始ボタン４４、およびキャンセルボタン４５が表示される。
【００４４】
テスト定義入力部４２には、情報処理システム１１においてＡ／Ｂテストが行われるときに、プロキシサーバ１６がユーザのリクエストを振り分ける処理を行う際に参照するデータが入力される。例えば、図７には、リクエストを送信してきたユーザのうちの１０％（"ratio":0.1）だけ、テスト実装サーバ３２に振り分ける（"server": "feature1"）テスト定義の例が示されている。
【００４５】
なお、例えば、テスト定義入力部４２に入力されるターゲットの値に基づいて、男性（"target" : {"sex" : "male"}）や、開発者（"target" : {"user _ category" : "developer"}）などの１０％をテスト実装サーバ３２に振り分けるように、ユーザの属性に従って振り分けを定義することができる。
【００４６】
ラジオボタン４３は、情報処理システム１１において行われるＡ／Ｂテストが、データベースに影響があるＡ／Ｂテストであるか否かを選択するGUIである。図７の例では、データベースに影響のないＡ／Ｂテストであることがラジオボタン４３により選択されている状態が示されている。
【００４７】
テスト開始ボタン４４は、情報処理システム１１においてＡ／Ｂテストを開始するときに開発者によって操作されるGUIである。
【００４８】
キャンセルボタン４５は、テスト定義入力画面４１ａを利用した操作の入力をキャンセルするときに開発者により操作されるGUIである。
【００４９】
図８には、データベースに影響のあるＡ／Ｂテストを行う際のテスト定義入力画面の一例が示されている。
【００５０】
図８に示すように、テスト定義入力画面４１ｂでは、情報処理システム１１において行われるＡ／Ｂテストが、データベースに影響のあるＡ／Ｂテストであることがラジオボタン４３により選択されている状態が示されている。そして、この選択に従って、テスト定義入力画面４１ｂには、複製が必要なデータベースを指定するチェックボックス４６が表示される。
【００５１】
図８のテスト定義入力画面４１ｂの例では、複製が必要なデータベースとして、ユーザ（User）、商品（Product）、商品のカテゴリ（Category）、ユーザの購入履歴（Purchase _ History）、プリファレンス（Preference）が選択可能となっている。そして、チェックボックス４６により、プロダクトおよびカテゴリが指定されている状態が示されている。
【００５２】
図９には、情報処理システム１１において行われるＡ／Ｂテストの一覧を示すテスト一覧画面の一例が示されている。
【００５３】
図９に示されているテスト一覧画面５１ａでは、新規カテゴリを追加するＡ／Ｂテストのテスト名「New category」、および、ウェブページの購入ボタンの大きさを変更するＡ／Ｂテストのテスト名「Large Button」がリストアップされている。
【００５４】
また、テスト名「New category」の状態は「準備完了」であって、そのＡ／Ｂテストのテスト内容が「商品カテゴリに「旅行用品」を追加するテスト」であることが示されている。同様に、テスト名「Large Button」の状態は「テスト中」であって、そのＡ／Ｂテストのテスト内容が「商品の購入ボタンのサイズを大きくするテスト」であることが示されている。
【００５５】
そして、テスト一覧画面５１ａでは、テスト名「New category」に対するテスト開始ボタン５２およびテスト終了ボタン５３が表示される。テスト開始ボタン５２は、テスト名「New category」のＡ／Ｂテストを開始させるときに操作されるGUIである。なお、テスト名「New category」のＡ／Ｂテストの状態が準備完了である事より、テスト終了ボタン５３は操作不可とされて、テスト終了ボタン５３には「テスト実施前」と表示されている。
【００５６】
同様に、テスト一覧画面５１ａでは、テスト名「Large Button」に対するテスト開始ボタン５４およびテスト終了ボタン５５が表示される。テスト終了ボタン５５は、テスト名「Large Button」のＡ／Ｂテストを終了させるときに操作されるGUIである。なお、テスト名「Large Button」のＡ／Ｂテストの状態がテスト中である事より、テスト開始ボタン５４は操作不可とされて、テスト開始ボタン５４には「テスト実施中」と表示されている。
【００５７】
このようなテスト一覧画面５１ａに対し、開発者は、テスト開始ボタン５２に対する操作を行って、テスト名「New category」のＡ／Ｂテストを開始させたり、テスト終了ボタン５５に対する操作を行って、テスト名「Large Button」のＡ／Ｂテストを終了させたりすることができる。
【００５８】
そして、テスト開始ボタン５２に対する操作が行われると、図１０のテスト一覧画面５１ｂに示すように、テスト開始ボタン５２は選択不可とされて、テスト開始ボタン５２には「テスト実施中」と表示される。また、同時に、テスト名「New category」のＡ／Ｂテストを終了させるテスト終了ボタン５３は操作可能な状態となる。
【００５９】
同様に、テスト終了ボタン５５に対する操作が行われると、図１０のテスト一覧画面５１ｂに示すように、テスト終了ボタン５５は選択不可とされて、テスト終了ボタン５５には「テスト実施前」と表示される。また、同時に、テスト名「Large Button」のＡ／Ｂテストを開始させるテスト開始ボタン５４は操作可能な状態となる。
【００６０】
このようなテスト一覧画面５１ｂに対し、開発者は、テスト終了ボタン５３に対する操作を行って、テスト名「New category」のＡ／Ｂテストを終了させたり、テスト開始ボタン５４に対する操作を行って、テスト名「Large Button」のＡ／Ｂテストを開始させたりすることができる。
【００６１】
図１１には、情報処理システム１１においてデータベースに影響のないＡ／Ｂテストを終了させる際に表示されるテスト終了画面の一例が示されている。
【００６２】
例えば、データベースに影響のないＡ／Ｂテストを終了させるとき、テスト終了画面６１ａには、テスト終了ボタン６２およびキャンセルボタン６３が表示される。テスト終了ボタン６２は、データベースに影響のないＡ／Ｂテストを終了させるときに操作されるGUIである。キャンセルボタン６３は、データベースに影響のないＡ／Ｂテストの終了をキャンセルさせるときに操作されるGUIである。
【００６３】
図１２には、情報処理システム１１においてデータベースに影響のあるＡ／Ｂテストを終了させる際に表示されるテスト終了画面の一例が示されている。
【００６４】
例えば、データベースに影響のあるＡ／Ｂテストを終了させるとき、テスト終了画面６１ｂには、テスト終了ボタン６２およびキャンセルボタン６３に加えて、ラジオボタン６４が表示される。
【００６５】
ラジオボタン６４は、テスト用データベース３４を削除する際の処理を選択するGUIである。例えば、ラジオボタン６４により、開発者は、テスト用データベース３４の全てのデータを本番用データベース３３に書き戻す処理、テスト用データベース３４の一部のデータを本番用データベース３３に全て書き戻す処理、および、テスト用データベース３４の全てのデータを捨てる処理のうちの、いずれかを選択したことを指示することができる。
【００６６】
例えば、図１２に示すテスト終了画面６１ｂでは、ラジオボタン６４により、テスト用データベース３４の全てのデータを本番用データベース３３に書き戻す処理が選択されている状態が示されている。
【００６７】
また、図１３に示すテスト終了画面６１ｃでは、ラジオボタン６４により、テスト用データベース３４の全てのデータを捨てる処理が選択されている状態が示されている。
【００６８】
そして、ラジオボタン６４により、テスト用データベース３４の一部のデータを本番用データベース３３に全て書き戻す処理が選択されると、図１４のテスト終了画面６１ｄに示すように、ラジオボタン６５が表示される。
【００６９】
図１４に示すように、ラジオボタン６５は、開発者がＡ／Ｂテストを行ったテスト結果を確認し、本番用データベース３３に書き戻すデータベースを選択するGUIである。図１４の例では、本番用データベース３３に書き戻すデータベースとして、商品のデータベースが選択されている状態が示されている。
【００７０】
このように、情報処理システム１１では、ユーザインタフェース２１により表示される画面を利用して、開発者は、図７乃至１４を参照して上述したような各種の入力を行うことができる。
【００７１】
＜データベースに影響のないＡ／Ｂテスト＞
【００７２】
情報処理システム１１においてデータベースに影響のないＡ／Ｂテストを行う例について説明する。
【００７３】
例えば、データベースに影響のないＡ／Ｂテストとして、ウェブページの購入ボタンの大きさを変更する場合、実装者は、購入ボタンの大きさを変更したフィーチャーブランチを実装し、そのブランチ名、および、Ａ／Ｂテストがデータベースに影響のないことを開発者に通知する。
【００７４】
これに応じて、開発者は、図７に示したテスト定義入力画面４１ａを使用して、購入ボタンの大きさを変化させたＡ／Ｂテストを行う対象とする対象者（ユーザの９０%など）や、テストしたいブランチ名（feature1など）を記述したテスト定義を、テスト定義入力部４２に入力する。そして、開発者は、ラジオボタン４３に対する操作を行って、データベースに影響のないＡ／Ｂテストであることを選択した後、テスト開始ボタン４４を押下する操作を行う。
【００７５】
開発者用端末１２では、ユーザインタフェース２１が開発者による入力内容を取得して、テスト実行指示部２２は、テスト管理データベース１４にテスト定義を登録し、デプロイ部２３は、本番用データベース３３を共有した構成でテスト実装サーバ３２をデプロイする。これにより、上述の図３に示したように、データベースサーバ構築部１３には、本実装サーバ３１およびテスト実装サーバ３２が本番用データベース３３を共有して利用する構成が構築される。
【００７６】
そして、テスト実装サーバ３２のデプロイが完了するとともにＡ／Ｂテストが開始される。その後、プロキシサーバ１６は、テスト管理データベース１４に登録されているテスト定義に従って、クライアント端末１５からのリクエストを本実装サーバ３１およびテスト実装サーバ３２に振り分けを行う。
【００７７】
このように、情報処理システム１１においてデータベースに影響のないＡ／Ｂテストが行われ、開発者は、良好なテスト結果が得られたか、良好なテスト結果が得られなかったかを確認し、テストを終了させることができる。
【００７８】
即ち、ウェブページの購入ボタンの大きさを変更するテストが行われている場合、図９のテスト一覧画面５１ａがユーザインタフェース２１により表示され、開発者は、テスト終了ボタン５５を押下する操作を行うことで、Ａ／Ｂテストを終了させることができる。
【００７９】
＜データベースに影響のあるＡ／Ｂテスト＞
【００８０】
図１５乃至図１８に示すデータベースの内容を用いて、情報処理システム１１においてデータベースに影響のあるＡ／Ｂテストを行う例について説明する。
【００８１】
例えば、ＥＣサービスは、図１５に示すように、状態を持つデータとして、ユーザ、商品、商品のカテゴリ、ユーザの購入履歴、プリファレンス（ユーザ毎のカテゴリの嗜好ベクトル）を、データベースに保持している。
【００８２】
図１５のＡには、ユーザＩＤ（Identification）および名前などの情報を管理するユーザデータベースが示されており、図１５のＢには、ＥＣサービスで取り扱う商品の情報を管理する商品データベースが示されている。図１５のＣには、商品のカテゴリの一覧を管理するカテゴリデータベースが示されており、図１５のＤには、ユーザの購入履歴を管理する購入履歴データベースが示されている。図１５のＥには、ユーザに商品を推奨するためにユーザごとの嗜好ベクトルを管理するプリファレンスデータベースが示されている。
【００８３】
そして、データベースに影響のあるＡ／Ｂテストとして、新規カテゴリを追加するＡ／Ｂテストを行う場合、例えば、商品データベースおよびカテゴリデータベースに固有の値が追加されることになる。
【００８４】
従来、本番用データベース３３では、図１５のＣに示すように、例えば、食品や、靴、本などの商品の性質で商品のカテゴリの一覧が管理されていた。これに対し、テスト用データベース３４に、図１６のＣに示すように、最近売れている商品を表す新しいカテゴリとしてトレンドを追加してＡ／Ｂテストを行う。これにより、トレンドという項目から、最近売れている商品だけを見ることができるようになり、売れ行きや商品クリック率といったKPI（Key Performance Indicator）の変化を観察するＡ／Ｂテストを行うことができる。
【００８５】
また、図１６のＢに示すように、商品データベースにおける売れ行き商品（Product ID：2）に対して、トレンドカテゴリ（Category ID：4）が付与されている。これにより、例えば、商品データベースから売れ行き商品だけを検索する機能を付加することができる。
【００８６】
そして、データベースに影響のあるＡ／Ｂテストとして、新規カテゴリを追加する場合、実装者は、新しいカテゴリを追加したフィーチャーブランチを実装する。そして、実装者は、ブランチ名、および、テストが商品データベースおよびカテゴリデータベースに影響があることを、開発者に通知する。
【００８７】
これに応じて、開発者は、図８に示したテスト定義入力画面４１ｂを使用して、新しいカテゴリを追加したテストを行う対象とする対象者（ユーザの３０%など）や、テストしたいブランチ名（feature1など）を記述したテスト定義を、テスト定義入力部４２に入力する。そして、開発者は、ラジオボタン４３に対する操作を行って、データベースに影響のあるＡ／Ｂテストであることを選択し、テストが商品データベースおよびカテゴリデータベースに影響があることを入力した後、テスト開始ボタン４４を押下する操作を行う。
【００８８】
開発者用端末１２では、ユーザインタフェース２１が開発者による入力内容を取得して、テスト実行指示部２２は、テスト管理データベース１４にテスト定義を登録し、デプロイ部２３は、テスト用データベース３４を複製した構成でテスト実装サーバ３２をデプロイする。これにより、上述の図４に示したように、データベースサーバ構築部１３には、本実装サーバ３１が本番用データベース３３を利用し、テスト実装サーバ３２がテスト用データベース３４を利用する構成が構築される。
【００８９】
そして、テスト実装サーバ３２のデプロイが完了するとともにＡ／Ｂテストが開始される。その後、プロキシサーバ１６は、テスト管理データベース１４に登録されているテスト定義に従って、クライアント端末１５からのリクエストを本実装サーバ３１およびテスト実装サーバ３２に振り分けを行う。例えば、開発者は、本番用データベース３３およびテスト用データベース３４のデータに差が出るまで、Ａ／Ｂテストを継続して行わせる。
【００９０】
このＡ／Ｂテストでは、本番用データベース３３は、図１５に示したように、カテゴリデータベースに、食品、靴、および、本が登録された構成となる。また、テスト用データベース３４では、図１６に示したように、カテゴリデータベースにトレンドが追加された構成となる。そして、情報処理システム１１において行われたＡ／Ｂテストで、良好なテスト結果が得られた場合、開発者は、テスト用データベース３４のデータを本番用データベース３３に取り込んでＡ／Ｂテストを終了させることができる。
【００９１】
即ち、新規カテゴリを追加するテストが行われている場合、ユーザインタフェース２１により図１０のテスト一覧画面５１ｂが表示され、開発者は、テスト終了ボタン５３を押下する操作を行うことで、テストを終了させることができる。続いて、ユーザインタフェース２１によりテスト終了画面６１ｂ（図１２）が表示され、開発者は、ラジオボタン６４を利用して、テスト用データベース３４の全てのデータを本番用データベース３３に書き戻す処理を選択した後、テスト終了ボタン６２に対する操作を行う。
【００９２】
この操作が行われた以降、情報処理システム１１では、テスト実装サーバ３２がプロキシサーバ１６から切り離され（図５）、プロキシサーバ１６はテスト実装サーバ３２へのリクエストの転送を停止し、本実装サーバ３１にのみリクエストの転送を行う。そして、情報処理システム１１では、必要なデータを本実装サーバ３１に取り込む（図６）ため、テスト用データベース３４の内容が本番用データベース３３に書き戻し（sync）される。これにより、本番用データベース３３において、カテゴリデータベースにトレンドが追加され、以降は、全てのユーザに対してトレンドのカテゴリが有効となる。
【００９３】
これに対し、情報処理システム１１において行われたＡ／Ｂテストで、良好なテスト結果が得られなかった場合、開発者は、テスト用データベース３４のデータを本番用データベース３３に取り込まずにＡ／Ｂテストを終了させることができる。
【００９４】
即ち、上述と同様に、開発者は、図１０のテスト一覧画面５１ｂのテスト終了ボタン５３を押下する操作を行うことで、Ａ／Ｂテストを終了させることができる。続いて、ユーザインタフェース２１によりテスト終了画面６１ｃ（図１３）が表示され、開発者は、ラジオボタン６４を利用して、テスト用データベース３４の全てのデータを捨てる処理を選択した後、テスト終了ボタン６２に対する操作を行う。
【００９５】
これにより、情報処理システム１１では、テスト用データベース３４において、カテゴリデータベースからトレンドが削除され、以降は、全てのユーザに対してトレンドのカテゴリが無効となる。
【００９６】
ここで、データベースに影響のあるＡ／Ｂテストとして、ユーザごとの嗜好を分析して、ユーザごとのおすすめ商品を推薦するためのアルゴリズムを変更するＡ／Ｂテストについて説明する。
【００９７】
例えば、情報処理システム１１は、おすすめ商品を推薦するアルゴリズムを内部で抱えていて、このアルゴリズムを改善する事で売り上げ向上に繋げることが期待される。例えば、プリファレンスデータベースには、個人ごとに商品カテゴリの嗜好の重みづけを表すｎ次元ベクトルｗが登録される。ベクトルの各次元はそれぞれ、食品や、靴、本などの商品のカテゴリごとにどれだけ興味があるかを示している。
【００９８】
本番用データベース３３では、ユーザの興味は長期的に変わらないものであるという仮説に基づき、重みを収束させるために、学習率を試行回数と共に減衰させるモデルを用いている。一方で、テスト用データベース３４では、ユーザの興味は時系列的に変遷するものだという仮説に基づき、重みを減衰させないモデルを用いる。
【００９９】
そのため、本番用データベース３３を使用する本実装サーバ３１のアルゴリズムでは、最近購入した商品のカテゴリを多くおすすめされるという事はない。これに対し、テスト用データベース３４を使用するテスト実装サーバ３２のアルゴリズムでは、ユーザの最近購入した商品が強く重みづけされる。これにより売れ行きや商品クリック率といったKPIの変化を観察するＡ／Ｂテストの事例を考える。
【０１００】
このようなＡ／Ｂテストでは、新規カテゴリを追加するＡ／Ｂテストとは異なり、テスト用データベース３４のデータを事前に変更することは行われない。つまり、本実装サーバ３１のアルゴリズムと、テスト実装サーバ３２のアルゴリズムとが異なることより、Ａ／Ｂテストの実施とともに、図１７および図１８に示すように、プリファレンスデータベースの値が乖離することになる。
【０１０１】
このように、図１７に示す本番用データベース３３のプリファレンスデータベースの値と、図１８に示すテスト用データベース３４のプリファレンスデータベースの値とは、アルゴリズムによって変化したものとなる。
【０１０２】
実装者は、新しいアルゴリズムを変更しフィーチャーブランチを実装し、ブランチ名、および、プリファレンスデータベースに影響があることを、開発者に通知する。これに応じて、開発者は、テスト定義入力画面４１を使用して、新しいカテゴリを追加したテストを行う対象とする対象者（ユーザの３０%など）や、テストしたいブランチ名（feature1など）を記述したテスト定義を、テスト定義入力部４２に入力する。そして、開発者は、ラジオボタン４３に対する操作を行って、データベースに影響のあるＡ／Ｂテストであることを選択し、プリファレンスデータベースに影響があることを入力した後、テスト開始ボタン４４を押下する操作を行う。
【０１０３】
開発者用端末１２では、ユーザインタフェース２１が開発者による入力内容を取得して、テスト実行指示部２２は、テスト管理データベース１４にテスト定義を登録し、デプロイ部２３は、テスト用データベース３４を複製した構成でテスト実装サーバ３２をデプロイする。これにより、上述の図４に示したように、データベースサーバ構築部１３には、本実装サーバ３１が本番用データベース３３を利用し、テスト実装サーバ３２がテスト用データベース３４を利用する構成が構築される。
【０１０４】
そして、テスト実装サーバ３２のデプロイが完了するとともにＡ／Ｂテストが開始される。その後、プロキシサーバ１６は、テスト管理データベース１４に登録されているテスト定義に従って、クライアント端末１５からのリクエストを本実装サーバ３１およびテスト実装サーバ３２に振り分けを行う。例えば、開発者は、本番用データベース３３およびテスト用データベース３４のデータに差が出るまで、Ａ／Ｂテストを継続して行わせる。その後、上述と同様の手順で、Ａ／Ｂテストは終了される。
【０１０５】
例えば、このＡ／Ｂテストにおいて、良好なテスト結果が得られるケースとは、ユーザは最近購入した商品と同様のカテゴリの商品をおすすめされると、購入する場合が多いという時である。この時、テストユーザに対して学習した重みｗは、有効であるため、テスト用データベース３４のデータを本番用データベース３３に書き戻し、そのままサービスを続行する。
【０１０６】
一方、このＡ／Ｂテストにおいて、良好なテスト結果が得られないケースとは、ユーザは最近購入した商品と同様のカテゴリの商品には興味を示さず、以前から購入する頻度の多いカテゴリの商品を選ぶという場合である。この時、テストユーザに対して学習した重みｗを用いた推薦はうまくいかないことがわかっているため、テスト用データベース３４のデータは破棄される。そして、以前に学習した重みにもどした後に、サービスを続行する。
【０１０７】
＜情報処理システム１１において実行される処理＞
【０１０８】
図１９のフローチャートを参照して、情報処理システム１１においてＡ／Ｂテストを実行する処理について説明する。例えば、実装者が、開発者にＡ／Ｂテストを依頼して、Ａ／Ｂテストを行うのに必要な情報を通知すると処理が開始される。
【０１０９】
ステップＳ１１において、ユーザインタフェース２１は、テスト定義入力画面４１を表示して、開発者に対してテスト定義の入力を行わせる。そして、開発者は、テスト定義入力部４２を利用してテスト定義を入力し、ラジオボタン４３を利用してＡ／Ｂテストがデータベースに影響があるか否かを選択する入力を行った後、テスト開始ボタン４４に対する操作を行う。これに応じて、ユーザインタフェース２１は、開発者がテスト定義入力画面４１に対して入力した入力内容を取得する。
【０１１０】
ステップＳ１２において、ユーザインタフェース２１は、ステップＳ１１で取得した入力内容に基づいて、情報処理システム１１において実行するＡ／Ｂテストがデータベースに影響のあるものであるか否かを判定する。
【０１１１】
ステップＳ１２において、ユーザインタフェース２１が、情報処理システム１１において実行するＡ／Ｂテストがデータベースに影響のあるものでないと判定した場合、即ち、データベースに影響のないＡ／Ｂテストを実行する場合、処理はステップＳ１３に進む。
【０１１２】
ステップＳ１３において、ユーザインタフェース２１は、デプロイ部２３に対して、データベースに影響のないＡ／Ｂテストを実行することを指示し、デプロイ部２３は、本番用データベース３３を共有した構成でテスト実装サーバ３２をデプロイする。これにより、図３に示したように、データベースサーバ構築部１３には、本実装サーバ３１およびテスト実装サーバ３２が本番用データベース３３を共有して利用する構成が構築される。
【０１１３】
ステップＳ１４において、ユーザインタフェース２１は、テスト実行指示部２２に対して、ステップＳ１１で取得したテスト定義を供給するとともに、テストを開始することを指示する。これにより、テスト実行指示部２２は、テスト管理データベース１４にテスト定義を登録し、プロキシサーバ１６は、そのテスト定義に従って、テスト実装サーバ３２へのユーザのリクエストの振り分けを開始する。
【０１１４】
ステップＳ１５において、情報処理システム１１では、本実装サーバ３１およびテスト実装サーバ３２は、それぞれテスト実装サーバ３２に振り分けられたユーザのリクエストに応じて、本番用データベース３３を使用してＡ／Ｂテストを実行する。例えば、本実装サーバ３１は、通常の大きさの購入ボタンが表示されるウェブページを送信し、テスト実装サーバ３２は、通常より大きな購入ボタンが表示されるウェブページを送信する。
【０１１５】
ステップＳ１６において、ユーザインタフェース２１は、情報処理システム１１によるＡ／Ｂテストを終了するか否かを判定する。例えば、開発者は、本実装サーバ３１およびテスト実装サーバ３２によるアクセスの違いなどのテスト結果を確認し、Ａ／Ｂテストを終了させるときには、図９のテスト終了ボタン５５を押下する操作を行う。これにより、ユーザインタフェース２１は、情報処理システム１１によるＡ／Ｂテストを終了させると判定する。
【０１１６】
ステップＳ１６において、ユーザインタフェース２１がテストを終了しないと判定した場合、処理はステップＳ１５に戻って、継続してＡ／Ｂテストが継続される。一方、ステップＳ１６において、ユーザインタフェース２１がテストを終了すると判定した場合、処理はステップＳ１７に進む。
【０１１７】
ステップＳ１７において、ユーザインタフェース２１は、テスト実行指示部２２に対してＡ／Ｂテストを終了することを指示する。これにより、テスト実行指示部２２は、テスト管理データベース１４に登録されているテスト定義を削除し、プロキシサーバ１６は、テスト実装サーバ３２へのユーザのリクエストの振り分けを停止する。
【０１１８】
ステップＳ１８において、ユーザインタフェース２１は、デプロイ部２３に対してＡ／Ｂテストを終了することを指示し、デプロイ部２３は、本実装サーバ３１からテスト実装サーバ３２を削除する。
【０１１９】
一方、ステップＳ１２において、ユーザインタフェース２１が、情報処理システム１１において実行するＡ／Ｂテストがデータベースに影響のあるものであると判定した場合、即ち、データベースに影響のあるＡ／Ｂテストを実行する場合、処理はステップＳ１９に進む。
【０１２０】
ステップＳ１９において、ユーザインタフェース２１は、デプロイ部２３に対して、データベースに影響のあるＡ／Ｂテストを実行することを指示し、デプロイ部２３は、テスト用データベース３４を複製した構成でテスト実装サーバ３２をデプロイする。これにより、図４に示したように、データベースサーバ構築部１３では、本番用データベース３３を複製することによってテスト用データベース３４が設けられる。そして、データベースサーバ構築部１３には、本実装サーバ３１が本番用データベース３３を利用し、テスト実装サーバ３２がテスト用データベース３４を利用する構成が構築される。
【０１２１】
ステップＳ２０乃至Ｓ２３において、ステップＳ１４乃至Ｓ１７と同様の処理が行われる。この場合、ステップＳ２１では、テスト実装サーバ３２はテスト用データベース３４を使用してテストを実行する。例えば、本実装サーバ３１は、カテゴリデータベースにトレンドがないカテゴリデータベースに基づいてウェブページを送信し、テスト実装サーバ３２は、カテゴリデータベースにトレンドがあるカテゴリデータベースに基づいてウェブページを送信する。
【０１２２】
ステップＳ２４において、ユーザインタフェース２１は、テスト終了画面６１に対する開発者の入力に基づいて、テスト用データベース３４のデータに対する指示を取得する。
【０１２３】
ステップＳ２５において、ユーザインタフェース２１は、ステップＳ２４で取得した指示に従って、テスト用データベース３４について、全てのデータが必要であるのか、一部のデータが必要であるのか、または、全てのデータが不要であるのかを判定する。
【０１２４】
ステップＳ２５において、ユーザインタフェース２１が、テスト用データベース３４について、全てのデータが必要であると判定した場合、処理はステップＳ２６に進む。ステップＳ２６において、デプロイ部２３は、テスト用データベース３４の全てのデータを本番用データベース３３に書き戻す処理を行う。
【０１２５】
一方、ステップＳ２５において、ユーザインタフェース２１が、テスト用データベース３４について、一部のデータが必要であると判定した場合、処理はステップＳ２７に進む。ステップＳ２７において、デプロイ部２３は、例えば、図１４を参照して上述したようにラジオボタン６５を利用して指定された一部のデータを本番用データベース３３に書き戻す処理を行う。
【０１２６】
また、ステップＳ２５において、ユーザインタフェース２１が、テスト用データベース３４について、全てのデータが不要であると判定した場合、並びに、ステップＳ２６およびＳ２７の処理後、処理はステップＳ２８に進む。
【０１２７】
ステップＳ２８において、デプロイ部２３は、本実装サーバ３１からテスト用データベース３４およびテスト実装サーバ３２を削除する。
【０１２８】
そして、ステップＳ１８およびＳ２８の処理後、処理は終了される。
【０１２９】
以上のように、情報処理システム１１では、Ａ／Ｂテストを開始する時に、開発者が、図８のテスト定義入力画面４１ｂを利用して、Ａ／Ｂテストで影響のあるデータ（即ち、本番用データベース３３とは異なる項目が登録され得るデータ）が指定され、テスト用データベース３４が複製される。その後、ユーザからのリクエストに応じて、本番用データベース３３およびテスト用データベース３４を更新していくことで、それぞれ状態の異なるデータを保持することになる。
【０１３０】
そして、情報処理システム１１では、Ａ／Ｂテストを終了するときに、Ａ／Ｂテストで更新されたテスト用データベース３４のデータを、全て書き戻すか、一部だけ書き戻すか、全て破棄するかを選択することができる。これにより、Ａ／Ｂテストのテスト結果から、必要なデータのみを抽出することができる。
【０１３１】
また、情報処理システム１１は、データベースサーバ構築部１３に構築される本番用データベース３３およびテスト用データベース３４を、開発者には意識させることなく、Ａ／Ｂテストで影響のあるデータの指定や、書き戻すデータの指定などを行わせることで、データベースに影響のあるＡ／Ｂテストを実行することができる。
【０１３２】
なお、情報処理システム１１では、Ａ／Ｂテストを開始する時に、Ａ／Ｂテストを終了する時刻の指定と、書き戻すデータの指定を行えるようにしてもよい。また、情報処理システム１１で実行される情報処理については、Ａ／Ｂテストに限定されることなく、例えば、複数のサーバに対するアップデートをローテーションで行うようなローリングアップデートなどを適用することができる。
【０１３３】
なお、上述のフローチャートを参照して説明した各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。また、プログラムは、１のCPUにより処理されるものであっても良いし、複数のCPUによって分散処理されるものであっても良い。
【０１３４】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０１３５】
また、上述した一連の処理（情報処理方法）は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラムが記録されたプログラム記録媒体からインストールされる。
【０１３６】
図２０は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０１３７】
コンピュータにおいて、CPU（Central Processing Unit）１０１，ROM（Read Only Memory）１０２，RAM（Random Access Memory）１０３は、バス１０４により相互に接続されている。
【０１３８】
バス１０４には、さらに、入出力インタフェース１０５が接続されている。入出力インタフェース１０５には、キーボード、マウス、マイクロホンなどよりなる入力部１０６、ディスプレイ、スピーカなどよりなる出力部１０７、ハードディスクや不揮発性のメモリなどよりなる記憶部１０８、ネットワークインタフェースなどよりなる通信部１０９、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア１１１を駆動するドライブ１１０が接続されている。
【０１３９】
以上のように構成されるコンピュータでは、CPU１０１が、例えば、記憶部１０８に記憶されているプログラムを、入出力インタフェース１０５及びバス１０４を介して、RAM１０３にロードして実行することにより、上述した一連の処理が行われる。
【０１４０】
コンピュータ（CPU１０１）が実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア１１１に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【０１４１】
そして、プログラムは、リムーバブルメディア１１１をドライブ１１０に装着することにより、入出力インタフェース１０５を介して、記憶部１０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部１０９で受信し、記憶部１０８にインストールすることができる。その他、プログラムは、ROM１０２や記憶部１０８に、あらかじめインストールしておくことができる。
【０１４２】
なお、本技術は以下のような構成も取ることができる。
（１）
データベースに影響のあるＡ／Ｂテストを行うことが指示された場合に、前記データベースを複製してテスト用のデータベースを作成する処理を行う複製処理部と、
前記Ａ／Ｂテストの終了が指示された場合に、前記テスト用のデータベースのデータを前記データベースに書き戻す処理を行う書き戻し処理部と
を備える情報処理装置。
（２）
前記書き戻し処理部は、前記Ａ／Ｂテストを終了する際に、前記テスト用のデータベースに登録されている複数のデータの全てを前記データベースに書き戻す処理を行う
上記（１）に記載の情報処理装置。
（３）
前記書き戻し処理部は、前記Ａ／Ｂテストを終了する際に、前記テスト用のデータベースに登録されている複数のデータのうちの、指定された一部のデータを前記データベースに書き戻す処理を行う
上記（１）または（２）に記載の情報処理装置。
（４）
前記データベースに書き戻す一部のデータを指定するためのユーザインタフェースを提示する処理を行うユーザインタフェース処理部
上記（３）に記載の情報処理装置。
（５）
前記ユーザインタフェース処理部は、データベースに影響のあるテストを行うか否かを指定するユーザインタフェースを提示する処理を行う
上記（４）に記載の情報処理装置。
（６）
データベースに影響のあるテストを行うことが指示された場合に、前記データベースを使用する本実装サーバの他に、前記複製処理部により作成された前記テスト用のデータベースを使用するテスト実装サーバを配置する処理を行うサーバ配置処理部
上記（１）から（５）までのいずれかに記載の情報処理装置。
（７）
前記サーバ配置処理部は、データベースに影響のないテストを行うことが指示された場合に、前記データベースを前記本実装サーバと共有するように前記テスト実装サーバを配置する処理を行う
上記（６）に記載の情報処理装置。
（８）
前記テスト用のデータベースには、前記データベースには登録されていない新しい項目が登録されており、
前記本実装サーバにより、前記新しい項目がない前記データベースを使用してサービスが提供され、
前記テスト実装サーバにより、前記新しい項目がある前記テスト用のデータベースを使用してサービスが提供される
上記（６）に記載の情報処理装置。
（９）
データベースに影響のあるＡ／Ｂテストを行うことが指示された場合に、前記データベースを複製してテスト用のデータベースを作成する処理を行い、
前記Ａ／Ｂテストの終了が指示された場合に、前記テスト用のデータベースのデータを前記データベースに書き戻す処理を行う
ステップを含む情報処理方法。
（１０）
データベースに影響のあるＡ／Ｂテストを行うことが指示された場合に、前記データベースを複製してテスト用のデータベースを作成する処理を行い、
前記Ａ／Ｂテストの終了が指示された場合に、前記テスト用のデータベースのデータを前記データベースに書き戻す処理を行う
ステップを含む情報処理をコンピュータに実行させるプログラム。
（１１）
データベースに影響のあるＡ／Ｂテストを行うことが指示された場合に、前記データベースを複製してテスト用のデータベースを作成する処理を行う複製処理部と、
前記Ａ／Ｂテストの終了が指示された場合に、前記テスト用のデータベースのデータを前記データベースに書き戻す処理を行う書き戻し処理部と、
前記データベースを使用してサービスを提供する本実装サーバと、
前記テスト用のデータベースを使用してサービスを提供するテスト実装サーバと
を備える情報処理システム。
【０１４３】
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０１４４】
１１  情報処理システム，  １２  開発者用端末，  １３  データベースサーバ構築部，  １４  テスト管理データベース，  １５  クライアント端末，  １６  プロキシサーバ，  ２１  ユーザインタフェース，  ２２  テスト実行指示部，  ２３  デプロイ部，  ３１  本実装サーバ，  ３２  テスト実装サーバ，  ３３  本番用データベース，  ３４  テスト用データベース
【図１】
2018030136.tif 000003
【図２】
2018030136.tif 000004
【図３】
2018030136.tif 000005
【図４】
2018030136.tif 000006
【図５】
2018030136.tif 000007
【図６】
2018030136.tif 000008
【図７】
2018030136.tif 000009
【図８】
2018030136.tif 000010
【図９】
2018030136.tif 000011
【図１０】
2018030136.tif 000012
【図１１】
2018030136.tif 000013
【図１２】
2018030136.tif 000014
【図１３】
2018030136.tif 000015
【図１４】
2018030136.tif 000016
【図１５】
2018030136.tif 000017
【図１６】
2018030136.tif 000018
【図１７】
2018030136.tif 000019
【図１８】
2018030136.tif 000020
【図１９】
2018030136.tif 000021
【図２０】
2018030136.tif 000022
【国際調査報告】
2018030136.tif 000023
2018030136.tif 000024