(57)【要約】      （修正有）【課題】企業システムの商用使用と改修後の企業システムの試験とを同時に行う。【解決手段】試験用アーキテクチャ１００において、商用企業システム１２２の一又は複数のユーザ１２０Ａ、１２０Ｂ、１２０Ｃから入力を取得し、前記入力を商用企業システムに提供するとともに、改修後の企業システム１３０の試験に使用するために前記入力のサブセットを決定し、改修後の企業システム及び商用企業システムのコピー１２５上で、前記入力のサブセットについて一又は複数のトランザクションを実行し、改修後の企業システムが正しく設定されていることを確認するために一又は複数のトランザクションを解析する。【選択図】図１
2018200683.tif 000002
【特許請求の範囲】
【請求項１】
商用企業システム（１２２）の商用使用と改修後の企業システム（１３０）の試験とを同時に行うための方法（３００）であって、
前記商用企業システム（１２２）の一又は複数のユーザ（１２０Ａ、１２０Ｂ、１２０Ｃ）から入力を取得すること（４０５）と、
前記一又は複数のユーザ（１２０Ａ、１２０Ｂ、１２０Ｃ）からの前記入力を前記商用企業システム（１２２）に提供すること（４１０）と、
少なくとも１つのハードウェアプロセッサ（５０２）によって、前記改修後の企業システム（１３０）の試験に使用するために前記一又は複数のユーザ（１２０Ａ、１２０Ｂ、１２０Ｃ）の中から前記入力のサブセットを決定すること（４１５）と、
前記少なくとも１つのハードウェアプロセッサ（５０２）によって、前記改修後の企業システム（１３０）及び前記商用企業システムのコピー（１２５）上で、前記入力の前記サブセットについて一又は複数のトランザクションを実行すること（４２０）と、
前記少なくとも１つのハードウェアプロセッサ（５０２）によって、前記改修後の企業システム（１３０）が正しく設定されていることを確認するために前記一又は複数のトランザクションを解析すること（４２５）とを含む、方法。
【請求項２】
前記決定することがホワイトリスト（２１０）に基づき、前記ホワイトリストは、前記試験に使用されるべきユーザ（１２０Ａ、１２０Ｂ、１２０Ｃ）のリスト、前記試験に使用されるべきコマンド（２１２）のリスト、前記試験に使用されるべきトランザクション（２１３）のリストのうちの一又は複数を含む、請求項１に記載の方法。
【請求項３】
前記取得すること（４０５）の後に、前記商用企業システム（１２２）、前記改修後の企業システム（１３０）、及び、前記商用企業システムのコピー（１２５）に提供されるべき前記入力をコピーすること（４３０）を更に含む、請求項１に記載の方法。
【請求項４】
前記改修後の企業システム（１３０）及び前記商用企業システムのコピー（１２５）を、前記商用企業システム（１２２）と同期させること（４３０）を更に含む、請求項１に記載の方法。
【請求項５】
前記同期させること（４３０）が、所定の時間間隔の中で、又はオンデマンドで行われる、請求項４に記載の方法。
【請求項６】
前記解析すること（４２５）が、前記商用企業システムのコピー（１２５）と前記改修後の企業システム（１３０）とに関するトランザクションの記録を比較すること（４３５）を更に含む、請求項１に記載の方法。
【請求項７】
企業システムの商用使用と改修後の企業システム（１３０）の試験とを同時に行うためのシステムであって、
一又は複数のプロセッサ（５０２）と、
一又は複数のコンピュータ可読媒体（５０４、５１０）とを備え、前記一又は複数のコンピュータ可読媒体（５０４、５１０）は指令を内包し、前記指令は、前記一又は複数のプロセッサ（５０２）によって実行されると、前記一又は複数のプロセッサ（５０２）に、
商用企業システムの一又は複数のユーザ（１２０Ａ、１２０Ｂ、１２０Ｃ）から入力を取得すること（４０５）と、
前記一又は複数のユーザ（１２０Ａ、１２０Ｂ、１２０Ｃ）からの前記入力を前記商用企業システムに提供すること（４１０）と、
前記改修後の企業システム（１３０）の試験に使用するために、前記一又は複数のユーザ（１２０Ａ、１２０Ｂ、１２０Ｃ）の中から前記入力のサブセットを決定すること（４１５）と、
前記改修後の企業システム（１３０）及び前記商用企業システムのコピー（１２５）上で、前記入力の前記サブセットについて一又は複数のトランザクションを実行すること（４２０）と、
前記改修後の企業システム（１３０）が正しく設定されていることを確認するために、前記一又は複数のトランザクションを解析すること（４２５）とを含む動作を実行させる、システム。
【請求項８】
前記決定することがホワイトリストに基づき、前記ホワイトリストは、前記試験に使用されるべきユーザ（１２０Ａ、１２０Ｂ、１２０Ｃ）のリスト、前記試験に使用されるべきコマンド（２１２）のリスト、前記試験に使用されるべきトランザクション（２１３）のリストのうちの一又は複数を含む、請求項７に記載のシステム。
【請求項９】
前記一又は複数のプロセッサ（５０２）が、前記取得すること（４０５）の後に、前記商用企業システム（１２２）、前記改修後の企業システム（１３０）、及び、前記商用企業システムのコピー（１２５）に提供されるべき前記入力をコピーすること（４３０）を含む動作を実行するよう、更に動作可能である、請求項７に記載のシステム。
【請求項１０】
前記一又は複数のプロセッサ（５０２）が、前記改修後の企業システム（１３０）及び前記商用企業システムのコピー（１２５）を、前記商用企業システム（１２２）と同期させること（４３０）を含む動作を実行するよう、更に動作可能である、請求項７に記載のシステム。
【請求項１１】
前記同期させること（４３０）が、所定の時間間隔の中で、又はオンデマンドで行われる、請求項１０に記載のシステム。
【請求項１２】
前記解析すること（４２５）が、前記商用企業システムのコピー（１２５）と前記改修後の企業システム（１３０）とに関するトランザクションの記録を比較すること（４３５）を更に含む、請求項７に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
本開示は概して、企業用の試験システムに関する。企業用ソフトウェアシステム（企業システム）は、企業単位の業務を実施するために使用されうる。例示的な企業システムは、企業資源計画（ｅｎｔｅｒｐｒｉｓｅ  ｒｅｓｏｕｒｃｅ  ｐｌａｎｎｉｎｇ：ＥＲＰ）システム、顧客管理（ｃｌｉｅｎｔ−ｒｅｌａｔｉｏｎｓｈｉｐ：ＣＲＭ）システム、製品ライフサイクル管理（ｐｒｏｄｕｃｔ  ｌｉｆｅｃｙｃｌｅ  ｍａｎａｇｅｍｅｎｔ：ＰＬＭ）システム、サプライチェーン管理（ＳＣＭ）システム、及び購買管理（ｓｕｐｐｌｉｅｒ  ｒｅｌａｔｉｏｎｓｈｉｐ  ｍａｎａｇｅｍｅｎｔ：ＳＲＭ）システムを含みうる。商用環境においては、数多くのユーザが日常的に企業システムとやりとりし、その結果として、数百の（数千に及ぶこともある）トランザクション、及び、相対的に多量のデータが発生する。一部の事例においては、企業システムは、アップデートされ、かつ／又はカスタマイズされうる。例えば、企業システムの最新バージョンが利用可能になることがあり、その結果として、その企業システムがアップデートされる（例えば、バージョン１．０からバージョン２．０へのアップデート）。別の例としては、企業は、その特定の企業に適切な機能／特徴を含むよう、企業システムをカスタマイズしうる。
【０００２】
企業システムをアップデート及び／又はカスタマイズ（改修）する場合、改修後の企業システムは、商用使用に利用可能になる前に試験される。一部の例では、商用データ（例えば、アップデート／カスタマイズする前の企業システムの商用使用から得られたデータ）を使用して、試験が実施される。従来的に、改修後の企業システムのシャドー試験は、商用システム（又は、このソフトウェアがテナント対応型である場合はテナント）を空のシステム（又はテナント）にコピーすることによって実現され、セミプロダクションデータを用いて試験が開始される。しかし、このことにはいつくかの欠点がある。
【０００３】
例えば、かかる試験システムを設定するには、商用システム全体をコピーすることが必要であり、このことは、多量のメモリ（例えば最大で数テラバイト（ＴＢ））を消費する可能性がある。更に、このコピー手順には、かなり長い時間（例えば数時間から数日間）が必要になりうる。この時間中に、ソースシステムを商用使用すると、コピー内に不整合データが生じることがある。結果として、システムの商用使用が停止するか、長時間のダウンタイムがもたらされるか、又は、不整合データを使用して試験が実施されるかの、いずれかが起こる。更なる欠点は、新システムが旧システムと同様に正しく実行されるまで、データが分化（ｄｉｖｅｒｇｅ）してエラーを発生させることであり、これらのエラーにより、問題の根本原因を特定することが困難になる。加えて、従来型のシャドー試験では、元のシステムで実行される全てのトランザクションが試験システムでも実行されることが必要であり、目標とされる試験が困難になる。
【０００４】
ゆえに、この業界には、上述の不備及び欠点に対処するという、これまでに対応されていない必要性が存在している。
【発明の概要】
【０００５】
本開示の例により、企業システムの商用使用と改修後の企業システムの試験とを同時に行うための方法が提供される。この方法は、商用企業システムの一又は複数のユーザから入力を取得することと、一又は複数のユーザからの入力を商用企業システムに提供することと、少なくとも１つのハードウェアプロセッサによって、改修後の企業システムの試験に使用するために一又は複数のユーザの中から入力のサブセットを決定することと、少なくとも１つのハードウェアプロセッサによって、改修後の企業システム及び商用企業システムのコピー上で、入力のサブセットについて一又は複数のトランザクションを実行することと、少なくとも１つのハードウェアプロセッサによって、改修後の企業システムが正しく設定されていることを確認するために一又は複数のトランザクションを解析することとを、含む。
【０００６】
本開示の例により、企業システムの商用使用と改修後の企業システムの試験とを同時に行うためのシステムが提供される。このシステムは、一又は複数のプロセッサと、一又は複数のコンピュータ可読媒体を備えるメモリシステムとを備え、一又は複数のコンピュータ可読媒体は指令を内包し、これらの指令は、一又は複数のプロセッサによって実行されると、一又は複数のプロセッサに、商用企業システムの一又は複数のユーザから入力を取得することと、一又は複数のユーザからの入力を商用企業システムに提供することと、改修後の企業システムの試験に使用するために、一又は複数のユーザの中から入力のサブセットを決定することと、改修後の企業システム及び商用企業システムのコピー上で、入力のサブセットについて一又は複数のトランザクションを実行することと、改修後の企業システムが正しく設定されていることを確認するために、一又は複数のトランザクションを解析することとを含む動作を、実行させる。
【０００７】
本開示の例により、企業システムの商用使用と、改修後の企業システムの試験とを同時に行うための、非一過性のコンピュータ可読記憶媒体が提供される。この非一過性のコンピュータ可読記憶媒体は、一又は複数のプロセッサに方法を実施させるための指令を含み、この方法は、商用企業システムの一又は複数のユーザから入力を取得することと、一又は複数のユーザからの入力を商用企業システムに提供することと、少なくとも１つのハードウェアプロセッサによって、改修後の企業システムの試験に使用するために一又は複数のユーザの中から入力のサブセットを決定することと、少なくとも１つのハードウェアプロセッサによって、改修後の企業システム及び商用企業システムのコピー上で、入力のサブセットについて一又は複数のトランザクションを実行することと、少なくとも１つのハードウェアプロセッサによって、改修後の企業システムが正しく設定されていることを確認するために一又は複数のトランザクションを解析することとを、含む。
【０００８】
一部の例では、決定することはホワイトリストに基づき、このホワイトリストは、試験に使用されるべきユーザのリスト、試験に使用されるべきコマンドのリスト、試験に使用されるべきトランザクションのリスト、のうちの一又は複数を含む。
【０００９】
一部の例では、方法は、取得することの後に、商用企業システム、改修後の企業システム、及び商用企業システムのコピーに提供されるべき入力をコピーすることを含む。
【００１０】
一部の例では、方法は、改修後の企業システム及び商用企業システムのコピーを、商用企業システムと同期させることを更に含む。
【００１１】
一部の例では、同期させることは、所定の時間間隔の中で、又はオンデマンドで行われる。
【００１２】
一部の例では、解析することは、商用企業システムのコピーと改修後の企業システムとに関するトランザクションの記録を比較することを更に含む。
【００１３】
前述の概要説明及び後述の詳細説明は両方とも、例示及び解説にすぎず、特許請求される実行形態に限定されるわけではないことを、理解されたい。
【図面の簡単な説明】
【００１４】
【図１】本開示の例による試験用アーキテクチャを示す。
【図２】本開示の例による、試験データシーケンスソフトウェアの構造図を示す。
【図３】本開示の例による、ターゲットシステムを試験するためのプロセスを示す。
【図４】本開示の例による、企業システムの商用使用と改修後の企業システムの試験とを同時に行うための方法を示す。
【図５】本開示に適合する、開示されている実行形態を実施するためのコンピュータシステムの一例である。
【発明を実施するための形態】
【００１５】
これより、添付図面に示す例示的な実行形態に詳しく言及していく。同じ又は類似の部品に言及するのに、可能な場合には、図面全体を通して同じ参照番号を使用する。
【００１６】
簡略化及び例示のために、本開示の原理は、主にその例示的な実行形態に言及することによって説明される。しかし、当業者であれば、同一の原理が、あらゆる種類の情報及びシステムに等しく適用可能であり、かつそれらにおいて実装されうること、及び、かかる変形例は全て、本開示の真の理念及び範囲から逸脱しないことを、容易に認識しよう。更に、以下の詳細説明では添付図面への言及がなされる。これらの図面は、具体的かつ例示的な実行形態を示している。例示的な実行形態には、本開示の理念及び範囲から逸脱しなければ、電気的、機械的、論理的、及び構造的な変更がなされうる。したがって、以下の詳細説明を限定的な意味に解釈すべきではなく、本開示の範囲は、付随する特許請求の範囲及びその均等物によって規定される。
【００１７】
本開示の実行形態は概して、改修後の企業システムを、それに対応する商用企業システムを妨害することなく、試験することを対象とする。より具体的には、本開示の実行形態は、試験データベーススキーマと商用データベーススキーマとを併用して、商用データを用いて企業システムのアップデート及び／又はカスタマイズを試験することを、対象とする。一部の例では、本開示の実行形態により、追加のデータベースに複製された同一のデータについて、企業システムの試験と商用使用とが実施されることが可能になり、これには、オリジナルのデータベースと同じスキーマが使用されることも、されないこともある。最新の商用システムの実際の用法をリアルタイムで捕捉すること、及び、この捕捉された用法を、旧型の試験システムに対して新たに開発されたシステムを試験するために使用することによって、旧型試験システムとアップデート後の試験システムの両方で、同じ様態で、正確な商用ユーザに関する正確な商用トランザクションを再使用することによる、新型システムと旧型システム（両方のデータ完全性及びパフォーマンス）の精密な比較が、全てのトランザクションを実行することを必要とせずに、もたらされうる。また、エンドユーザの実際の商用インタラクションを使用することによって、システムが、エンドユーザの試験に費やされる時間の大部分をなくすと共に、商用の使用法を試験システム上で最もよく再現することが、可能になる。これは、インタラクションの種類と、システムの負荷及びスケーリングとを含む。これにより、更に、エラー条件をより良好に試験すること、単体試験を自動で行うこと、及び、試験データを自動で解析することが、可能になる。
【００１８】
図１は、本開示の例による試験用アーキテクチャ１００を示している。試験用アーキテクチャ１００は、商用企業サーバなどの商用企業システム１２２（又は商用システム）を試験するために使用されてよく、かかるシステムにおいて、アーキテクチャ１００は、商用のサーバ使用を遮断し、アップデート後のサーバシステムなどの改修後の企業システム１３０（又は試験システム）上で試験のためのインタラクションを選択的に再使用し、かつ、商用企業システムのコピー１２５（例えば試験用旧型サーバ）と結果を比較する。これにより、試験におけるユーザエラーの低減、エンドユーザの試験の圧倒的大部分の削減、及び、重複データ入力の削減とデータ入力により生じるエラーの削減がもたらされる。試験用アーキテクチャ１００は、ネットワーク１１０Ａによって複製プロキシサーバ１１５Ａに通信可能に接続されているクライアントデバイス１０５Ａ及び１０５Ｂと、ネットワーク１１０Ｂによって複製プロキシサーバ１１５Ｂに通信可能に接続されているクライアントデバイス１０５Ｃとを含む。クライアントデバイス１０５Ａ、１０５Ｂは、ユーザ１２０Ａ、１２０Ｂによってそれぞれ操作され、クライアントデバイス１０５Ｃはユーザ１２０Ｃによって操作される。一部の例では、ネットワーク１１０Ａとネットワーク１１０Ｂとは異なるネットワークであり、かかるネットワーク１１０Ａは外部の広域ネットワーク（すなわちインターネット）であり、ネットワーク１１０Ｂは内部のローカルエリアネットワークである。一部の例では、クライアントデバイス１０５Ａ、１０５Ｂ、１０５Ｃは各々、ラップトップコンピュータ、デスクトップコンピュータ、スマートフォン、携帯用情報端末、携帯式メディアプレイヤー、タブレットコンピュータ、又は、複製プロキシサーバ１１５Ａ、１１５Ｂと通信するために使用されうる他の任意の適切な演算デバイスなどの、演算デバイスでありうる。複製プロキシサーバ１１５Ａ、１１５Ｂは、商用企業システム１２２、商用企業システムのコピー１２５、及び改修後の企業システム１３０に、通信可能に接続している。複製プロキシサーバ１１５Ａ、１１５Ｂは、クライアントデバイス１０５Ａ、１０５Ｂ、及び１０５Ｃからデータを取得し、そのデータを、ユーザ１２０Ａ、１２０Ｂ、１２０Ｃによる作業の通常過程において使用するために商用企業システム１２２に提供すると共に、商用企業システムのコピー１２５及び改修後の企業システム１３０を使用する試験のためにも提供する。
【００１９】
一部の例では、複製プロキシサーバ１１５Ａ、１１５Ｂは、別個のサーバでありうるか、又は、商用企業システム１２２、商用企業システムのコピー１２５、改修後の企業システム１３０のいずれかによってホスティングされる１つのサービスでありうる。一部の例では、複製プロキシサーバ１１５ａ、１１５ｂ、商用企業システム１２２、商用企業システムのコピー１２５、及び改修後の企業システム１３０は、サーバなどの一又は複数の演算デバイス、及び、一又は複数のデータベースシステムを含みうる。一部の例では、複製プロキシサーバ１１５Ａ、１１５Ｂは、サーバの動作（クラウドコンピューティングなど）を実行するために共に作動する、１を上回る数の演算デバイスのことでありうる。一部の実行形態では、データベースシステムは、インメモリデータベースシステムとして設けられうる。一部の例では、インメモリデータベースは、データストレージのためにメインメモリを使用する、データベース管理システムである。一部の例では、メインメモリは、メモリバスを経由して一又は複数のプロセッサ（中央演算処理装置（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ：ＣＰＵ）など）と通信する、ランダムアクセスメモリ（ＲＡＭ）を含む。インメモリデータベースは、ディスクストレージ機構を用いるデータベース管理システムと対比されうる。一部の例では、インメモリデータベースは、ディスクストレージデータベースと比べて、内部の最適化アルゴリズムが、より単純なＣＰＵ指令であってよく、かつ、より少ない数のＣＰＵ指令を実行しうる（例えば、必要なＣＰＵ消費が少ない）ので、より高速である。一部の例では、インメモリデータベース内のデータにアクセスすることで、データをクエリする際のシーク時間がなくなる。これにより、ディスクストレージデータベースシステムよりも高速かつ予測可能性が高いパフォーマンスがもたらされる。
【００２０】
図２は、本開示の例による、試験データシーケンスソフトウェアの構造図２００を示している。複製プロキシサーバ１１５Ａ、１１５Ｂは、ユーザ１２０Ａ、１２０Ｂ、及び１２０Ｃから、それぞれのクライアントデバイス１０５Ａ、１０５Ｂ、１０５Ｃを介して、入力２０５を取得する。複製プロキシサーバ１１５Ａ、１１５Ｂは、商用システムのコピー１２５と結果を比較することによって改修後の企業システム１３０を試験するために使用されるべきホワイトリスト２１０を通してフィルタされるユーザ入力のキュー２１０を内包する。図２に示すホワイトリスト２１０はトランザクションキューであり、このトランザクションキューは、商用ユーザ、セッショングループ（各セッショングループは商用セッションと２つの試験セッションとを含む）の状態の経過を追う状態機械、及び、試験セッションに対してどのトランザクションを処理するかを決定するホワイトリストからの、試験に使用されるべきユーザ（複数可）２１１、コマンド（複数可）２１２、及びトランザクション（複数可）２１３の完全リストである（そのため、試験セッション状態は商用セッション状態とは異なりうる）。ユーザ入力は、検索、編集、更新、結合、図面の再割り当て、報告、及び、何であれ、商用企業システム１２２によって情報が記憶され、操作されるその他の動作を含むがそれらに限定されるわけではない、一又は複数の動作を実行するためのコマンド（複数可）２１２を含む。トランザクション（複数可）２１３は、コマンドを開始するための、各クライアントデバイス１０５Ａ、１０５Ｂ、１０５Ｃから商用企業システム１２２への指令でありうる。例えば、ユーザを管理するためのウェブサービスは、ＧｅｔＢｙＮａｍｅ（Ｎａｍｅ）→ＥｍｐｌｏｙｅｅＩＤ／Ｆａｉｌ（ホワイトリスト２１０上）、ＧｅｔＢｙＩＤ（ＩＤ）→ＥｍｐｌｏｙｅｅＮａｍｅＦａｉｌ（ホワイトリスト２１０上）、Ｓｅｔ（Ｎａｍｅ）→生成済みＩＤ／Ｆａｉｌ（ＩＤは自動生成）（ホワイトリスト２１０上ではない）、を含むがそれらに限定されるわけではない、アプリケーションプログラムインターフェース（ＡＰＩ）コマンドを含みうる。トランザクションのリストは、縦列が２つ（Ｉｄ、Ｎａｍｅ）の単一テーブルとしてデータベース内に配置されてよく、シンボル“＊”は、ホワイトリストに載っていなかったために処理されないトランザクションでありうる。ホワイトリスト２１０は、典型的には、ユーザ１２０Ａ、１２０Ｂ、１２０Ｃが、商用企業システムのコピー１２５及び改修後の企業システム１３０を含む試験システムに対する、通常の作業環境における実行のために使用しうる、入力のサブセットを発生させうる。加えて、ホワイトリスト２１０は、どのユーザ（例えばユーザ１２０Ａ、１２０Ｂ、１２０Ｃ）を試験用アーキテクチャに含むかについてのリスティングを含みうる。例えば、ユーザ１２０Ａ及び１２０Ｂが試験に使用されるがユーザ１２０Ｃは使用されない場合には、クライアントデバイス１０５Ａ及び１０５Ｂに提供された入力は、複製プロキシサーバ１１５Ａから商用企業システムのコピー１２５及び改修後の企業システム１３０に送られるが、クライアントデバイス１０５Ｃに提供された入力は送られない。加えて、ホワイトリスト２１０は、試験されるよう選択された入力のサブセット及びユーザに基づいて商用システムのコピー１２５及び改修後の企業システム１３０によって実行されるべき、一又は複数のトランザクションを含みうる。
【００２１】
複製プロキシサーバ１１５Ａ、１１５Ｂは、通常のワークフローに使用されるべき、商用データベース２４０と通信する商用企業システム１２２に、入力２０５を提供する。ホワイトリスト２１０から取得された入力のサブセットは、商用システムのクローン２２５（すなわち商用企業システムのコピー１２５）及び商用クローンデータベース２４５に対して、ターゲットシステム２３５（すなわち改修後の企業システム１３０）及びターゲットデータベース２５５を試験するために使用されるべき、プロセスキュー２２０に提供される。試験中に、入力のサブセットに関して、商用システムのクローン２２５とターゲットシステム２３５との間でトランザクションに基づく比較２３０が行われ、商用クローンデータベース２４５とターゲットデータベース２５５との間でデータベースに基づく比較２５０が行われ、これらは試験結果の調整（ｒｅｃｏｎｃｉｌｉａｔｉｏｎ）２７０として提供される。商用クローンデータベース２４５及びターゲットデータベース２５５は、環境同期２６０を使用して、商用データベース２４０と同期させられる。これにより、商用データベース２４０内の記録におけるいかなる変化も、商用クローンデータベース２４５及びターゲットデータベース２５５に伝播されることが確実になる。また、周期的に（すなわち、特定の時間枠において毎晩）、商用クローンデータベース２４５は、環境同期２６０及び周期的試験同期２６５を使用して、商用データベース２４０と同期されうる。周期的試験同期２６５は、環境同期２６０よりも頻度が高く、商用クローンデータベース２４５とターゲットデータベース２５５とが緊密に同期した状態に保たれることを確実にして、試験品質を確保するためのものである。環境同期２６０は、頻度が低く、（商用トランザクションのうちの１つのサブセットだけが、試験システムに対して実行されているので、）商用クローンデータベース２４５及びターゲットデータベース２５５を商用データと同期状態にするためのものである。
【００２２】
図３は、本開示の例による、ターゲットシステム３００を試験するためのプロセスを示している。３０５において、入力（複数可）が、クライアントデバイス（すなわちクライアントデバイス１０５Ａ、１０５Ｂ、１０５Ｃ）から受信され、ユーザ（複数可）（すなわちユーザ１２０Ａ、１２０Ｂ、及び１２０Ｃ）から取得される。この入力（複数可）は、ユーザの通常の日常作業中に、ユーザ（複数可）から取得される。３１０において、複製プロキシ（すなわち複製プロキシサーバ１１５Ａ、１１５Ｂ）が、入力（複数可）を複製する。複製プロキシは全ての入力を複製し、これらの入力は次いで、ホワイトリスト２１０によってフィルタされる。全ての入力を複製することで、テストドキュメンテーションが改善されると共に、複製プロキシを可能な限り軽量に保つことにより、ユーザエクスペリエンスに影響を与える可能性が最小化される。ユーザが承認済みの試験システムユーザではない場合でも、これらのユーザのトランザクションは、複製及び記憶され、次いで、ホワイトリスト２１０によってフィルタ除去される。３１５において、商用システム（すなわち商用企業システム１２２）は、通常作業に使用されるべき、複製プロキシからの入力（複数可）を受信する。３１５において、商用企業システム１２２は通常の態様で入力（複数可）を処理し、これは、３２０で製造業務が完了するまで続く。３２５において、複製プロキシによって複製された入力（複数可）は、試験システム向けに承認されたトランザクションのリストと比較される。例えば、ホワイトリスト（すなわちホワイトリスト２１０）は一又は複数のトランザクションを含んでよく、このトランザクションは、ユーザ（複数可）のうちの一又は複数からの入力（複数可）のサブセットに基づいて、商用システムのクローン２２５及びターゲットシステム２３５上で行われるものであり、クローン化された全ての商用トランザクションから選択される。進行中の試験事例がない場合、このトランザクションは、トランザクションテーブルに追加され、かつ、試験システム構成に基づいて、ホワイトリストかブラックリストのいずれかに載るものとしてマーキングされる。進行中の試験事例があり、トランザクションがホワイトリストに載っている場合には、このトランザクションは、（３３５の）商用システムのクローン２２５上と（３４０の）ターゲットシステム２３４上で並行して実行される。一又は複数のトランザクション３４５及び３５０のそれぞれの結果は、例えば、特定の出力を評価し、かつ、相違が発生した場合にはその相違のためのバイナリレベルの比較フラッグを生成するよう、カスタマイズされている比較ツールを使用して、（３５５及び３６０において）比較される。３６５において比較レポートが生成され、３７０において試験事例は完了する。
【００２３】
図４は、本開示の例による、企業システム１２２の商用使用と改修後の企業システム１３０の試験とを同時に行うための方法４００を示している。方法は、４０５における、商用企業システム１２２の一又は複数のユーザ１２０Ａ、１２０Ｂ、１２０Ｃから入力を取得することによって始まる。方法は、４１０における、一又は複数のユーザからの入力を商用企業システム１２２に提供することによって継続する。方法は、４１５における、少なくとも１つのハードウェアプロセッサによる、改修後の企業システムの試験に使用するために一又は複数のユーザの中から入力のサブセットを決定することによって継続する。この決定することはホワイトリスト２１０に基づき、ホワイトリストは、試験に使用されるべきユーザ（１２０Ａ、１２０Ｂ、１２０Ｃ）のリスト、試験に使用されるべきコマンド２１２のリスト、試験に使用されるべきトランザクション２１３のリストのうちの、一又は複数を含む。方法は、４２０における、少なくとも１つのハードウェアプロセッサによる、改修後の企業システム１３０及び商用企業システムのコピー１２５上で、入力のサブセットについて一又は複数のトランザクションを実行することによって継続する。方法は、４２５における、少なくとも１つのハードウェアプロセッサによる、改修後の企業システム１３０が正しく設定されていることを確認するために一又は複数のトランザクションを解析することによって継続する。
【００２４】
一部の例では、方法は、４０５における取得することの後に、４３０における、商用企業システム１２２、改修後の企業システム１３０、及び商用企業システムのコピー１２５に提供されるべき入力をコピーすることを含む動作を、オプションで実行しうる。
【００２５】
一部の例では、方法は、４３０における、改修後の企業システム１３０及び商用企業システムのコピー１２５を商用企業システム１２２と同期させることを含む動作を、オプションで実行してよく、この同期させることは、所定の時間間隔の中で、又はオンデマンドで行われる。
【００２６】
一部の例では、４２５における解析することは、４３５における、商用企業システムのコピー１２５と改修後の企業システム１３０とに関するトランザクションの記録を比較することを更に含みうる。
【００２７】
図５は、上述したプロセスのうちの一又は複数を実施するために使用されうる、携帯デバイス又はサーバとして使用されうるコンピュータデバイス５００のハードウェア構成の一例を示している。図５には、コンピュータデバイス５００に内包される様々なコンポーネントが示されているが、図５は、コンピュータデバイスの一例を示しており、追加のコンポーネントが追加されてよく、既存のコンポーネントを取り除くことも可能である。
【００２８】
コンピュータデバイス５００は、デスクトップ、ラップトップ、サーバなどといった任意の種類のコンピュータデバイス、又は、スマートフォン、タブレットコンピュータ、携帯電話、携帯用情報端末などといった任意の種類の携帯デバイスでありうる。図５に示すように、コンピュータデバイス５００は、コア設定及びクロック周波数が様々な一又は複数のプロセッサ５０２を含みうる。コンピュータデバイス５００は、コンピュータデバイス５００の動作中にメインメモリとしての役割を果たす一又は複数のメモリデバイス５０４も含みうる。例えば、動作中に、その動作をサポートするソフトウェアのコピーが一又は複数のメモリデバイス５０４に記憶されうる。コンピュータデバイス５００は、コンピュータデバイス５００と人とのインタラクション、及びコンピュータデバイス５００操作を可能にするための、キーボード、マウス、タッチパッド、コンピュータスクリーン、タッチスクリーンなどといった一又は複数の周辺インターフェース５０６も含みうる。
【００２９】
コンピュータデバイス５００は、有線媒体又は無線媒体を経由して、プロトコルを使用して通信するためのイーサネットアダプタ、無線トランシーバー、又はシリアルネットワークコンポーネントなどの、一又は複数のネットワークを介して通信するための一又は複数のネットワークインターフェース５０８も含みうる。コンピュータデバイス５００は、画像、ファイル、及び一又は複数のプロセッサ５０２によって実行するためのプログラム指令などのデータを記憶するための、フラッシュドライブ、ハードドライブ、ランダムアクセスメモリ等といった、物理的寸法及び記憶容量が様々な一又は複数の記憶デバイス５１０も含みうる。
【００３０】
加えて、コンピュータデバイス５００は、上述の機能を可能にする一又は複数のソフトウェアプログラム５１２を含みうる。一又は複数のソフトウェアプログラム５１２は、一又は複数のプロセッサ５０２に本書に記載のプロセスを実施させる指令を含みうる。一又は複数のソフトウェアプログラム５１２のコピーは、一又は複数のメモリデバイス５０４及び／又は一又は複数の記憶デバイス５１０に記憶されうる。同様に、一又は複数のソフトウェアプログラム５１２によって使用されるデータも、一又は複数のメモリデバイス５０４及び／又は一又は複数の記憶デバイス５１０に記憶されうる。
【００３１】
実行形態においては、コンピュータデバイス５００は、ネットワーク５１６を介して他のデバイスと通信しうる。他のデバイスとは、上述した任意の種類のデバイスでありうる。ネットワーク５１６は、ローカルエリアネットワーク、広域ネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、及びそれらの任意の組み合わせなどの、任意の種類の電子ネットワークでありうる。ネットワーク５１６は、ＴＣＰ／ＩＰ、ＵＤＰ、ＯＳＩ、ＦＴＰ、ＵＰｎＰ、ＮＦＳ、ＣＩＦＳ、ＡｐｐｌｅＴａｌｋなどといった多種多様な任意の商用プロトコルを使用して、通信をサポートしうる。ネットワーク５１６は、例えば、ローカルエリアネットワーク、広域ネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、及びそれらの任意の組み合わせでありうる。
【００３２】
コンピュータデバイス５００は、多種多様な、データストア並びに上述したその他のメモリ及び記憶媒体を含みうる。これらは、例えば、コンピュータのうちの一又は複数に対してローカルな（かつ／又はかかるコンピュータに常駐している）記憶媒体、又は、ネットワーク上のあらゆるコンピュータからリモートな記憶媒体の、多種多様な場所に存在しうる。一部の実行形態では、情報は、当業者には周知のストレージエリアネットワーク（「ＳＡＮ」）内に存在しうる。同様に、コンピュータ、サーバ、又はその他のネットワークデバイスによる機能を実行するために必要なファイルがあればそれは、適宜ローカルでかつ／又はリモートで、記憶されうる。
【００３３】
実行形態においては、上述したコンピュータデバイス５００のコンポーネントは、単一の筐体内に封入される必要はなく、又は、互いに直近に配置される必要もない。当業者は、コンピュータデバイス５００が、開示されている実行形態を実施するために必要な全ての随伴ファームウェア又はソフトウェアを含む、任意の種類のハードウェアコンポーネントを含みうるので、上述のコンポーネントは例にすぎないことを、認識しよう。コンピュータデバイス５００は、部分的又は全体的に、特定用途向け集積回路（ＡＳＩＣ）やフィールドプログラマブルゲートアレイ（ＦＰＧＡ）などの、電子回路コンポーネント又はプロセッサによっても実装されうる。
【００３４】
更に、本開示は以下の条項による例を含む。
【００３５】
条項１．商用企業システムの商用使用と改修後の企業システムの試験とを同時に行うための方法であって、商用企業システムの一又は複数のユーザから入力を取得することと、一又は複数のユーザからの入力を商用企業システムに提供することと、少なくとも１つのハードウェアプロセッサによって、改修後の企業システムの試験に使用するために一又は複数のユーザの中から入力のサブセットを決定することと、少なくとも１つのハードウェアプロセッサによって、改修後の企業システム及び商用企業システムのコピー上で、入力のサブセットについて一又は複数のトランザクションを実行することと、少なくとも１つのハードウェアプロセッサによって、改修後の企業システムが正しく設定されていることを確認するために一又は複数のトランザクションを解析することとを、含む。
【００３６】
条項２．決定することがホワイトリストに基づき、ホワイトリストは、試験に使用されるべきユーザのリスト、試験に使用されるべきコマンドのリスト、試験に使用されるべきトランザクションのリストのうちの一又は複数を含む、条項１に記載の方法。
【００３７】
条項３．取得することの後に、商用企業システム、改修後の企業システム、及び商用企業システムのコピーに提供されるべき入力をコピーすることを更に含む、条項１に記載の方法。
【００３８】
条項４．改修後の企業システム及び商用企業システムのコピーを、商用企業システムと同期させることを更に含む、条項１に記載の方法。
【００３９】
条項５．同期させることが、所定の時間間隔の中で、又はオンデマンドで行われる、条項４に記載の方法。
【００４０】
条項６．解析することが、商用企業システムのコピーと改修後の企業システムとに関するトランザクションの記録を比較することを更に含む、条項１に記載の方法。
【００４１】
条項７．企業システムの商用使用と改修後の企業システムの試験とを同時に行うためのシステムであって、一又は複数のプロセッサと、一又は複数のコンピュータ可読媒体とを備え、一又は複数のコンピュータ可読媒体は指令を内包し、これらの指令は、一又は複数のプロセッサによって実行されると、一又は複数のプロセッサに、商用企業システムの一又は複数のユーザから入力を取得することと、一又は複数のユーザからの入力を商用企業システムに提供することと、改修後の企業システムの試験に使用するために、一又は複数のユーザの中から入力のサブセットを決定することと、改修後の企業システム及び商用企業システムのコピー上で、入力のサブセットについて一又は複数のトランザクションを実行することと、改修後の企業システムが正しく設定されていることを確認するために、一又は複数のトランザクションを解析することとを含む動作を、実行させる。
【００４２】
条項８．決定することがホワイトリストに基づき、ホワイトリストは、試験に使用されるべきユーザのリスト、試験に使用されるべきコマンドのリスト、試験に使用されるべきトランザクションのリストのうちの一又は複数を含む、条項７に記載のシステム。
【００４３】
条項９．一又は複数のプロセッサが、取得することの後に、商用企業システム、改修後の企業システム、及び商用企業システムのコピーに提供されるべき入力をコピーすることを含む動作を実行するよう、更に動作可能である、条項７に記載のシステム。
【００４４】
条項１０．一又は複数のプロセッサが、改修後の企業システム及び商用企業システムのコピーを、商用企業システムと同期させることを含む動作を実行するよう、更に動作可能である、条項７に記載のシステム。
【００４５】
条項１１．同期させることが、所定の時間間隔の中で、又はオンデマンドで行われる、条項１０に記載のシステム。
【００４６】
条項１２．解析することが、商用企業システムのコピーと改修後の企業システムとに関するトランザクションの記録を比較することを更に含む、条項７に記載のシステム。
【００４７】
条項１３．商用企業システムの商用使用と改修後の企業システムの試験とを同時に行うための、非一過性のコンピュータ可読記憶媒体であって、一又は複数のプロセッサに方法を実施させるための指令を含み、方法が、商用企業システムの一又は複数のユーザから入力を取得することと、一又は複数のユーザからの入力を商用企業システムに提供することと、少なくとも１つのハードウェアプロセッサによって、改修後の企業システムの試験に使用するために一又は複数のユーザの中から入力のサブセットを決定することと、少なくとも１つのハードウェアプロセッサによって、改修後の企業システム及び商用企業システムのコピー上で、入力のサブセットについて一又は複数のトランザクションを実行することと、少なくとも１つのハードウェアプロセッサによって、改修後の企業システムが正しく設定されていることを確認するために一又は複数のトランザクションを解析することとを、含む。
【００４８】
条項１４．決定することがホワイトリストに基づき、ホワイトリストは、試験に使用されるべきユーザのリスト、試験に使用されるべきコマンドのリスト、試験に使用されるべきトランザクションのリストのうちの一又は複数を含む、条項１３に記載の非一過性のコンピュータ可読記憶媒体。
【００４９】
条項１５．取得することの後に、商用企業システム、改修後の企業システム、及び商用企業システムのコピーに提供されるべき入力をコピーすることを更に含む、条項１３に記載の非一過性のコンピュータ可読記憶媒体。
【００５０】
条項１６．改修後の企業システム及び商用企業システムのコピーを、商用企業システムと同期させることを更に含む、条項１３に記載の非一過性のコンピュータ可読記憶媒体。
【００５１】
条項１７．同期させることが、所定の時間間隔の中で、又はオンデマンドで行われる、条項１６に記載の非一過性のコンピュータ可読記憶媒体。
【００５２】
条項１８．解析することが、商用企業システムのコピーと改修後の企業システムとに関するトランザクションの記録を比較することを更に含む、条項１３に記載の非一過性のコンピュータ可読記憶媒体。
【００５３】
機能は、ソフトウェアにおいて実装される場合、一又は複数の指令又はコードとして、コンピュータ可読媒体に記憶されうるか、又は、コンピュータ可読媒体を経由して送信されうる。コンピュータ可読媒体は、１つの場所から別の場所へのコンピュータプログラムの伝送を促進する任意の媒体を含む、有形で非一時的なコンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセス可能である、任意の利用可能な、有形で非一時的な媒体でありうる。非限定的な例として、かかる有形で非一過性のコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、又はその他の、光ディスク記憶デバイス、磁気ディスク記憶デバイス、若しくは他の磁気記憶デバイス、又は、指令構造又はデータ構造の形態で所望のプログラムコードを担持又は記憶するために使用可能な、かつ、コンピュータによってアクセス可能な、他の任意の媒体を含みうる。本書において、ディスク（ｄｉｓｋ及びｄｉｓｃ）とは、ＣＤ、レーザーディスク、光ディスク、ＤＶＤ，フロッピーディスク、及びブルーレイディスクを含み、ディスク（ｄｉｓｋ）が通常、データを磁気的に再生する一方で、ディスク（ｄｉｓｃ）は、レーザーを用いて光学的にデータを再生する。また、接続があればそれは、厳密には、コンピュータ可読媒体とされる。例えば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、又は、赤外線、無線、及びマイクロ波などの無線技術を使用して、ウェブサイト、サーバ、又は他の遠隔ソースから送信される場合には、これらの同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、又は赤外線、無線、及びマイクロ波などの無線技術も、媒体の定義に含まれる。上記の接続の組み合わせも、コンピュータ可読媒体の範囲に含まれるべきである。
【００５４】
上記の説明は例示であり、当業者には、構成及び実行形態における変形例が想起されうる。例えば、本書で開示されている実施形態に関連して説明している、様々な例示的な論理、論理ブロック、モジュール、及び回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特殊用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）若しくは他のプログラマブル論理デバイス、ディスクリートなゲート若しくはトランジスタ論理、ディスクリートなハードウェアコンポーネント、又は、本書に記載の機能を実行するよう設計された、それらの任意の組み合わせを用いて、実装されうるか、又は実行されうる。汎用プロセッサは、マイクロプロセッサでありうるが、代替的には、任意の従来型のプロセッサ、コントローラ、マイクロコントローラ、又は状態機械でありうる。プロセッサは、コンピュータデバイスの組み合わせ（例えば、ＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、一又は複数のマイクロプロセッサとＤＳＰコアとの併用、又は、その他の任意のかかる構成）としても実装されうる。
【００５５】
一又は複数の例示的な実施形態では、説明している機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせにおいて、実装されうる。ソフトウェアの実行形態については、本書に記載の技法は、本書に記載の機能を実行するモジュール（例えば、手順、機能、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス等）を用いて実装されうる。モジュールは、情報、データ、引数、パラメータ、又はメモリコンテンツをパッシングすること及び／又は受信することによって、別のモジュール又はハードウェア回路に連結されうる。情報、引数、パラメータ、データ等は、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信等を含む任意の好適な手段を使用して、パッシングされ、転送され、又は送信されうる。ソフトウェアのコードは、メモリユニットに記憶され、かつ、プロセッサによって実行されうる。メモリユニットは、プロセッサの内部又は外部に実装されうる。この場合、メモリユニットは、当技術分野で周知である様々な手段を介して、プロセッサに通信可能に連結されうる。
【００５６】
本教示内容を、それらの実行形態の例に言及しつつ説明してきたが、当業者は、本教示の真の理念及び範囲から逸脱しなければ、説明した実行形態に様々な変更を行うことができる。本書における用語及び記述は、例示のみを目的として記載されており、限定を意図するものではない。特に、プロセスは例によって説明されているが、これらのプロセスの段階は、例示とは異なる順序で、又は同時に、実施されうる。更に、「含む（ｉｎｃｌｕｄｉｎｇ／ｉｎｃｌｕｄｅｓ）」、「有する（ｈａｖｉｎｇ／ｈａｓ）」、「伴う（ｗｉｔｈ）」という用語又はそれらの変形表現が、「発明を実施するための形態」において使用されている限り、かかる用語は、「備える（ｃｏｍｐｒｉｓｉｎｇ）」という用語と同様に、包括的であることが意図されている。本書において、例えばＡ及びＢなどのアイテムのリストに関連する、「一又は複数の（ｏｎｅ  ｏｒ  ｍｏｒｅ  ｏｆ）」及び「少なくとも一つの（ａｔ  ｌｅａｓｔ  ｏｎｅ  ｏｆ）」という表現は、Ａのみ、Ｂのみ、又はＡ及びＢを意味する。更に、別途明記されない限り、「組（ｓｅｔ）」という用語は、「一又は複数」であると解釈すべきである。また、「連結する（ｃｏｕｐｌｅ／ｃｏｕｐｌｅｓ）」という用語は、間接接続と直接接続のいずれかを意味することが意図されている。ゆえに、第１デバイスが第２デバイスに連結されるという場合、その接続は直接接続によるものであってよく、又は、他のデバイス、部品、及び接続を介した間接接続によるものでもありうる。
【００５７】
当業者は、説明されている実施形態に対して、その真の理念及び範囲を逸脱することなく、様々な変更を行うことが可能であろう。本書で使用される用語及び記述は、例示のみを目的として記載されており、限定を意図するものではない。特に、方法は例によって説明されているが、方法のステップは、例示とは異なる順序で、又は同時に、実施されうる。当業者は、これらの変形例及び他の変形例が、以下の特許請求の範囲及びその均等物で規定される理念及び範囲に含まれうることを、理解しよう。
【００５８】
本開示の前述の説明は、それに関連する実施形態と共に、例示のみを目的として提示されている。説明は網羅的ではなく、開示内容を開示された形態そのものに限定するわけではない。当業者は、前述の説明から、上記の教示を踏まえた変更例及び変形例が可能であること、又は、本開示を実践することでかかる変更例及び変形例が得られることを、認識しよう。例えば、説明しているステップは、記載されたのと同じ順序で又は同程度分離されて、実施される必要はない。同じく、様々なステップは、同一又は類似の目的を実現するために、必要に応じて、省略されるか、反復されるか、又は組み合されうる。同様に、説明しているシステムは、必ずしも、実施形態で説明された全ての部分を含む必要はなく、実施形態に記載されていない他の部分を含むこともある。
【００５９】
したがって、本開示は、上述の実施形態に限定されず、その代わり、付随する特許請求の範囲の同等物の全範囲を踏まえて、付随する特許請求の範囲により規定される。
【図１】
2018200683.tif 000003
【図２】
2018200683.tif 000004
【図３】
2018200683.tif 000005
【図４】
2018200683.tif 000006
【図５】
2018200683.tif 000007
【外国語明細書】
2018200683000001.pdf
2018200683000002.pdf
2018200683000003.pdf
2018200683000004.pdf