(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-17
(45)【発行日】2022-08-25
(54)【発明の名称】自動化された試験システムの方法及び設計
(51)【国際特許分類】
G06F 11/36 20060101AFI20220818BHJP
【FI】
G06F11/36 188
G06F11/36 192
【外国語出願】
(21)【出願番号】P 2018081182
(22)【出願日】2018-04-20
【審査請求日】2021-04-16
(32)【優先日】2017-04-28
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2017-12-15
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】500520743
【氏名又は名称】ザ・ボーイング・カンパニー
【氏名又は名称原語表記】The Boeing Company
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林弁理士法人
(72)【発明者】
【氏名】シュラー, エーリヒ グンター
(72)【発明者】
【氏名】ベンソン, ジョン ノリス
(72)【発明者】
【氏名】ウストゥンタシュ, セマ
【審査官】金田 孝之
(56)【参考文献】
【文献】特開2013-105358(JP,A)
【文献】特開2011-141631(JP,A)
【文献】特開2007-257588(JP,A)
【文献】特開平04-112344(JP,A)
【文献】特開平07-200338(JP,A)
【文献】米国特許第09483387(US,B1)
【文献】米国特許出願公開第2011/0029957(US,A1)
【文献】中国特許出願公開第106155890(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/36
(57)【特許請求の範囲】
【請求項1】
商用企業システム(122)の商用使用と改修後の企業システム(130)の試験とを同時に行うための方法(300)であって、
前記商用企業システム(122)の一又は複数のユーザ(120A、120B、120C)から入力を取得すること(405)と、
前記一又は複数のユーザ(120A、120B、120C)からの前記入力を前記商用企業システム(122)に提供すること(410)と、
少なくとも1つのハードウェアプロセッサ(502)によって、前記改修後の企業システム(130)の試験に使用するために前記一又は複数のユーザ(120A、120B、120C)
から取得した前記入力の中から前記入力のサブセットを決定すること(415)と、
前記少なくとも1つのハードウェアプロセッサ(502)によって、前記改修後の企業システム(130)及び前記商用企業システムのコピー(125)上で、前記入力の前記サブセットについて一又は複数のトランザクションを実行すること(420)と、
前記少なくとも1つのハードウェアプロセッサ(502)によって、前記改修後の企業システム(130)が正しく設定されていることを確認するために前記一又は複数のトランザクションを解析すること(425)とを含
み、
前記決定することがホワイトリスト(210)に基づき、前記ホワイトリストは、前記試験に使用されるべきユーザ(120A、120B、120C)のリスト、前記試験に使用されるべきコマンド(212)のリスト、前記試験に使用されるべきトランザクション(213)のリストのうちの一又は複数を含む、方法。
【請求項2】
前記取得すること(405)の後に、前記商用企業システム(122)、前記改修後の企業システム(130)、及び、前記商用企業システムのコピー(125)に提供されるべき前記入力をコピーすること(430)を更に含む、請求項1に記載の方法。
【請求項3】
前記改修後の企業システム(130)及び前記商用企業システムのコピー(125)を、前記商用企業システム(122)と同期させること(430)を更に含む、請求項1に記載の方法。
【請求項4】
前記同期させること(430)が、所定の時間間隔の中で、又はオンデマンドで行われる、請求項
3に記載の方法。
【請求項5】
前記解析すること(425)が、前記商用企業システムのコピー(125)と前記改修後の企業システム(130)とに関するトランザクションの記録を比較すること(435)を更に含む、請求項1に記載の方法。
【請求項6】
企業システムの商用使用と改修後の企業システム(130)の試験とを同時に行うためのシステムであって、
一又は複数のプロセッサ(502)と、
一又は複数のコンピュータ可読媒体(504、510)とを備え、前記一又は複数のコンピュータ可読媒体(504、510)は指令を内包し、前記指令は、前記一又は複数のプロセッサ(502)によって実行されると、前記一又は複数のプロセッサ(502)に、
商用企業システムの一又は複数のユーザ(120A、120B、120C)から入力を取得すること(405)と、
前記一又は複数のユーザ(120A、120B、120C)からの前記入力を前記商用企業システムに提供すること(410)と、
前記改修後の企業システム(130)の試験に使用するために、前記一又は複数のユーザ(120A、120B、120C)
から取得した前記入力の中から前記入力のサブセットを決定すること(415)と、
前記改修後の企業システム(130)及び前記商用企業システムのコピー(125)上で、前記入力の前記サブセットについて一又は複数のトランザクションを実行すること(420)と、
前記改修後の企業システム(130)が正しく設定されていることを確認するために、前記一又は複数のトランザクションを解析すること(425)とを含む動作を実行させ
、
前記決定することがホワイトリストに基づき、前記ホワイトリストは、前記試験に使用されるべきユーザ(120A、120B、120C)のリスト、前記試験に使用されるべきコマンド(212)のリスト、前記試験に使用されるべきトランザクション(213)のリストのうちの一又は複数を含む、システム。
【請求項7】
前記一又は複数のプロセッサ(502)が、前記取得すること(405)の後に、前記商用企業システム(122)、前記改修後の企業システム(130)、及び、前記商用企業システムのコピー(125)に提供されるべき前記入力をコピーすること(430)を含む動作を実行するよう、更に動作可能である、請求項
6に記載のシステム。
【請求項8】
前記一又は複数のプロセッサ(502)が、前記改修後の企業システム(130)及び前記商用企業システムのコピー(125)を、前記商用企業システム(122)と同期させること(430)を含む動作を実行するよう、更に動作可能である、請求項
6に記載のシステム。
【請求項9】
前記同期させること(430)が、所定の時間間隔の中で、又はオンデマンドで行われる、請求項
8に記載のシステム。
【請求項10】
前記解析すること(425)が、前記商用企業システムのコピー(125)と前記改修後の企業システム(130)とに関するトランザクションの記録を比較すること(435)を更に含む、請求項
6に記載のシステム。
【発明の詳細な説明】
【背景技術】
【0001】
本開示は概して、企業用の試験システムに関する。企業用ソフトウェアシステム(企業システム)は、企業単位の業務を実施するために使用されうる。例示的な企業システムは、企業資源計画(enterprise resource planning:ERP)システム、顧客管理(client-relationship:CRM)システム、製品ライフサイクル管理(product lifecycle management:PLM)システム、サプライチェーン管理(SCM)システム、及び購買管理(supplier relationship management:SRM)システムを含みうる。商用環境においては、数多くのユーザが日常的に企業システムとやりとりし、その結果として、数百の(数千に及ぶこともある)トランザクション、及び、相対的に多量のデータが発生する。一部の事例においては、企業システムは、アップデートされ、かつ/又はカスタマイズされうる。例えば、企業システムの最新バージョンが利用可能になることがあり、その結果として、その企業システムがアップデートされる(例えば、バージョン1.0からバージョン2.0へのアップデート)。別の例としては、企業は、その特定の企業に適切な機能/特徴を含むよう、企業システムをカスタマイズしうる。
【0002】
企業システムをアップデート及び/又はカスタマイズ(改修)する場合、改修後の企業システムは、商用使用に利用可能になる前に試験される。一部の例では、商用データ(例えば、アップデート/カスタマイズする前の企業システムの商用使用から得られたデータ)を使用して、試験が実施される。従来的に、改修後の企業システムのシャドー試験は、商用システム(又は、このソフトウェアがテナント対応型である場合はテナント)を空のシステム(又はテナント)にコピーすることによって実現され、セミプロダクションデータを用いて試験が開始される。しかし、このことにはいつくかの欠点がある。
【0003】
例えば、かかる試験システムを設定するには、商用システム全体をコピーすることが必要であり、このことは、多量のメモリ(例えば最大で数テラバイト(TB))を消費する可能性がある。更に、このコピー手順には、かなり長い時間(例えば数時間から数日間)が必要になりうる。この時間中に、ソースシステムを商用使用すると、コピー内に不整合データが生じることがある。結果として、システムの商用使用が停止するか、長時間のダウンタイムがもたらされるか、又は、不整合データを使用して試験が実施されるかの、いずれかが起こる。更なる欠点は、新システムが旧システムと同様に正しく実行されるまで、データが分化(diverge)してエラーを発生させることであり、これらのエラーにより、問題の根本原因を特定することが困難になる。加えて、従来型のシャドー試験では、元のシステムで実行される全てのトランザクションが試験システムでも実行されることが必要であり、目標とされる試験が困難になる。
【0004】
ゆえに、この業界には、上述の不備及び欠点に対処するという、これまでに対応されていない必要性が存在している。
【発明の概要】
【0005】
本開示の例により、企業システムの商用使用と改修後の企業システムの試験とを同時に行うための方法が提供される。この方法は、商用企業システムの一又は複数のユーザから入力を取得することと、一又は複数のユーザからの入力を商用企業システムに提供することと、少なくとも1つのハードウェアプロセッサによって、改修後の企業システムの試験に使用するために一又は複数のユーザの中から入力のサブセットを決定することと、少なくとも1つのハードウェアプロセッサによって、改修後の企業システム及び商用企業システムのコピー上で、入力のサブセットについて一又は複数のトランザクションを実行することと、少なくとも1つのハードウェアプロセッサによって、改修後の企業システムが正しく設定されていることを確認するために一又は複数のトランザクションを解析することとを、含む。
【0006】
本開示の例により、企業システムの商用使用と改修後の企業システムの試験とを同時に行うためのシステムが提供される。このシステムは、一又は複数のプロセッサと、一又は複数のコンピュータ可読媒体を備えるメモリシステムとを備え、一又は複数のコンピュータ可読媒体は指令を内包し、これらの指令は、一又は複数のプロセッサによって実行されると、一又は複数のプロセッサに、商用企業システムの一又は複数のユーザから入力を取得することと、一又は複数のユーザからの入力を商用企業システムに提供することと、改修後の企業システムの試験に使用するために、一又は複数のユーザの中から入力のサブセットを決定することと、改修後の企業システム及び商用企業システムのコピー上で、入力のサブセットについて一又は複数のトランザクションを実行することと、改修後の企業システムが正しく設定されていることを確認するために、一又は複数のトランザクションを解析することとを含む動作を、実行させる。
【0007】
本開示の例により、企業システムの商用使用と、改修後の企業システムの試験とを同時に行うための、非一過性のコンピュータ可読記憶媒体が提供される。この非一過性のコンピュータ可読記憶媒体は、一又は複数のプロセッサに方法を実施させるための指令を含み、この方法は、商用企業システムの一又は複数のユーザから入力を取得することと、一又は複数のユーザからの入力を商用企業システムに提供することと、少なくとも1つのハードウェアプロセッサによって、改修後の企業システムの試験に使用するために一又は複数のユーザの中から入力のサブセットを決定することと、少なくとも1つのハードウェアプロセッサによって、改修後の企業システム及び商用企業システムのコピー上で、入力のサブセットについて一又は複数のトランザクションを実行することと、少なくとも1つのハードウェアプロセッサによって、改修後の企業システムが正しく設定されていることを確認するために一又は複数のトランザクションを解析することとを、含む。
【0008】
一部の例では、決定することはホワイトリストに基づき、このホワイトリストは、試験に使用されるべきユーザのリスト、試験に使用されるべきコマンドのリスト、試験に使用されるべきトランザクションのリスト、のうちの一又は複数を含む。
【0009】
一部の例では、方法は、取得することの後に、商用企業システム、改修後の企業システム、及び商用企業システムのコピーに提供されるべき入力をコピーすることを含む。
【0010】
一部の例では、方法は、改修後の企業システム及び商用企業システムのコピーを、商用企業システムと同期させることを更に含む。
【0011】
一部の例では、同期させることは、所定の時間間隔の中で、又はオンデマンドで行われる。
【0012】
一部の例では、解析することは、商用企業システムのコピーと改修後の企業システムとに関するトランザクションの記録を比較することを更に含む。
【0013】
前述の概要説明及び後述の詳細説明は両方とも、例示及び解説にすぎず、特許請求される実行形態に限定されるわけではないことを、理解されたい。
【図面の簡単な説明】
【0014】
【
図1】本開示の例による試験用アーキテクチャを示す。
【
図2】本開示の例による、試験データシーケンスソフトウェアの構造図を示す。
【
図3】本開示の例による、ターゲットシステムを試験するためのプロセスを示す。
【
図4】本開示の例による、企業システムの商用使用と改修後の企業システムの試験とを同時に行うための方法を示す。
【
図5】本開示に適合する、開示されている実行形態を実施するためのコンピュータシステムの一例である。
【発明を実施するための形態】
【0015】
これより、添付図面に示す例示的な実行形態に詳しく言及していく。同じ又は類似の部品に言及するのに、可能な場合には、図面全体を通して同じ参照番号を使用する。
【0016】
簡略化及び例示のために、本開示の原理は、主にその例示的な実行形態に言及することによって説明される。しかし、当業者であれば、同一の原理が、あらゆる種類の情報及びシステムに等しく適用可能であり、かつそれらにおいて実装されうること、及び、かかる変形例は全て、本開示の真の理念及び範囲から逸脱しないことを、容易に認識しよう。更に、以下の詳細説明では添付図面への言及がなされる。これらの図面は、具体的かつ例示的な実行形態を示している。例示的な実行形態には、本開示の理念及び範囲から逸脱しなければ、電気的、機械的、論理的、及び構造的な変更がなされうる。したがって、以下の詳細説明を限定的な意味に解釈すべきではなく、本開示の範囲は、付随する特許請求の範囲及びその均等物によって規定される。
【0017】
本開示の実行形態は概して、改修後の企業システムを、それに対応する商用企業システムを妨害することなく、試験することを対象とする。より具体的には、本開示の実行形態は、試験データベーススキーマと商用データベーススキーマとを併用して、商用データを用いて企業システムのアップデート及び/又はカスタマイズを試験することを、対象とする。一部の例では、本開示の実行形態により、追加のデータベースに複製された同一のデータについて、企業システムの試験と商用使用とが実施されることが可能になり、これには、オリジナルのデータベースと同じスキーマが使用されることも、されないこともある。最新の商用システムの実際の用法をリアルタイムで捕捉すること、及び、この捕捉された用法を、旧型の試験システムに対して新たに開発されたシステムを試験するために使用することによって、旧型試験システムとアップデート後の試験システムの両方で、同じ様態で、正確な商用ユーザに関する正確な商用トランザクションを再使用することによる、新型システムと旧型システム(両方のデータ完全性及びパフォーマンス)の精密な比較が、全てのトランザクションを実行することを必要とせずに、もたらされうる。また、エンドユーザの実際の商用インタラクションを使用することによって、システムが、エンドユーザの試験に費やされる時間の大部分をなくすと共に、商用の使用法を試験システム上で最もよく再現することが、可能になる。これは、インタラクションの種類と、システムの負荷及びスケーリングとを含む。これにより、更に、エラー条件をより良好に試験すること、単体試験を自動で行うこと、及び、試験データを自動で解析することが、可能になる。
【0018】
図1は、本開示の例による試験用アーキテクチャ100を示している。試験用アーキテクチャ100は、商用企業サーバなどの商用企業システム122(又は商用システム)を試験するために使用されてよく、かかるシステムにおいて、アーキテクチャ100は、商用のサーバ使用を遮断し、アップデート後のサーバシステムなどの改修後の企業システム130(又は試験システム)上で試験のためのインタラクションを選択的に再使用し、かつ、商用企業システムのコピー125(例えば試験用旧型サーバ)と結果を比較する。これにより、試験におけるユーザエラーの低減、エンドユーザの試験の圧倒的大部分の削減、及び、重複データ入力の削減とデータ入力により生じるエラーの削減がもたらされる。試験用アーキテクチャ100は、ネットワーク110Aによって複製プロキシサーバ115Aに通信可能に接続されているクライアントデバイス105A及び105Bと、ネットワーク110Bによって複製プロキシサーバ115Bに通信可能に接続されているクライアントデバイス105Cとを含む。クライアントデバイス105A、105Bは、ユーザ120A、120Bによってそれぞれ操作され、クライアントデバイス105Cはユーザ120Cによって操作される。一部の例では、ネットワーク110Aとネットワーク110Bとは異なるネットワークであり、かかるネットワーク110Aは外部の広域ネットワーク(すなわちインターネット)であり、ネットワーク110Bは内部のローカルエリアネットワークである。一部の例では、クライアントデバイス105A、105B、105Cは各々、ラップトップコンピュータ、デスクトップコンピュータ、スマートフォン、携帯用情報端末、携帯式メディアプレイヤー、タブレットコンピュータ、又は、複製プロキシサーバ115A、115Bと通信するために使用されうる他の任意の適切な演算デバイスなどの、演算デバイスでありうる。複製プロキシサーバ115A、115Bは、商用企業システム122、商用企業システムのコピー125、及び改修後の企業システム130に、通信可能に接続している。複製プロキシサーバ115A、115Bは、クライアントデバイス105A、105B、及び105Cからデータを取得し、そのデータを、ユーザ120A、120B、120Cによる作業の通常過程において使用するために商用企業システム122に提供すると共に、商用企業システムのコピー125及び改修後の企業システム130を使用する試験のためにも提供する。
【0019】
一部の例では、複製プロキシサーバ115A、115Bは、別個のサーバでありうるか、又は、商用企業システム122、商用企業システムのコピー125、改修後の企業システム130のいずれかによってホスティングされる1つのサービスでありうる。一部の例では、複製プロキシサーバ115a、115b、商用企業システム122、商用企業システムのコピー125、及び改修後の企業システム130は、サーバなどの一又は複数の演算デバイス、及び、一又は複数のデータベースシステムを含みうる。一部の例では、複製プロキシサーバ115A、115Bは、サーバの動作(クラウドコンピューティングなど)を実行するために共に作動する、1を上回る数の演算デバイスのことでありうる。一部の実行形態では、データベースシステムは、インメモリデータベースシステムとして設けられうる。一部の例では、インメモリデータベースは、データストレージのためにメインメモリを使用する、データベース管理システムである。一部の例では、メインメモリは、メモリバスを経由して一又は複数のプロセッサ(中央演算処理装置(central processing unit:CPU)など)と通信する、ランダムアクセスメモリ(RAM)を含む。インメモリデータベースは、ディスクストレージ機構を用いるデータベース管理システムと対比されうる。一部の例では、インメモリデータベースは、ディスクストレージデータベースと比べて、内部の最適化アルゴリズムが、より単純なCPU指令であってよく、かつ、より少ない数のCPU指令を実行しうる(例えば、必要なCPU消費が少ない)ので、より高速である。一部の例では、インメモリデータベース内のデータにアクセスすることで、データをクエリする際のシーク時間がなくなる。これにより、ディスクストレージデータベースシステムよりも高速かつ予測可能性が高いパフォーマンスがもたらされる。
【0020】
図2は、本開示の例による、試験データシーケンスソフトウェアの構造
図200を示している。複製プロキシサーバ115A、115Bは、ユーザ120A、120B、及び120Cから、それぞれのクライアントデバイス105A、105B、105Cを介して、入力205を取得する。複製プロキシサーバ115A、115Bは、商用システムのコピー125と結果を比較することによって改修後の企業システム130を試験するために使用されるべきホワイトリスト210を通してフィルタされるユーザ入力のキュー210を内包する。
図2に示すホワイトリスト210はトランザクションキューであり、このトランザクションキューは、商用ユーザ、セッショングループ(各セッショングループは商用セッションと2つの試験セッションとを含む)の状態の経過を追う状態機械、及び、試験セッションに対してどのトランザクションを処理するかを決定するホワイトリストからの、試験に使用されるべきユーザ(複数可)211、コマンド(複数可)212、及びトランザクション(複数可)213の完全リストである(そのため、試験セッション状態は商用セッション状態とは異なりうる)。ユーザ入力は、検索、編集、更新、結合、図面の再割り当て、報告、及び、何であれ、商用企業システム122によって情報が記憶され、操作されるその他の動作を含むがそれらに限定されるわけではない、一又は複数の動作を実行するためのコマンド(複数可)212を含む。トランザクション(複数可)213は、コマンドを開始するための、各クライアントデバイス105A、105B、105Cから商用企業システム122への指令でありうる。例えば、ユーザを管理するためのウェブサービスは、GetByName(Name)→EmployeeID/Fail(ホワイトリスト210上)、GetByID(ID)→EmployeeNameFail(ホワイトリスト210上)、Set(Name)→生成済みID/Fail(IDは自動生成)(ホワイトリスト210上ではない)、を含むがそれらに限定されるわけではない、アプリケーションプログラムインターフェース(API)コマンドを含みうる。トランザクションのリストは、縦列が2つ(Id、Name)の単一テーブルとしてデータベース内に配置されてよく、シンボル“*”は、ホワイトリストに載っていなかったために処理されないトランザクションでありうる。ホワイトリスト210は、典型的には、ユーザ120A、120B、120Cが、商用企業システムのコピー125及び改修後の企業システム130を含む試験システムに対する、通常の作業環境における実行のために使用しうる、入力のサブセットを発生させうる。加えて、ホワイトリスト210は、どのユーザ(例えばユーザ120A、120B、120C)を試験用アーキテクチャに含むかについてのリスティングを含みうる。例えば、ユーザ120A及び120Bが試験に使用されるがユーザ120Cは使用されない場合には、クライアントデバイス105A及び105Bに提供された入力は、複製プロキシサーバ115Aから商用企業システムのコピー125及び改修後の企業システム130に送られるが、クライアントデバイス105Cに提供された入力は送られない。加えて、ホワイトリスト210は、試験されるよう選択された入力のサブセット及びユーザに基づいて商用システムのコピー125及び改修後の企業システム130によって実行されるべき、一又は複数のトランザクションを含みうる。
【0021】
複製プロキシサーバ115A、115Bは、通常のワークフローに使用されるべき、商用データベース240と通信する商用企業システム122に、入力205を提供する。ホワイトリスト210から取得された入力のサブセットは、商用システムのクローン225(すなわち商用企業システムのコピー125)及び商用クローンデータベース245に対して、ターゲットシステム235(すなわち改修後の企業システム130)及びターゲットデータベース255を試験するために使用されるべき、プロセスキュー220に提供される。試験中に、入力のサブセットに関して、商用システムのクローン225とターゲットシステム235との間でトランザクションに基づく比較230が行われ、商用クローンデータベース245とターゲットデータベース255との間でデータベースに基づく比較250が行われ、これらは試験結果の調整(reconciliation)270として提供される。商用クローンデータベース245及びターゲットデータベース255は、環境同期260を使用して、商用データベース240と同期させられる。これにより、商用データベース240内の記録におけるいかなる変化も、商用クローンデータベース245及びターゲットデータベース255に伝播されることが確実になる。また、周期的に(すなわち、特定の時間枠において毎晩)、商用クローンデータベース245は、環境同期260及び周期的試験同期265を使用して、商用データベース240と同期されうる。周期的試験同期265は、環境同期260よりも頻度が高く、商用クローンデータベース245とターゲットデータベース255とが緊密に同期した状態に保たれることを確実にして、試験品質を確保するためのものである。環境同期260は、頻度が低く、(商用トランザクションのうちの1つのサブセットだけが、試験システムに対して実行されているので、)商用クローンデータベース245及びターゲットデータベース255を商用データと同期状態にするためのものである。
【0022】
図3は、本開示の例による、ターゲットシステム300を試験するためのプロセスを示している。305において、入力(複数可)が、クライアントデバイス(すなわちクライアントデバイス105A、105B、105C)から受信され、ユーザ(複数可)(すなわちユーザ120A、120B、及び120C)から取得される。この入力(複数可)は、ユーザの通常の日常作業中に、ユーザ(複数可)から取得される。310において、複製プロキシ(すなわち複製プロキシサーバ115A、115B)が、入力(複数可)を複製する。複製プロキシは全ての入力を複製し、これらの入力は次いで、ホワイトリスト210によってフィルタされる。全ての入力を複製することで、テストドキュメンテーションが改善されると共に、複製プロキシを可能な限り軽量に保つことにより、ユーザエクスペリエンスに影響を与える可能性が最小化される。ユーザが承認済みの試験システムユーザではない場合でも、これらのユーザのトランザクションは、複製及び記憶され、次いで、ホワイトリスト210によってフィルタ除去される。315において、商用システム(すなわち商用企業システム122)は、通常作業に使用されるべき、複製プロキシからの入力(複数可)を受信する。315において、商用企業システム122は通常の態様で入力(複数可)を処理し、これは、320で製造業務が完了するまで続く。325において、複製プロキシによって複製された入力(複数可)は、試験システム向けに承認されたトランザクションのリストと比較される。例えば、ホワイトリスト(すなわちホワイトリスト210)は一又は複数のトランザクションを含んでよく、このトランザクションは、ユーザ(複数可)のうちの一又は複数からの入力(複数可)のサブセットに基づいて、商用システムのクローン225及びターゲットシステム235上で行われるものであり、クローン化された全ての商用トランザクションから選択される。進行中の試験事例がない場合、このトランザクションは、トランザクションテーブルに追加され、かつ、試験システム構成に基づいて、ホワイトリストかブラックリストのいずれかに載るものとしてマーキングされる。進行中の試験事例があり、トランザクションがホワイトリストに載っている場合には、このトランザクションは、(335の)商用システムのクローン225上と(340の)ターゲットシステム234上で並行して実行される。一又は複数のトランザクション345及び350のそれぞれの結果は、例えば、特定の出力を評価し、かつ、相違が発生した場合にはその相違のためのバイナリレベルの比較フラッグを生成するよう、カスタマイズされている比較ツールを使用して、(355及び360において)比較される。365において比較レポートが生成され、370において試験事例は完了する。
【0023】
図4は、本開示の例による、企業システム122の商用使用と改修後の企業システム130の試験とを同時に行うための方法400を示している。方法は、405における、商用企業システム122の一又は複数のユーザ120A、120B、120Cから入力を取得することによって始まる。方法は、410における、一又は複数のユーザからの入力を商用企業システム122に提供することによって継続する。方法は、415における、少なくとも1つのハードウェアプロセッサによる、改修後の企業システムの試験に使用するために一又は複数のユーザの中から入力のサブセットを決定することによって継続する。この決定することはホワイトリスト210に基づき、ホワイトリストは、試験に使用されるべきユーザ(120A、120B、120C)のリスト、試験に使用されるべきコマンド212のリスト、試験に使用されるべきトランザクション213のリストのうちの、一又は複数を含む。方法は、420における、少なくとも1つのハードウェアプロセッサによる、改修後の企業システム130及び商用企業システムのコピー125上で、入力のサブセットについて一又は複数のトランザクションを実行することによって継続する。方法は、425における、少なくとも1つのハードウェアプロセッサによる、改修後の企業システム130が正しく設定されていることを確認するために一又は複数のトランザクションを解析することによって継続する。
【0024】
一部の例では、方法は、405における取得することの後に、430における、商用企業システム122、改修後の企業システム130、及び商用企業システムのコピー125に提供されるべき入力をコピーすることを含む動作を、オプションで実行しうる。
【0025】
一部の例では、方法は、430における、改修後の企業システム130及び商用企業システムのコピー125を商用企業システム122と同期させることを含む動作を、オプションで実行してよく、この同期させることは、所定の時間間隔の中で、又はオンデマンドで行われる。
【0026】
一部の例では、425における解析することは、435における、商用企業システムのコピー125と改修後の企業システム130とに関するトランザクションの記録を比較することを更に含みうる。
【0027】
図5は、上述したプロセスのうちの一又は複数を実施するために使用されうる、携帯デバイス又はサーバとして使用されうるコンピュータデバイス500のハードウェア構成の一例を示している。
図5には、コンピュータデバイス500に内包される様々なコンポーネントが示されているが、
図5は、コンピュータデバイスの一例を示しており、追加のコンポーネントが追加されてよく、既存のコンポーネントを取り除くことも可能である。
【0028】
コンピュータデバイス500は、デスクトップ、ラップトップ、サーバなどといった任意の種類のコンピュータデバイス、又は、スマートフォン、タブレットコンピュータ、携帯電話、携帯用情報端末などといった任意の種類の携帯デバイスでありうる。
図5に示すように、コンピュータデバイス500は、コア設定及びクロック周波数が様々な一又は複数のプロセッサ502を含みうる。コンピュータデバイス500は、コンピュータデバイス500の動作中にメインメモリとしての役割を果たす一又は複数のメモリデバイス504も含みうる。例えば、動作中に、その動作をサポートするソフトウェアのコピーが一又は複数のメモリデバイス504に記憶されうる。コンピュータデバイス500は、コンピュータデバイス500と人とのインタラクション、及びコンピュータデバイス500操作を可能にするための、キーボード、マウス、タッチパッド、コンピュータスクリーン、タッチスクリーンなどといった一又は複数の周辺インターフェース506も含みうる。
【0029】
コンピュータデバイス500は、有線媒体又は無線媒体を経由して、プロトコルを使用して通信するためのイーサネットアダプタ、無線トランシーバー、又はシリアルネットワークコンポーネントなどの、一又は複数のネットワークを介して通信するための一又は複数のネットワークインターフェース508も含みうる。コンピュータデバイス500は、画像、ファイル、及び一又は複数のプロセッサ502によって実行するためのプログラム指令などのデータを記憶するための、フラッシュドライブ、ハードドライブ、ランダムアクセスメモリ等といった、物理的寸法及び記憶容量が様々な一又は複数の記憶デバイス510も含みうる。
【0030】
加えて、コンピュータデバイス500は、上述の機能を可能にする一又は複数のソフトウェアプログラム512を含みうる。一又は複数のソフトウェアプログラム512は、一又は複数のプロセッサ502に本書に記載のプロセスを実施させる指令を含みうる。一又は複数のソフトウェアプログラム512のコピーは、一又は複数のメモリデバイス504及び/又は一又は複数の記憶デバイス510に記憶されうる。同様に、一又は複数のソフトウェアプログラム512によって使用されるデータも、一又は複数のメモリデバイス504及び/又は一又は複数の記憶デバイス510に記憶されうる。
【0031】
実行形態においては、コンピュータデバイス500は、ネットワーク516を介して他のデバイスと通信しうる。他のデバイスとは、上述した任意の種類のデバイスでありうる。ネットワーク516は、ローカルエリアネットワーク、広域ネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、及びそれらの任意の組み合わせなどの、任意の種類の電子ネットワークでありうる。ネットワーク516は、TCP/IP、UDP、OSI、FTP、UPnP、NFS、CIFS、AppleTalkなどといった多種多様な任意の商用プロトコルを使用して、通信をサポートしうる。ネットワーク516は、例えば、ローカルエリアネットワーク、広域ネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、及びそれらの任意の組み合わせでありうる。
【0032】
コンピュータデバイス500は、多種多様な、データストア並びに上述したその他のメモリ及び記憶媒体を含みうる。これらは、例えば、コンピュータのうちの一又は複数に対してローカルな(かつ/又はかかるコンピュータに常駐している)記憶媒体、又は、ネットワーク上のあらゆるコンピュータからリモートな記憶媒体の、多種多様な場所に存在しうる。一部の実行形態では、情報は、当業者には周知のストレージエリアネットワーク(「SAN」)内に存在しうる。同様に、コンピュータ、サーバ、又はその他のネットワークデバイスによる機能を実行するために必要なファイルがあればそれは、適宜ローカルでかつ/又はリモートで、記憶されうる。
【0033】
実行形態においては、上述したコンピュータデバイス500のコンポーネントは、単一の筐体内に封入される必要はなく、又は、互いに直近に配置される必要もない。当業者は、コンピュータデバイス500が、開示されている実行形態を実施するために必要な全ての随伴ファームウェア又はソフトウェアを含む、任意の種類のハードウェアコンポーネントを含みうるので、上述のコンポーネントは例にすぎないことを、認識しよう。コンピュータデバイス500は、部分的又は全体的に、特定用途向け集積回路(ASIC)やフィールドプログラマブルゲートアレイ(FPGA)などの、電子回路コンポーネント又はプロセッサによっても実装されうる。
【0034】
更に、本開示は以下の条項による例を含む。
【0035】
条項1.商用企業システムの商用使用と改修後の企業システムの試験とを同時に行うための方法であって、商用企業システムの一又は複数のユーザから入力を取得することと、一又は複数のユーザからの入力を商用企業システムに提供することと、少なくとも1つのハードウェアプロセッサによって、改修後の企業システムの試験に使用するために一又は複数のユーザの中から入力のサブセットを決定することと、少なくとも1つのハードウェアプロセッサによって、改修後の企業システム及び商用企業システムのコピー上で、入力のサブセットについて一又は複数のトランザクションを実行することと、少なくとも1つのハードウェアプロセッサによって、改修後の企業システムが正しく設定されていることを確認するために一又は複数のトランザクションを解析することとを、含む。
【0036】
条項2.決定することがホワイトリストに基づき、ホワイトリストは、試験に使用されるべきユーザのリスト、試験に使用されるべきコマンドのリスト、試験に使用されるべきトランザクションのリストのうちの一又は複数を含む、条項1に記載の方法。
【0037】
条項3.取得することの後に、商用企業システム、改修後の企業システム、及び商用企業システムのコピーに提供されるべき入力をコピーすることを更に含む、条項1に記載の方法。
【0038】
条項4.改修後の企業システム及び商用企業システムのコピーを、商用企業システムと同期させることを更に含む、条項1に記載の方法。
【0039】
条項5.同期させることが、所定の時間間隔の中で、又はオンデマンドで行われる、条項4に記載の方法。
【0040】
条項6.解析することが、商用企業システムのコピーと改修後の企業システムとに関するトランザクションの記録を比較することを更に含む、条項1に記載の方法。
【0041】
条項7.企業システムの商用使用と改修後の企業システムの試験とを同時に行うためのシステムであって、一又は複数のプロセッサと、一又は複数のコンピュータ可読媒体とを備え、一又は複数のコンピュータ可読媒体は指令を内包し、これらの指令は、一又は複数のプロセッサによって実行されると、一又は複数のプロセッサに、商用企業システムの一又は複数のユーザから入力を取得することと、一又は複数のユーザからの入力を商用企業システムに提供することと、改修後の企業システムの試験に使用するために、一又は複数のユーザの中から入力のサブセットを決定することと、改修後の企業システム及び商用企業システムのコピー上で、入力のサブセットについて一又は複数のトランザクションを実行することと、改修後の企業システムが正しく設定されていることを確認するために、一又は複数のトランザクションを解析することとを含む動作を、実行させる。
【0042】
条項8.決定することがホワイトリストに基づき、ホワイトリストは、試験に使用されるべきユーザのリスト、試験に使用されるべきコマンドのリスト、試験に使用されるべきトランザクションのリストのうちの一又は複数を含む、条項7に記載のシステム。
【0043】
条項9.一又は複数のプロセッサが、取得することの後に、商用企業システム、改修後の企業システム、及び商用企業システムのコピーに提供されるべき入力をコピーすることを含む動作を実行するよう、更に動作可能である、条項7に記載のシステム。
【0044】
条項10.一又は複数のプロセッサが、改修後の企業システム及び商用企業システムのコピーを、商用企業システムと同期させることを含む動作を実行するよう、更に動作可能である、条項7に記載のシステム。
【0045】
条項11.同期させることが、所定の時間間隔の中で、又はオンデマンドで行われる、条項10に記載のシステム。
【0046】
条項12.解析することが、商用企業システムのコピーと改修後の企業システムとに関するトランザクションの記録を比較することを更に含む、条項7に記載のシステム。
【0047】
条項13.商用企業システムの商用使用と改修後の企業システムの試験とを同時に行うための、非一過性のコンピュータ可読記憶媒体であって、一又は複数のプロセッサに方法を実施させるための指令を含み、方法が、商用企業システムの一又は複数のユーザから入力を取得することと、一又は複数のユーザからの入力を商用企業システムに提供することと、少なくとも1つのハードウェアプロセッサによって、改修後の企業システムの試験に使用するために一又は複数のユーザの中から入力のサブセットを決定することと、少なくとも1つのハードウェアプロセッサによって、改修後の企業システム及び商用企業システムのコピー上で、入力のサブセットについて一又は複数のトランザクションを実行することと、少なくとも1つのハードウェアプロセッサによって、改修後の企業システムが正しく設定されていることを確認するために一又は複数のトランザクションを解析することとを、含む。
【0048】
条項14.決定することがホワイトリストに基づき、ホワイトリストは、試験に使用されるべきユーザのリスト、試験に使用されるべきコマンドのリスト、試験に使用されるべきトランザクションのリストのうちの一又は複数を含む、条項13に記載の非一過性のコンピュータ可読記憶媒体。
【0049】
条項15.取得することの後に、商用企業システム、改修後の企業システム、及び商用企業システムのコピーに提供されるべき入力をコピーすることを更に含む、条項13に記載の非一過性のコンピュータ可読記憶媒体。
【0050】
条項16.改修後の企業システム及び商用企業システムのコピーを、商用企業システムと同期させることを更に含む、条項13に記載の非一過性のコンピュータ可読記憶媒体。
【0051】
条項17.同期させることが、所定の時間間隔の中で、又はオンデマンドで行われる、条項16に記載の非一過性のコンピュータ可読記憶媒体。
【0052】
条項18.解析することが、商用企業システムのコピーと改修後の企業システムとに関するトランザクションの記録を比較することを更に含む、条項13に記載の非一過性のコンピュータ可読記憶媒体。
【0053】
機能は、ソフトウェアにおいて実装される場合、一又は複数の指令又はコードとして、コンピュータ可読媒体に記憶されうるか、又は、コンピュータ可読媒体を経由して送信されうる。コンピュータ可読媒体は、1つの場所から別の場所へのコンピュータプログラムの伝送を促進する任意の媒体を含む、有形で非一時的なコンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセス可能である、任意の利用可能な、有形で非一時的な媒体でありうる。非限定的な例として、かかる有形で非一過性のコンピュータ可読媒体は、RAM、ROM、フラッシュメモリ、EEPROM、CD-ROM、又はその他の、光ディスク記憶デバイス、磁気ディスク記憶デバイス、若しくは他の磁気記憶デバイス、又は、指令構造又はデータ構造の形態で所望のプログラムコードを担持又は記憶するために使用可能な、かつ、コンピュータによってアクセス可能な、他の任意の媒体を含みうる。本書において、ディスク(disk及びdisc)とは、CD、レーザーディスク、光ディスク、DVD,フロッピーディスク、及びブルーレイディスクを含み、ディスク(disk)が通常、データを磁気的に再生する一方で、ディスク(disc)は、レーザーを用いて光学的にデータを再生する。また、接続があればそれは、厳密には、コンピュータ可読媒体とされる。例えば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、又は、赤外線、無線、及びマイクロ波などの無線技術を使用して、ウェブサイト、サーバ、又は他の遠隔ソースから送信される場合には、これらの同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、又は赤外線、無線、及びマイクロ波などの無線技術も、媒体の定義に含まれる。上記の接続の組み合わせも、コンピュータ可読媒体の範囲に含まれるべきである。
【0054】
上記の説明は例示であり、当業者には、構成及び実行形態における変形例が想起されうる。例えば、本書で開示されている実施形態に関連して説明している、様々な例示的な論理、論理ブロック、モジュール、及び回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特殊用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)若しくは他のプログラマブル論理デバイス、ディスクリートなゲート若しくはトランジスタ論理、ディスクリートなハードウェアコンポーネント、又は、本書に記載の機能を実行するよう設計された、それらの任意の組み合わせを用いて、実装されうるか、又は実行されうる。汎用プロセッサは、マイクロプロセッサでありうるが、代替的には、任意の従来型のプロセッサ、コントローラ、マイクロコントローラ、又は状態機械でありうる。プロセッサは、コンピュータデバイスの組み合わせ(例えば、DSPとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、一又は複数のマイクロプロセッサとDSPコアとの併用、又は、その他の任意のかかる構成)としても実装されうる。
【0055】
一又は複数の例示的な実施形態では、説明している機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせにおいて、実装されうる。ソフトウェアの実行形態については、本書に記載の技法は、本書に記載の機能を実行するモジュール(例えば、手順、機能、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス等)を用いて実装されうる。モジュールは、情報、データ、引数、パラメータ、又はメモリコンテンツをパッシングすること及び/又は受信することによって、別のモジュール又はハードウェア回路に連結されうる。情報、引数、パラメータ、データ等は、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信等を含む任意の好適な手段を使用して、パッシングされ、転送され、又は送信されうる。ソフトウェアのコードは、メモリユニットに記憶され、かつ、プロセッサによって実行されうる。メモリユニットは、プロセッサの内部又は外部に実装されうる。この場合、メモリユニットは、当技術分野で周知である様々な手段を介して、プロセッサに通信可能に連結されうる。
【0056】
本教示内容を、それらの実行形態の例に言及しつつ説明してきたが、当業者は、本教示の真の理念及び範囲から逸脱しなければ、説明した実行形態に様々な変更を行うことができる。本書における用語及び記述は、例示のみを目的として記載されており、限定を意図するものではない。特に、プロセスは例によって説明されているが、これらのプロセスの段階は、例示とは異なる順序で、又は同時に、実施されうる。更に、「含む(including/includes)」、「有する(having/has)」、「伴う(with)」という用語又はそれらの変形表現が、「発明を実施するための形態」において使用されている限り、かかる用語は、「備える(comprising)」という用語と同様に、包括的であることが意図されている。本書において、例えばA及びBなどのアイテムのリストに関連する、「一又は複数の(one or more of)」及び「少なくとも一つの(at least one of)」という表現は、Aのみ、Bのみ、又はA及びBを意味する。更に、別途明記されない限り、「組(set)」という用語は、「一又は複数」であると解釈すべきである。また、「連結する(couple/couples)」という用語は、間接接続と直接接続のいずれかを意味することが意図されている。ゆえに、第1デバイスが第2デバイスに連結されるという場合、その接続は直接接続によるものであってよく、又は、他のデバイス、部品、及び接続を介した間接接続によるものでもありうる。
【0057】
当業者は、説明されている実施形態に対して、その真の理念及び範囲を逸脱することなく、様々な変更を行うことが可能であろう。本書で使用される用語及び記述は、例示のみを目的として記載されており、限定を意図するものではない。特に、方法は例によって説明されているが、方法のステップは、例示とは異なる順序で、又は同時に、実施されうる。当業者は、これらの変形例及び他の変形例が、以下の特許請求の範囲及びその均等物で規定される理念及び範囲に含まれうることを、理解しよう。
【0058】
本開示の前述の説明は、それに関連する実施形態と共に、例示のみを目的として提示されている。説明は網羅的ではなく、開示内容を開示された形態そのものに限定するわけではない。当業者は、前述の説明から、上記の教示を踏まえた変更例及び変形例が可能であること、又は、本開示を実践することでかかる変更例及び変形例が得られることを、認識しよう。例えば、説明しているステップは、記載されたのと同じ順序で又は同程度分離されて、実施される必要はない。同じく、様々なステップは、同一又は類似の目的を実現するために、必要に応じて、省略されるか、反復されるか、又は組み合されうる。同様に、説明しているシステムは、必ずしも、実施形態で説明された全ての部分を含む必要はなく、実施形態に記載されていない他の部分を含むこともある。
【0059】
したがって、本開示は、上述の実施形態に限定されず、その代わり、付随する特許請求の範囲の同等物の全範囲を踏まえて、付随する特許請求の範囲により規定される。