(57)【要約】【課題】試験事例管理プラットフォームと、チャット・クランチャと、コンタクト・センタ・マネージャと、チャット・クラシファイアと、デスクトップ自動化エンジンと、ヘッドレス・ブラウザ・ベースの仮想エージェント及び顧客とを有する、フレキシブルでスケーラブルな自動化されたエンドツーエンドのチャット・ベースのコンタクト・センタ試験のためのシステムを提供する。【解決手段】試験事例管理プラットフォームは、ユーザがこのシステムの動作を構成することを可能にする。チャット・クランチャは、複数の仮想顧客を動作させる。コンタクト・センタ・マネージャは、複数の仮想エージェントを、仮想顧客とのチャット・セッションに参加するように動作させる。【選択図】図１
2017182783.tif 000002
【特許請求の範囲】
【請求項１】
自動化されたエンドツーエンドのウェブ対話試験のためのシステムにおいて、
少なくともメモリと、プロセッサと、前記メモリ内に記憶されていて前記プロセッサ上で動作する複数のプログラミング命令とからなる試験事例管理コンピュータであって、前記プログラム可能な命令が、複数の記憶されている構成命令に基づいて対話マネージャ・コンピュータの動作を指示するように構成されている、試験事例管理コンピュータと、
少なくともメモリと、プロセッサと、前記メモリ内に記憶されていて前記プロセッサ上で動作する複数のプログラミング命令とからなる対話マネージャ・コンピュータであって、前記プログラム可能な命令が、複数のヘッドレス・ウェブ・ブラウザ・アプリケーションの動作を指示するように構成されている、対話マネージャ・コンピュータと、
少なくとも、メモリ内に記憶されていて、ネットワーク接続されたコンピューティング・デバイスのプロセッサ上で動作し、人間の対話を伴わずにネットワークを経由してウェブ・インターフェースを介して対話するように構成されている複数のプログラミング命令からそれぞれがなる複数のヘッドレス・ウェブ・ブラウザ・アプリケーションとからなる、システム。
【請求項２】
前記複数の記憶されている構成命令の少なくとも一部分が、ヘッドレス・ウェブ・ブラウザのためのプログラム式の命令を含む、請求項１に記載のシステム。
【請求項３】
自動化されたエンドツーエンドのウェブ対話試験のための方法において、
少なくとも、メモリ内に記憶されていて、ネットワーク接続されたコンピューティング・デバイスのプロセッサ上で動作し、複数の記憶されている構成命令に基づいて対話マネージャの動作を指示するように構成されている複数のプログラミング命令からなる試験事例管理プラットフォームを使用して、新たな試験事例を作成する工程と、
複数の記憶されている構成命令をロードする工程と、
少なくとも、メモリ内に記憶されていて、ネットワーク接続されたコンピューティング・デバイスのプロセッサ上で動作し、複数のヘッドレス・ウェブ・ブラウザ・アプリケーションの動作を指示するように構成されている複数のプログラミング命令からなる対話マネージャを介して、前記記憶されている構成命令の少なくとも一部分に少なくとも部分的に基づいて複数のヘッドレス・ウェブ・ブラウザ・アプリケーションを指示する工程と、
少なくとも、メモリ内に記憶されていて、ネットワーク接続されたコンピューティング・デバイスのプロセッサ上で動作し、人間の対話を伴わずにネットワークを経由してウェブ・インターフェースを用いて対話するように構成されている複数のプログラミング命令からそれぞれがなる複数のヘッドレス・ウェブ・ブラウザ・アプリケーションを使用して、複数のウェブ・インターフェースと対話する工程とからなる方法。
【請求項４】
前の工程からの出力データを将来の参照のためにデータベース内にログ記録する工程をさらに備える、請求項３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンタクト・センタ運用の分野に関し、より詳細には、チャット・ベースのクライアント対話ソフトウェア・システムのエンドツーエンド試験の分野に関する。
【背景技術】
【０００２】
コンタクト・センタ運用の分野において、従来、エージェントと顧客の間の通信は、従来の電話又はボイス・オーバー・インターネット・プロトコル（ＶｏＩＰ）システムなど音声ベースのシステムを介して実行される。しかし、より多くのセンタが、音声接続にアクセスを有さない、又は音声接続を利用することを望まない可能性がある顧客により良く役立つように、当技術分野において一般的に見られるインターネット・ベースのチャット・ソフトウェアなどのさらなるテキスト・ベースの通信に対応しはじめている。このことの一般的な例が、顧客が、企業のウェブサイト上のオンライン・カタログをブラウズすることであろう。そのようなシナリオでは、顧客が製品についての質問を有する可能性があり、ウェブページ内に便利なチャット・インターフェースを含め、顧客がオンライン・カタログを依然としてブラウズしながら顧客のコンピュータから便利にエージェントと直接に通信することを可能にすることにより、顧客と企業の両方が利益を得ることが可能である。このことは、エージェントと連絡をとるのに電話ベースの対話型音声対話型音声認識（ＩＶＲ）システムを操作する必要性がなく、エージェントが応対可能になるのを長いキューの中で待つこともなしに、より便利で迅速な通信を可能にする。また、このことは、顧客が電話にアクセスを有さない可能性がある、又は自らの会話が他の人々の耳に入ることを望まない可能性があるインターネット・カフェ又は同様の公共の場所から、顧客がオンライン・カタログを閲覧していることなどが可能な、よりフレキシブルな通信も可能にする。
【０００３】
コンタクト・センタ方法におけるこの移行によれば、信頼できるコンタクト・センタ運用を確実にし、フリーズしたチャット・セッション又はテキスト伝送の遅延などの、顧客対話に影響を及ぼす可能性がある問題を解決するようにチャット・ベースのシステムを試験し、評価する必要性が存在することが理解されよう。そのような試験システムは、試験結果の信頼性に影響を及ぼすことなく、人間による対話又は修正を必要とすることなしに、ウェブページに埋め込まれたチャット・インターフェース、パーソナル・コンピュータ又はモバイル・チャット・アプリケーションの上で実行されるべき専用のチャット・ソフトウェアなどのさまざまなエンドポイントにも対応すべきであることが理解されよう。
【０００４】
当技術分野においては音声通信のための試験方法が存在するが、そのような方法は、テキスト・ベースのシステムにうまく転用することができないことが理解されよう。さらに、当技術分野で現在実施されているチャット試験システムがあるが、そのようなシステムは、操作するのに試験エージェントの対話を必要とし、それは、試験にかかわる時間及び労力のためのさらなる出費、試験プロトコルの信頼性に影響を及ぼし得る人的エラー要因、及び人間による操作に関連するさまざまな矛盾などの新たな問題を生じさせる。
【０００５】
必要とされているのは、進行中の顧客対話に影響を及ぼすことなく本番環境と並行して動作することが可能であり、試験信頼性に悪影響を及ぼすことなしにさまざまなエンドポイント及びインフラストラクチャ実施態様に対応することが可能である、チャット・ベースの通信のためのフレキシブルでスケーラブルな自動化された試験解決策である。さらに、必要とされているのは、実際の使用を正確に表して実際のクライアント対話に干渉しないようにチャット・フロントエンド・ソフトウェアの試験を可能にする、チャット・ベー
スの通信のエンドツーエンド試験を容易にするための手段である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許出願公開第２００４／０００８８２５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００７】
したがって、本発明者は、本発明の好適な実施形態において、特定のチャット・ソフトウェア又はエンドポイントに依拠せず、さまざまな実施アーキテクチャに対応するようにスケーラブルである自動化されたチャット試験のための方法、及びそのような方法の実施のための好適なシステムを考案し、実施化した。
【課題を解決するための手段】
【０００８】
本発明の第１の態様は、自動化されたエンドツーエンドのウェブ対話試験のためのシステムにおいて、
少なくともメモリと、プロセッサと、前記メモリ内に記憶されていて前記プロセッサ上で動作する複数のプログラミング命令とからなる試験事例管理コンピュータであって、前記プログラム可能な命令が、複数の記憶されている構成命令に基づいて対話マネージャ・コンピュータの動作を指示するように構成されている、試験事例管理コンピュータと、
少なくともメモリと、プロセッサと、前記メモリ内に記憶されていて前記プロセッサ上で動作する複数のプログラミング命令とからなる対話マネージャ・コンピュータであって、前記プログラム可能な命令が、複数のヘッドレス・ウェブ・ブラウザ・アプリケーションの動作を指示するように構成されている、対話マネージャ・コンピュータと、
少なくとも、メモリ内に記憶されていて、ネットワーク接続されたコンピューティング・デバイスのプロセッサ上で動作し、人間の対話を伴わずにネットワークを経由してウェブ・インターフェースを介して対話するように構成されている複数のプログラミング命令からそれぞれがなる複数のヘッドレス・ウェブ・ブラウザ・アプリケーションとからなる、システムを要旨とする。
【０００９】
本発明の第２の態様は、第１の態様において、前記複数の記憶されている構成命令の少なくとも一部分が、ヘッドレス・ウェブ・ブラウザのためのプログラム式の命令を含むことを要旨とする。
【００１０】
本発明の第３の態様は、自動化されたエンドツーエンドのウェブ対話試験のための方法において、
少なくとも、メモリ内に記憶されていて、ネットワーク接続されたコンピューティング・デバイスのプロセッサ上で動作し、複数の記憶されている構成命令に基づいて対話マネージャの動作を指示するように構成されている複数のプログラミング命令からなる試験事例管理プラットフォームを使用して、新たな試験事例を作成する工程と、
複数の記憶されている構成命令をロードする工程と、
少なくとも、メモリ内に記憶されていて、ネットワーク接続されたコンピューティング・デバイスのプロセッサ上で動作し、複数のヘッドレス・ウェブ・ブラウザ・アプリケーションの動作を指示するように構成されている複数のプログラミング命令からなる対話マネージャを介して、前記記憶されている構成命令の少なくとも一部分に少なくとも部分的に基づいて複数のヘッドレス・ウェブ・ブラウザ・アプリケーションを指示する工程と、
少なくとも、メモリ内に記憶されていて、ネットワーク接続されたコンピューティング・デバイスのプロセッサ上で動作し、人間の対話を伴わずにネットワークを経由してウェブ・インターフェースを用いて対話するように構成されている複数のプログラミング命令からそれぞれがなる複数のヘッドレス・ウェブ・ブラウザ・アプリケーションを使用して
、複数のウェブ・インターフェースと対話する工程とからなる方法を要旨とする。
【００１１】
本発明の第４の態様は、第３の態様において、前の工程からの出力データを将来の参照のためにデータベース内にログ記録する工程をさらに備えることを要旨とする。
本発明の好適な実施形態によれば、試験事例管理（ＴＣＭ）プラットフォームと、「チャット・クランチャ」と、コンタクト・センタ・マネージャ（ＣＣＭ）と、チャット・クラシファイアと、デスクトップ自動化エンジン（ＤＡＥ）とからなる、コンタクト・センタのための自動化されたチャット試験を扱うためのシステムが、開示される。この実施形態によれば、ＴＣＭプラットフォームが、図６及び図７に詳細に示されるとおり、試験事例を作成して管理するための、及び結果レポートを閲覧するためのウェブ・ベースのグラフィカル・ユーザ・インターフェースを提示することが可能である。そのような機能は、ユーザが、さらなる試験プロトコルを入力すること、以前の試験の結果を閲覧すること、試験を、それらの試験が実行されているときにリアルタイム解析のために閲覧すること、及び試験結果レポートを操作すること（たとえば、特定のレポートを選択すること、及びそれらのレポートを、バックアップ目的でデータベース又は他の記憶媒体にエクスポートすることなど）を可能にすることができる。「チャット・クランチャ」は、この実施形態によれば、シミュレートされた顧客トラフィックを生成して、顧客体験のためにさまざまなチャット・エンドポイント（たとえば、ウェブページ内の埋め込まれたチャット・インターフェースなど）を試験すること、及び生成されるトラフィックの量を変えることによって負荷試験の自動化を扱うことなどの機能を含む（ただし、それらには限定されない）、試験事例のロード及び実行を扱うことが可能である。ＣＣＭシステムは、エージェント活動をシミュレートし、チャット・クランチャからのシミュレートされた顧客トラフィックに関してコンタクト・センタ機能を実行することが可能であり、コンタクト・センタによって利用されるチャット・サーバを直接に操作することによって実際のエージェント活動を再現して、それによって、チャット・サーバ、ＣＴＩサーバ、又は他の内部構成要素などの既存のセンタ・アーキテクチャの試験を組み込むことも可能である。そのような実施態様は、いずれの特定の既存の構成要素又は構成にも依拠することなく、このため、さまざまなコンタクト・センタ・インフラストラクチャに対するスケーラビリティを容易にすることが理解されよう。チャット・クラシファイアは、この実施形態に従って実施されて、チャット対話を、それらの対話の性質に応じて、試験システムによって実行されているシミュレートされた対話、又は実際の顧客−エージェント対話として分類することが可能である。このようにして、チャット・クラシファイアは、コンタクト・センタ内で試験環境と本番環境の間の境界を実施して、試験が、センタ・パフォーマンス及び顧客体験に影響を及ぼすことなしに同時に実行されることを可能にするのに使用され得る。ＤＡＥシステムは、この実施形態に従って使用されて、チャット・サーバと直接に対話するのではなく、エージェント・デスクトップ環境を直接に操作して、エージェント体験を試験する機能を追加することが可能である。したがって、単一の例示的な試験事例が、前述したＣＴＩサーバ又はチャット・サーバなどの内部コンタクト・センタ・システム、エージェント・デスクトップ・ソフトウェア、インバウンド・トラフィック管理及び負荷処理、ならびにさまざまなチャット対話エンドポイントを介する顧客体験、及び実行されるすべての要求の全体的なルーティング効率の試験を実行して、その後、試験事例結果データを閲覧及び解析のために記憶することが可能である。説明される好適な構成は、例示的なものであり、代替の構成が、本発明に従って可能であり得ること、及び当技術分野が進化しつづけるにつれ、新たな機能及び適切な試験プロトコルが本発明の範囲内で実施され得ることが当業者には理解されよう。
【００１２】
本発明の別の好適な実施形態によれば、自動化されたチャット試験のための方法が開示される。この実施形態によれば、最初の工程において、試験事例が開始される。このことは、スケジュールされたイベント、又は定期的に、もしくはいくつかの条件が満たされた際に実行されるルーチンの一部などの、自動化されたタスクとして実行され得る。また、
このことは、任意選択で、特定の特徴もしくは工程を試験するのに、又は新たな試験事例の「試行」を、その試験事例が自動的に実行されるように設定される前に実行するのに望ましい可能性があるカスタム試験事例の作成及び実行のために、ＴＣＭプラットフォームを介した人間の対話によってトリガされることも可能である。試験事例が実行されると、チャット試験のためのエンドポイントとして使用される、複数の仮想顧客及び仮想エージェントが作成される。このアプローチは、試験が実行されるにつれ、チャット工程に関与する各システムを暗黙に試験する。仮想顧客及び仮想エージェント作成の結果は、コンタクト・センタ・インフラストラクチャの一部分としてローカルに配置され得る、又はコンタクト・センタから遠隔に配置され、インターネットもしくは他のデータ・ネットワークを介してアクセスされるクラウドホストされるストレージなどのさまざまな遠隔記憶媒体のうちのいずれかであり得る、試験データベース又は同様のデータ・ストアの中に記憶され得る。次に、記憶されたデータが、試験データを閲覧するための詳細なレポートを生成するために後に使用されることが可能であり、詳細なレポートもまた、後に取り出すために記憶されることが可能である。次に、実行されている特定の試験事例に応じて、１つ又は複数の仮想顧客が、チャット・セッションを開始する。そのようなセッション開始要求は、インターネット又は他のデータ・ネットワークを介して送信され、顧客からの実際のインバウンド要求と同様に扱われることが可能である。コンタクト・センタ内で境界を実施し、試験事例が運用に影響を及ぼすことを防止するために、チャット・クラシファイアが、センタを通過するチャット要求を解析して、それらのチャット要求に、適宜、試験事例関連として「フラグを設定する」ように実施され得る。このようにして、試験データは、現実のエージェントに仮想顧客の要求を送信すること、又は顧客に試験データを公開することなどの、実際の顧客対話と同様のパスを、コンタクト・センタ運用の妨げとなることなく、たどることが可能である。この工程は、通常のセンタ運用と並行して試験を実行することが常に必要であるわけではないので、すなわち、たとえば、試験は、インバウンド・トラフィックが、運用の時間を顧客に知らせる自動化されたシステムによって扱われ、トラフィックがまったくセンタに届かないセンタの運用時間外に実行され得るので、任意選択であり得ることが当業者には理解されよう。この場合も、この工程からのもたらされるデータは、報告の際に使用されるようにデータ・ストアの中にログ記録され得る。セッションが開始され、任意選択で分類された後、仮想エージェントが応答し、チャット・セッション自体が、実行されている試験事例に応じて開始することが可能である（本明細書で説明される方法は、特定のスクリプトを前提とせず、そのような試験事例は多種多様であり得ることが理解されよう）。試験による顧客−エージェント交換チャット・メッセージ、それに応じてログ記録される結果、及び、任意選択でＣＣＭプラットフォームが、エージェント・デスクトップと対話して、エージェント体験の試験を円滑にし、コンタクト・センタ・ソフトウェアの動作を試験することが可能である。そのようなエージェント・デスクトップは、エージェント・デスクトップ環境ソフトウェアを実行する物理的コンピュータ・ワークステーションであることが可能であり、又は物理的コンピュータが存在しない試験システム内部で実行されている仮想デスクトップであることも可能である。エージェント・デスクトップ対話からの結果が（存在する場合）ログ記録され、試験事例が完了すると、最終的に、ログ記録されたすべてのデータが校合されて結果レポートにされる。もたらされるレポートは、後に取り出されるように記憶されることが可能であり、ユーザによる解析のためにＴＣＭプラットフォーム内から閲覧可能にされ得る。このようにして、以前の試験からの結果が、ユーザが、ＴＣＭプラットフォームのグラフィカル・インターフェースから任意の将来の試験を最適化することができるように利用可能である。
【００１３】
本発明の別の実施形態によれば、チャット・ベースのソフトウェア・フロントエンドが、特定のフロントエンド・アプリケーションが実際のコンタクト・センタ運用における実施に先立って試験され得るように、ストレス試験、機能、信頼性、応答時間、又は他の有用な試験メトリックに関して検査されることが可能である。この実施形態によれば、試験方法は、単一の試験システムが、必要に応じて任意のフロントエンド・ソフトウェアとと
もに利用され得るように、さまざまなサードパーティ又は外部のフロントエンド・ソフトウェアの使用を可能にし得る。このようにして、新たなフロントエンド又は代替のフロントエンドが、展開に先立ってそれらのフロントエンドの機能を検証するように、現実の条件又はシミュレートされた条件において実現可能性に関して検査され得る。この実施形態によれば、インターネット・ベースのネットワーク又は同様のインターネット・プロトコル（ＩＰ）ネットワークに本来備わった特徴が、システム動作を円滑にするのに利用されることが可能であり、たとえば、チャットの挙動又はパラメータを識別するために、ＨＴＴＰヘッダ（そのような通信ネットワークを介して送信されるデータ・パケットの重要な特徴である）を使用すること、又は試験の際に使用するためのチャット・サーバを識別するために、特別に作成されたＵＲＬを使用すること（すなわち、チャット・フロントエンドが、試験サーバと対話するのに、電話番号に接続するのではなく、特定のＵＲＬを要求することが可能である）などである。このようにヘッダを利用することによって、対話の扱いについての判定が、フロントエンド自体に特別の対応が追加されることなしに、受信されたヘッダにおける情報（チャット要求をどのようにルーティングすべきかなど）に基づいて行われ得る。そのような機能は、適切な機能のために特定の試験ネットワークが利用されることを必要とするのではなく、すべてのＩＰベースの通信に本来備わった基本的な技術的特徴を利用することによって、さまざまなネットワーク上で試験を可能にするのに利用され得る。このようにして、試験は、エージェント又は顧客として動作する遠隔に配置されたコンタクト・センタ・エージェント又はソフトウェア要素などの外部接続を利用することが可能であり、顧客がコンタクト・センタを相手にした顧客の対話の際に利用する可能性がある同じネットワーク（すなわち、インターネット）を利用することが可能である（コンタクト・センタ内の内部ネットワーク上で試験を行うのではなく）。そのようなアプローチを使用することによって、試験は、実際の顧客と同じ技術的要素を利用して、それによって、コンタクト・センタ・チャット対話の実際の運用条件を厳密に再現することが可能であることが理解されよう。
【００１４】
既存の通信技術を利用して運用を円滑にすることに対する拡張として、試験システムは、インターネット又は同様のデータ通信ネットワークを介して対話する遠隔チャット・フロントエンドなどの外部接続どうしにわたって動作することが可能である。このようにして、試験システムは、実際の顧客が利用する可能性がある実際のネットワーク接続、物理的ハードウェア、又はロケーションを利用して、試験結果の妥当性を高めることが可能である。さらに、そのような機能は、クラウド・ベースのフロントエンド又は遠隔フロントエンドを介して動作する分散したコンタクト・センタ・エージェントの使用を可能にし、これは、当技術分野におけるクラウド・ベースの又は分散型のコンタクト・センタ運用において一般的な構成であり、またそれは、いかなる特別な構成又はハードウェアも必要とせずに中央試験システムと対話することが可能である。このようにして、遠隔エージェントは、エンドツーエンド試験システムの完全な機能を利用しながら、自分の既存のハードウェア又は馴染みのあるチャット・フロントエンドを利用することが可能である。さらに、分散したエージェントは、特定の接続又はフロントエンドが、実際の運用の対話トラフィック・レベルを扱うのに十分なだけ堅牢であることを確実にするための負荷試験に役立ち得るような、スケジュールされたチャット試験対話などの自動化された試験に参加することが可能である。さらなる用途は、定期的な試験を実行して、コンタクト・センタの一貫性のある運用を確実にすること、ならびにセンタ又は試験システム内で変更が行われた場合に、継続した運用を（適宜）確実にすること（たとえば、構成が変更された場合、運用を確実にするために試験のバッチが開始され得る）など、顧客対話をシミュレートする、試験システムから開始され得るエージェント及びそれらのエージェントのフロントエンドの定期的な又はランダムな試験であり得る。
【００１５】
さらに、この実施形態によれば、チャット対話が、接続に沿った任意のポイントにおいて、又は対話中の任意の時点で、複数の通信技術（物理接続、ケーブル・ベースもしくは
ファイバ・ベースのインターネット接続、セルラー通信ネットワーク、又は他の通信技術など）を利用することが可能である。そのような技術は、同時に、又は順次に、又はランダムなパターンもしくは構成可能なパターンに従って利用されることが可能である。このようにして、対話中に利用されることが可能な任意の通信技術が試験されて、顧客−エージェント対話の任意の可能なシナリオを試験が完全に包含し得ることを確実にすることが可能である。
【００１６】
前述したとおり、実際の技術又はネットワークの上で試験事例を運用することに加えて、そのような試験事例はまた、実際のクライアント−エージェント対話を正確に表すための重要なメトリック又は試験機能を検査及び測定すべきである。たとえば、試験事例が、チャット・サーバに、又は第２のチャット参加者（コンタクト・センタ・エージェントなど）に接続するための時間、エージェントが「応対」して対話に加わるのを待つのに費やされる時間（すなわち、チャット・ベースの対話に関係する場合には、「保留時間」メトリック）、テキストを受信するのを待つのに、もしくは応答を送信するのを待つのに費やされる時間（顧客が質問をタイプ入力すること、もしくはエージェントが返信を作成するために情報を調べることをシミュレートするためなど）、顧客（もしくはシミュレートされた顧客）に返す応答ストリングを選択するのに費やされる時間、又はいずれの特定のフロントエンドにも依拠することなしに試験され得る他の機能を測定することが可能である。さらに、顧客又は他の参加者は、さまざまな工程又は機能を有するさまざまなフロントエンド・アプリケーションを使用する可能性があるので、試験システムに本来備わった基礎をなすソフトウェア要素は、使用されている特定のソフトウェア・アプリケーションにかかわらずに適合するであろうように、フロントエンドからの要求を扱うこと、ならびにフロントエンドに送信されることになる出力を処理することが可能であるべきである。このようにして、試験解決策は、機能を損なうことなしに、多様な種類及び量のフロントエンド・チャット・プログラムへとスケーラブルであり得る。
【００１７】
さらに、運用のための試験手順を選択又は構成すること、たとえば、どんなスクリプトを実行するか、どんなストリングを送信するか、待機時間のような変数の値、及び将来の参照又は使用のために記憶することが望ましい可能性がある他の構成を選択することなどを行うために、「キャンペーン」機能が試験システムによって利用され得る。さらに、試験キャンペーンを運用する際には、結果が、特定のキャンペーンに関連して報告又はログ記録されることが可能であり、それによって、試験結果を点検する際に、キャンペーンの構成が、そのキャンペーンの以前の実行の結果と一緒に利用可能にされ得る。このようにして、試験は、スケジューリング又は周期性（「いつ」試験が実行されるか）に関してだけでなく、可変の待機時間、試験されるべきネットワーク、どんなエージェントに試験対話を送信すべきか、試験エラーもしくは他の運用パラメータに関する限度、又は試験結果をどのように報告すべきか（「どのように」試験が実行されるか）などの、特定の試験運用を制御する構成パラメータに関しても構成され得る。このようにして、さまざまな試験及び試験タイプが構成されることが可能であり、構成は、個々の試験を手動で構成することによってではなく、記憶されたキャンペーンを編集することによって変更又は維持されることが可能である。さらに、階層的な試験アプローチをもたらすためなどに、キャンペーンどうしが結び付けられることが可能であり、たとえば、「試験キャンペーンＡ」がある限度内の結果を返す場合、「試験キャンペーンＢ」を実行するが、「Ａ」がそれらの限度を外れたものを返す場合、「試験キャンペーンＣ」を実行する。このようにして、独自の運用に適応可能であり得る完全に自律的な試験計画が構成されることが可能であり、人間による介入は、キャンペーン構成を変更するのに必要とされ得るだけである一方で、通常の運用は、監督されずに進行するように構成され得る。そのようなアプローチは、結果をまとめて適切な関係者に送信する（たとえば、ハードウェア障害が検出された場合、ＩＴスタッフに知らせる）キャンペーンなどの対話型報告の可能性を開かれたままにすることも可能であること、及びそのようなレポートは、報告される内容の妥当性及び有用性を
高めるようにキャンペーンに、又は実行されている特定の試験にさえ結び付けられ得ることを理解されたい。そのような報告の挙動を、前述した試験方法（ＨＴＴＰヘッダ、又は通信における他の埋め込まれたデータを利用することなど）と組み合わせることによって、レポートは、システム運用を示すだけでなく、対話の「クライアントの目で見た」眺め、すなわち、エージェントからの遅い応答時間などの、対話中に顧客が見た又は経験したことも示すことが可能であることがさらに理解されよう。このようにして、試験は、さらにいっそう妥当となることが可能であり、従来の試験運用において現れない可能性がある問題、すなわち、前述の例を続けると、試験システムが、対話中の現実の又はシミュレートされたエージェントからの迅速な応答を示した一方で、顧客が、遅い応答時間を経験している可能性があることを分離することが可能である。このことは、（たとえば）顧客とエージェントの間の通信パス中の接続又はハードウェアに伴う問題を分離するのに使用されて、より正確なシステム診断、及び運用の全体的な効率を円滑にすることが可能である。
【００１８】
添付の図面は、本発明のいくつかの実施形態を示し、説明と一緒になって、それらの実施形態による本発明の原理を説明する役割をする。図面に示される特定の実施形態は、例示的なものにすぎず、本発明の範囲又は本明細書における特許請求の範囲をいかなる形においても限定するものとはみなされるべきではないことが当業者には理解されよう。
【図面の簡単な説明】
【００１９】
【図１】本発明の好適な実施形態による、ヘッドレス・ウェブ対話試験のための例示的なシステム・アーキテクチャを示すブロック図。
【図２】本発明の実施形態による、ヘッドレス・ウェブ対話試験のための例示的な方法を示すブロック図。
【図３】本発明の実施形態による、ヘッドレス・ウェブ試験サーバのプログラム式のコントロールのための例示的な方法を示すブロック図。
【図４】本発明の好適な実施形態による、従来のコンタクト・センタ構成要素と統合された自動化されたチャット試験のための例示的なシステム・アーキテクチャを示すブロック図。
【図５】本発明の好適な実施形態による、自動化されたチャット試験のための方法を示すブロック図。
【図６】本発明の好適な実施形態による試験事例作成インターフェースを示す図。
【図７】本発明の好適な実施形態による試験結果要約インターフェースを示す図。
【図８】本発明の実施形態による、スケーラブルなエンドツーエンドのチャット試験のための例示的な方法を示すブロック図。
【図９】本発明の実施形態による、キャンペーン・ベースの試験のための例示的な方法を示すブロック図。
【図１０】本発明の実施形態において使用されるコンピューティング・デバイスの例示的なハードウェア・アーキテクチャを示すブロック図。
【図１１】本発明の実施形態による、クライアント・デバイスに関する例示的な論理アーキテクチャを示すブロック図。
【図１２】本発明の実施形態による、クライアント、サーバ、及び外部サービスの例示的なアーキテクチャ構成を示すブロック図。
【図１３】本発明のさまざまな実施形態において使用されるコンピューティング・デバイスの例示的なハードウェア・アーキテクチャを示す別のブロック図。
【発明を実施するための形態】
【００２０】
本発明者は、本発明の好適な実施形態において、信頼できる自動化された試験を円滑にし、コンタクト・センタ運用を改善するためのフレキシブルでスケーラブルなアーキテクチャ及び方法からなる、チャット・ベースのコンタクト・センタ対話試験の自動化のため
のシステム及び方法を考案し、実施化した。
【００２１】
異なる１つ又は複数の発明が、本出願において説明され得る。さらに、本明細書において説明されるそれらの発明のうちの１つ又は複数に関して、多数の代替の実施形態が説明されることが可能であり、これらは、例示の目的で提示されるにすぎず、本明細書に含まれている発明又は本明細書において提示される特許請求の範囲をいかなる形においても限定するものではないことを理解されたい。それらの発明のうちの１つ又は複数は、本開示から直ちに明白であるとおり、多数の実施形態に広く適用できることが可能である。一般に、実施形態は、当業者がそれらの発明のうちの１つ又は複数を実施することを可能にするように十分に詳細に説明され、他の実施形態が利用されてもよいこと、及びそれらの特定の発明の範囲を逸脱することなく、構造上の変更、論理上の変更、ソフトウェア変更、電気的変更、及び他の変更が行われてもよいことを理解されたい。したがって、それらの発明のうちの１つ又は複数は、さまざまな修正及び変更を伴って実施され得ることが当業者には理解されよう。本明細書において説明されるそれらの発明のうちの１つ又は複数の発明の特定の特徴が、特定の１つもしくは複数の実施形態、又は本開示の一部分を形成し、例として、それらの発明のうちの１つもしくは複数の発明の特定の実施形態が示される図を参照して説明され得る。しかし、そのような特徴は、それらの特徴を説明するのに参照される特定の１つ又は複数の実施形態又は図における用法に限定されないことを理解されたい。本開示は、それらの発明のうちの１つ又は複数の発明のすべての実施形態の逐語的な説明ではなく、すべての実施形態に存在しなければならないそれらの発明のうちの１つ又は複数の発明の特徴のリストでもない。
【００２２】
本特許出願において提供されるセクションの見出し、及び本特許出願の名称は、便宜的なものにすぎず、いかなる形においても本開示を限定するものと解釈されるべきではない。
【００２３】
互いに通信状態にあるデバイスは、他に特に明記しない限り、互いに継続的な通信状態にある必要はない。さらに、互いに通信状態にあるデバイスは、直接に、又は論理的もしくは物理的な１つもしくは複数の通信手段もしくは仲介を介して間接的に通信することが可能である。
【００２４】
互いに通信状態にあるいくつかの構成要素を有する実施形態の説明は、すべてのそのような構成要素が必要とされることを暗示するわけではない。それどころか、さまざまな任意選択の構成要素は、それらの発明のうちの１つ又は複数の発明の多種多様な可能な実施形態を例示し、それらの発明の１つ又は複数の態様をより完全に例示するために説明され得る。同様に、処理工程、方法工程、アルゴリズムなどは、順番に説明され得るものの、そのような処理、方法、及びアルゴリズムは一般に、そうでないことが特に明記されない限り、代替の順序で機能するように構成され得る。すなわち、本特許出願において説明され得る工程のいずれの順番又は順序も、それ自体で、それらの工程がその順序で実行されるべき必要性を示すものではない。説明される処理の工程は、現実的な任意の順序で実行され得る。さらに、いくつかの工程は、同時ではなく行われるものとして説明又は暗示されているが（たとえば、一方の工程が他方の工程の後に説明されるため）、同時に実行されてもよい。さらに、図面における図示による処理の例示は、例示される処理が、その処理の他のバリエーション及び修正を排除することを暗示するわけではなく、例示される処理、又はその処理の工程のうちのいずれかが、それらの発明のうちの１つ又は複数に必要であることを暗示するわけではなく、例示される工程が好適であることを暗示するわけでもない。また、工程は一般に、実施形態ごとに１回説明されるが、このことは、それらの工程が１回行われなければならないことを意味するわけではなく、それらの工程が、処理、方法、又はアルゴリズムが実施又は実行されるたびに１回だけ行われ得ることを意味するわけでもない。いくつかの工程は、一部の実施形態又は一部の事例において省かれるこ
とが可能であり、いくつかの工程は、所与の実施形態又は事例において複数回実行されることが可能である。
【００２５】
単一のデバイス又は物品が本明細書において説明される場合、単一のデバイス又は物品の代わりに複数のデバイス又は物品が使用されてもよいことが直ちに明白となろう。同様に、複数のデバイス又は物品が本明細書において説明される場合、複数のデバイス又は物品の代わりに単一のデバイス又は物品が使用されてもよいことが直ちに明白となろう。
【００２６】
デバイスの機能又は特徴は、代替として、そのような機能又は特徴を有するものとして明示的に説明されない他の１つ又は複数のデバイスによって実現されてもよい。このため、それらの発明のうちの１つ又は複数の発明の他の実施形態は、そのデバイス自体を含む必要はない。
【００２７】
本明細書で説明又は言及される技法及び機構は、ときとして、簡明のために単数形で説明される。しかし、特定の実施形態は、他に特に明記しない限り、技法の複数回の反復、又は機構の複数のインスタンスを含むことが可能であることを理解されたい。図における処理説明又は処理ブロックは、その処理における特定の論理機能又は論理工程を実施するための１つ又は複数の実行可能命令を含むコードのモジュール、セグメント、又は部分を表すものと理解されたい。当業者には理解されるとおり、関与する機能に依存して、たとえば、機能が、実質的に同時並行で、又は逆の順序で実行されることを含め、図示又は説明される順序を外れて実行され得る代替の実施態様が、本発明の実施形態の範囲に含まれる。
定義
本明細書で使用される「チャット・クランチャ」は、試験事例情報の入力を受け取り、試験事例の実行のためにチャット・ベースの出力を生成するように設計されているソフトウェア・ベース又はハードウェア・ベースのシステムである。このようにして、チャット・クランチャは、対話を開始するために、又は対話中に受け取られた入力に応答して所定のチャット・メッセージを生成して、チャット・ベースの通信システムを介して別の個人ユーザと対話する効果を再現することによって、チャット・ベースの対話をシミュレートするのに使用され得る。
【００２８】
本明細書で使用される「チャット・クラシファイア」は、チャット・ベースの対話データの流れを受信し、その流れを解析して、その流れが試験事例の一部であるか、実際の顧客対話であるかを判定するように設計されているソフトウェア・ベース又はハードウェア・ベースのシステムである。次に、チャット・クラシファイアは、試験事例データを他の試験システムに送信しながら、処理のためにコンタクト・センタ・エージェントに対話チャット・データを送信することなど、チャット・データがどのようにルーティングされるべきかを判定することが可能である。このようにして、チャット・クラシファイアは、境界実施を担って、いずれの試験データも実際のコンタクト・センタ運用と重なり合うこと又は実際のコンタクト・センタ運用の妨げとなることを防止することが可能である。
【００２９】
本明細書で使用される、ＤＡＥと略記される「デスクトップ自動化エンジン」は、通常、コンタクト・センタ運用中にエージェントのデスクトップ環境におけるものとして実行され得る、エージェント・デスクトップ・ソフトウェア要素とのコンタクト・センタ・エージェント対話をそのような要素の試験のためにエミュレートするために設計されたソフトウェア・ベースのシステムである。このようにして、デスクトップ自動化エンジンは、専用の又は特化されたデスクトップが試験目的で特別に構成されることを必要とするのではなく、既存のエージェント・デスクトップ上でそのデスクトップ環境の標準の要素と対話するように構成され得る。
ハードウェア・アーキテクチャ
一般に、本明細書で開示される技法は、ハードウェア上で、又はソフトウェアとハードウェアの組合せの上で実施され得る。たとえば、それらの技法は、オペレーティング・システム・カーネル内で、別個のユーザ処理内で、ネットワーク・アプリケーションへと結び付けられたライブラリ・パッケージ内で、特別に構築されたマシン上で、特定用途向け集積回路（ＡＳＩＣ）上で、又はネットワーク・インターフェース・カード上で実施され得る。
【００３０】
本明細書で開示される実施形態のうちの少なくともいくつかの実施形態のソフトウェア／ハードウェア・ハイブリッド実施態様は、メモリの中に記憶されたコンピュータ・プログラムによって選択的にアクティブ化又は再構成されるプログラム可能なネットワーク常駐型マシン（間断的に接続されるネットワークを認識するマシンを含むものと理解されたい）の上で実施され得る。そのようなネットワーク・デバイスは、さまざまなタイプのネットワーク通信プロトコルを利用するように構成又は設計されることが可能な複数のネットワーク・インターフェースを有し得る。これらのマシンのうちのいくつかに関する一般的なアーキテクチャは、機能の所与のユニットを実施することができる例示的な１つ又は複数の手段を示すために本明細書で説明され得る。特定の実施形態によれば、本明細書で開示されるさまざまな実施形態の特徴又は機能のうちの少なくともいくつかは、たとえば、エンド・ユーザ・コンピュータ・システム、クライアント・コンピュータ、ネットワーク・サーバもしくは他のサーバ・システム、モバイル・コンピューティング・デバイス（たとえば、タブレット・コンピューティング・デバイス、モバイル電話、スマートフォン、ラップトップ、もしくは他の適切なコンピューティング・デバイス）、家庭用電子デバイス、ミュージック・プレーヤ、もしくは他の任意の適切な電子デバイス、ルータ、スイッチ、もしくは他の適切なデバイス、又はそれらの任意の組合せなど、１つ又は複数のネットワークに関連付けられた１つ又は複数の汎用コンピュータ上で実施され得る。少なくともいくつかの実施形態において、本明細書で開示されるさまざまな実施形態の特徴又は機能のうちの少なくともいくつかは、１つ又は複数の仮想化されたコンピューティング環境（たとえば、ネットワーク・コンピューティング・クラウド、１つ又は複数の物理的コンピューティング・マシン上でホストされる仮想マシン、又は他の適切な仮想環境）において実施され得る。
【００３１】
次に図１０を参照すると、本明細書で開示される特徴又は機能の少なくとも一部分を実施するのに適した例示的なコンピューティング・デバイス１０を示すブロック図が示されている。コンピューティング・デバイス１０は、たとえば、前段にリストアップされているコンピューティング・マシンのうちのいずれか１つ、又は実際には、メモリの中に記憶された１つ又は複数のプログラムに従ってソフトウェア・ベース又はハードウェア・ベースの命令を実行することができる他の任意の電子デバイスであることが可能である。コンピューティング・デバイス１０は、ワイド・エリア・ネットワーク、メトロポリタン・エリア・ネットワーク、ローカル・エリア・ネットワーク、ワイヤレス・ネットワーク、インターネット、又は他の任意のネットワークなどの通信ネットワークを介して、クライアント又はサーバなどの複数の他のコンピューティング・デバイスと通信することを、ワイヤレスであるか有線であるかを問わず、そのような通信のための知られているプロトコルを使用して行うように構成されることが可能である。
【００３２】
１実施形態において、コンピューティング・デバイス１０は、１つ又は複数の中央処理装置（ＣＰＵ）１２と、１つ又は複数のインターフェース１５と、１つ又は複数のバス１４（ペリフェラル・コンポーネント・インターコネクト（ＰＣＩ）バスなど）とを含む。適切なソフトウェア又はファームウェアの制御下で動作している場合、ＣＰＵ１２は、特別に構成されたコンピューティング・デバイス又はコンピューティング・マシンの機能に関連する特定の機能を実施することを担い得る。たとえば、少なくとも１つの実施形態において、コンピューティング・デバイス１０は、ＣＰＵ１２、ローカル・メモリ１１及び
／又は遠隔メモリ１６、ならびにインターフェース１５を利用してサーバ・システムとして機能するように構成又は設計されることが可能である。少なくとも１つの実施形態において、ＣＰＵ１２は、たとえば、オペレーティング・システム、及び任意の適切なアプリケーション・ソフトウェア、ドライバなどを含み得るソフトウェア・モジュール又はソフトウェア・コンポーネントの制御下でそれらのさまざまなタイプの機能及び／又は動作のうちの１つ又は複数を実行するようにさせられ得る。
【００３３】
ＣＰＵ１２は、たとえば、インテル社（Ｉｎｔｅｌ）系、ＡＲＭ社系、クアルコム社（Ｑｕａｌｃｏｍｍ）系、及びＡＭＤ社系のマイクロプロセッサのうちの１つからのプロセッサなどの１つ又は複数のプロセッサ１３を含み得る。いくつかの実施形態において、プロセッサ１３は、コンピューティング・デバイス１０の動作を制御するための特定用途向け集積回路（ＡＳＩＣ）、電気的に消去可能なプログラマブル読取り専用メモリ（ＥＥＰＲＯＭ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）などの特別に設計されたハードウェアを含み得る。特定の実施形態において、ローカル・メモリ１１（たとえば、１つ又は複数のレベルのキャッシュ・メモリを含む、不揮発性ランダム・アクセス・メモリ（ＲＡＭ）及び／又は読取り専用メモリ（ＲＯＭ）など）が、ＣＰＵ１２の一部分を形成することも可能である。しかし、メモリがシステム１０に結合され得る多くの異なる方法が存在する。メモリ１１は、たとえば、データ、プログラミング命令などをキャッシュすること及び／又は記憶することなどのさまざまな目的で使用され得る。ＣＰＵ１２は、モバイル・デバイス又は統合デバイスにおいて使用するためなどに当技術分野においてますます一般的になっているクアルコム社（Ｑｕａｌｃｏｍｍ）のＳＮＡＰＤＲＡＧＯＮ（商標）又はサムスン社（Ｓａｍｓｕｎｇ）のＥＸＹＮＯＳ（商標）のＣＰＵなど、メモリ・チップ又はグラフィックス処理チップなどのさらなるハードウェアを含むことができる多様なシステムオンアチップ（ＳＯＣ）タイプのハードウェアのうちの１つであることが可能であることをさらに理解されたい。
【００３４】
本明細書で使用される際には、「プロセッサ」という用語は、当技術分野においてプロセッサ、モバイル・プロセッサ、又はマイクロプロセッサと呼ばれる集積回路だけに限定されず、マイクロコントローラ、マイクロコンピュータ、プログラマブル論理コントローラ、特定用途向け集積回路、及び他の任意のプログラマブル回路を広く指す。
【００３５】
１実施形態において、インターフェース１５は、ネットワーク・インターフェース・カード（ＮＩＣ）として提供される。一般に、ＮＩＣは、コンピュータ・ネットワークを介したデータ・パケットの送信及び受信を制御し、他のタイプのインターフェース１５が、たとえば、コンピューティング・デバイス１０と一緒に使用される他の周辺装置をサポートすることが可能である。提供され得るインターフェースの中には、イーサネット・インターフェース、フレーム・リレー・インターフェース、ケーブル・インターフェース、ＤＳＬインターフェース、トークン・リング・インターフェース、グラフィックス・インターフェースなどがある。さらに、たとえば、ユニバーサル・シリアル・バス（ＵＳＢ）、シリアル、イーサネット、ＦＩＲＥＷＩＲＥ（商標）、ＴＨＵＮＤＥＲＢＯＬＴ（商標）、ＰＣＩ、パラレル、無線周波数（ＲＦ）、ＢＬＵＥＴＯＯＴＨ（商標）、近距離通信（たとえば、近傍磁気を使用する）、８０２．１１（ＷｉＦｉ）、フレーム・リレー、ＴＣＰ／ＩＰ、ＩＳＤＮ、高速イーサネット・インターフェース、ギガビット・イーサネット・インターフェース、シリアルＡＴＡ（ＳＡＴＡ）又は外部ＳＡＴＡ（ＥＳＡＴＡ）インターフェース、高精細マルチメディア・インターフェース（ＨＤＭＩ）、デジタル・ビジュアル・インターフェース（ＤＶＩ）、アナログ又はデジタル・オーディオ・インターフェース、非同期転送モード（ＡＴＭ）インターフェース、高速シリアル・インターフェース（ＨＳＳＩ）インターフェース、販売時点（ＰＯＳ）インターフェース、ファイバ・データ分散インターフェース（ＦＤＤＩ）などのさまざまなタイプのインターフェースが提供され得る。一般に、そのようなインターフェース１５は、適切な媒体と通信するのに適
した物理ポートを含み得る。いくつかの事例において、それらのインターフェース１５は、独立したプロセッサ（ハイファイＡ／Ｖハードウェア・インターフェースに関する技術分野において一般的である専用のオーディオ・プロセッサ又はビデオ・プロセッサなど）を含むことも可能であり、いくつかの実例において、揮発性メモリ及び／又は不揮発性メモリ（たとえば、ＲＡＭ）を含むことも可能である。
【００３６】
図１０に示されるシステムは、本明細書で説明される発明のうちの１つ又は複数を実施するためのコンピューティング・デバイス１０に関する特定の１つのアーキテクチャを示すものの、このアーキテクチャは、本明細書で説明される特徴又は技法の少なくとも一部分が実施され得る唯一のデバイス・アーキテクチャでは決してない。たとえば、１つ又は任意の数のプロセッサ１３を有するアーキテクチャが使用されることが可能であり、そのようなプロセッサ１３は、単一のデバイス内に存在すること、又は任意の数のデバイスの間に分散されることが可能である。１実施形態においては、単一のプロセッサ１３が、通信ならびにルーティング計算を扱う一方で、他の実施形態においては、別個の専用通信プロセッサが提供されることが可能である。さまざまな実施形態において、さまざまなタイプの特徴又は機能が、クライアント・デバイス（クライアント・ソフトウェアを実行しているタブレット・デバイス又はスマートフォンなど）及びサーバ・システム（以降でさらに詳細に説明されるサーバ・システムなど）を含む本発明によるシステムにおいて実施され得る。
【００３７】
ネットワーク・デバイス構成を問わず、本発明のシステムは、データ、汎用ネットワーク動作のためのプログラム命令、又は本明細書で説明される実施形態の機能と関連する他の情報（又は上記の任意の組合せ）を記憶するように構成された１つ又は複数のメモリ又はメモリ・モジュール（たとえば、遠隔メモリ・ブロック１６及びローカル・メモリ１１など）を採用することが可能である。プログラム命令は、たとえば、オペレーティング・システム及び／もしくは１つもしくは複数のアプリケーションの実行を制御すること、又はオペレーティング・システム及び／もしくは１つもしくは複数のアプリケーションを構成することが可能である。メモリ１６又はメモリ１１、１６が、データ構造、構成データ、暗号化データ、履歴上のシステム動作情報、又は本明細書で説明される他の任意の特定のもしくは一般的な非プログラム情報を記憶するように構成されることも可能である。
【００３８】
そのような情報及びプログラム命令は、本明細書で説明される１つ又は複数のシステム又は方法を実施するのに採用され得るため、少なくともいくつかのネットワーク・デバイス実施形態は、たとえば、本明細書で説明されるさまざまな動作を実行するためのプログラム命令、状態情報などを記憶するように構成又は設計されることが可能な非一時的なマシン可読記憶媒体を含み得る。そのような非一時的なマシン可読記憶媒体の例には、ハード・ディスク、フロッピー・ディスク、及び磁気テープなどの磁気媒体、ＣＤ−ＲＯＭディスクなどの光媒体、光ディスクなどの光磁気媒体、ならびに、読取り専用メモリ・デバイス（ＲＯＭ）、フラッシュ・メモリ（モバイル・デバイス及び統合システムにおいて一般的である）、ソリッド・ステート・ドライブ（ＳＳＤ）、及びソリッド・ステート・ドライブとハード・ディスク・ドライブの物理的な構成要素どうしを単一のハードウェア・デバイスにおいて結合することができる「ハイブリッドＳＳＤ」ストレージ・ドライブ（パーソナル・コンピュータに関する技術分野においてますます一般的になっている）、メモリスタ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）など、プログラム命令を記憶及び実行するように特別に構成されているハードウェア・デバイスが含まれるが、それらには限定されない。そのような記憶手段は、一体型で取り外し不能（マザーボード上にはんだ付けされること、もしくはその他の形で電子デバイス内に統合されることが可能であるＲＡＭハードウェア・モジュールなど）とすることができ、又はそれらは、スワップ可能なフラッシュ・メモリ・モジュール（「サム・ドライブ」、もしくは、物理的なストレージ・デバイスどうしを迅速に交換するように設計されている他の取り外し可能な媒体な
ど）、「ホットスワップ可能な」ハード・ディスク・ドライブもしくはソリッド・ステート・ドライブ、取り外し可能な光ストレージ・ディスク、もしくは他のそのような取り外し可能な媒体など、取り外し可能とすることができること、ならびにそのような一体型の記憶媒体及び取り外し可能な記憶媒体は、交換可能に利用されることが可能であることを理解されたい。プログラム命令の例には、コンパイラによって生成され得るようなオブジェクト・コード、アセンブラもしくはリンカによって生成され得るようなマシン・コード、たとえばＪＡＶＡ（商標）コンパイラによって生成されることが可能であり、Ｊａｖａ仮想マシンもしくは均等物を使用して実行されることが可能なバイト・コード、又はインタープリタを使用してコンピュータによって実行され得るさらに高いレベルのコード（たとえば、Ｐｙｔｈｏｎ、Ｐｅｒｌ、Ｒｕｂｙ、Ｇｒｏｏｖｙ、又は他の任意のスクリプト言語で書かれるスクリプト）を包含するファイルがともに含まれる。
【００３９】
いくつかの実施形態において、本発明によるシステムは、スタンドアロンのコンピューティング・システム上で実施され得る。次に図１１を参照すると、スタンドアロンのコンピューティング・システム上の１つ又は複数の実施形態又はそれらの構成要素の典型的な例示的なアーキテクチャを示すブロック図が示されている。コンピューティング・デバイス２０は、たとえばクライアント・アプリケーション２４など、本発明の実施形態の１つ又は複数の機能又はアプリケーションを実行するソフトウェアを実行することが可能なプロセッサ２１を含む。プロセッサ２１は、たとえば、マイクロソフト社（Ｍｉｃｒｏｓｏｆｔ）のＷＩＮＤＯＷＳ（商標）オペレーティング・システムのバージョン、アップル社（Ａｐｐｌｅ）のＭａｃ  ＯＳ／ＸもしくはｉＯＳオペレーティング・システム、なんらかの種類のＬｉｎｕｘオペレーティング・システム、グーグル社（Ｇｏｏｇｌｅ）のＡＮＤＲＯＩＤ（商標）オペレーティング・システムなどのオペレーティング・システム２２の制御下でコンピューティング命令を実行することが可能である。多くの事例において、１つ又は複数の共有されるサービス２３が、システム２０において動作可能であることが可能であり、クライアント・アプリケーション２４に共通サービスを提供するために役立ち得る。サービス２３は、たとえば、ＷＩＮＤＯＷＳ（商標）サービス、Ｌｉｎｕｘ環境におけるユーザ空間共通サービス、又はオペレーティング・システム２２と一緒に使用される他の任意のタイプの共通サービス・アーキテクチャであり得る。入力デバイス２８は、たとえば、キーボード、タッチスクリーン、マイクロフォン（たとえば、音声入力のための）、マウス、タッチパッド、トラックボール、又はそれらの任意の組合せを含む、ユーザ入力を受け取るのに適した任意のタイプのものであり得る。出力デバイス２７は、システム２０にとって遠隔であるかローカルであるかにかかわらず、１名又は複数名のユーザに出力を提供するのに適した任意のタイプのものであることが可能であり、たとえば、視覚出力のための１つ又は複数の画面、スピーカ、プリンタ、又はそれらの任意の組合せを含むことが可能である。メモリ２５は、たとえばソフトウェアを実行するためにプロセッサ２１によって使用するための、当技術分野で知られている任意の構造及びアーキテクチャを有するランダム・アクセス・メモリであり得る。ストレージ・デバイス２６は、データをデジタル形態で記憶するための任意の磁気ストレージ・デバイス、光ストレージ・デバイス、機械ストレージ・デバイス、メモリスタ・ストレージ・デバイス、又は電気ストレージ・デバイス（図１０を参照して上述したものなど）であり得る。ストレージ・デバイス２６の例には、フラッシュ・メモリ、磁気ハード・ドライブ、ＣＤ−ＲＯＭなどが含まれる。
【００４０】
いくつかの実施形態において、本発明のシステムは、任意の数のクライアント及び／又はサーバを有するものなどの分散コンピューティング・ネットワーク上で実施され得る。次に図１２を参照すると、分散コンピューティング・ネットワーク上で本発明の実施形態によるシステムの少なくとも一部分を実施するための例示的なアーキテクチャ３０を示すブロック図が示されている。この実施形態によれば、任意の数のクライアント３３が提供され得る。各クライアント３３は、本発明のクライアント側部分を実施するためのソフト
ウェアを実行することが可能であり、クライアントは、図１１に示されるようなシステム２０からなることが可能である。さらに、任意の数のサーバ３２が、１つ又は複数のクライアント３３から受信された要求を扱うために提供され得る。クライアント３３とサーバ３２は、１つ又は複数の電子ネットワーク３１を介して互いに通信することが可能であり、電子ネットワーク３１は、さまざまな実施形態において、インターネット、ワイド・エリア・ネットワーク、モバイル電話ネットワーク（ＣＤＭＡ又はＧＳＭセルラー・ネットワークなど）、ワイヤレス・ネットワーク（ＷｉＦｉ、Ｗｉｍａｘ、ＬＴＥなど）、又はローカル・エリア・ネットワークのうちのいずれか（又は実際には、当技術分野において知られている任意のネットワーク・トポロジ、すなわち、本発明は、いずれか１つのネットワーク・トポロジを他のいずれかのトポロジよりも選好するわけではない）であり得る。ネットワーク３１は、たとえば有線プロトコル及び／又はワイヤレス・プロトコルを含め、任意の知られているネットワーク・プロトコルを使用して実施され得る。
【００４１】
さらに、いくつかの実施形態において、サーバ３２は、さらなる情報を獲得するのに、又は特定のコールに関するさらなるデータを参照するのに必要とされる場合、外部サービス３７を呼び出すことが可能である。外部サービス３７との通信は、たとえば、１つ又は複数のネットワーク３１を介して行われ得る。さまざまな実施形態において、外部サービス３７は、ハードウェア・デバイス自体に関連した、又はハードウェア・デバイス自体にインストールされたウェブ対応のサービス又は機能からなることが可能である。たとえば、クライアント・アプリケーション２４がスマートフォン又は他の電子デバイスの上で実施される実施形態において、クライアント・アプリケーション２４は、クラウド内のサーバ・システム３２に、又は特定の企業のもしくは特定のユーザの敷地のうちの１つもしくは複数に展開された外部サービス３７上に記憶された情報を獲得することが可能である。
【００４２】
本発明のいくつかの実施形態において、クライアント３３又はサーバ３２（又はその両方）は、１つ又は複数のネットワーク３１にわたってローカルで又は遠隔で展開され得る特化された１つ又は複数のサービス又は機器を利用することが可能である。たとえば、１つ又は複数のデータベース３４が、本発明の１つ又は複数の実施形態によって使用又は参照されることが可能である。データベース３４は、多種多様なアーキテクチャにおいて、多種多様なデータ・アクセス及び操作手段を使用して構成され得ることを当業者なら理解するはずである。たとえば、さまざまな実施形態において、１つ又は複数のデータベース３４は、構造化照会言語（ＳＱＬ）を使用するリレーショナル・データベース・システムからなることが可能である一方で、他のデータベース３４は、当技術分野において「ＮｏＳＱＬ」と呼ばれるもの（たとえば、Ｈａｄｏｏｐ  Ｃａｓｓａｎｄｒａ、Ｇｏｏｇｌｅ
ＢｉｇＴａｂｌｅ等）などの代替のデータ・ストレージ技術からなることが可能である。いくつかの実施形態において、異なるデータベース・アーキテクチャ、たとえば、列指向データベース、インメモリ・データベース、クラスタ化データベース、分散データベース、又はフラット・ファイル・データ・リポジトリさえ、本発明に従って使用されてもよい。本明細書における特定の実施形態のために特定のデータベース技術、又は構成要素の特定の構成が指定されない限り、知られている又は将来のデータベース技術の任意の組合せが適宜使用されてもよいことが当業者には理解されよう。さらに、本明細書で使用される「データベース」という用語は、物理的データベース・マシン、単一のデータベース・システムとして動作するマシンのクラスタ、又は全体的なデータベース管理システム内の論理データベースを指すことが可能であることを理解されたい。「データベース」という用語の所与の使用に関して特定の意味が指定されない限り、「データベース」という用語は、この語のこれらの意味のいずれかを意味するものと解釈されるべきであり、これらの意味はすべて、当業者によって「データベース」という用語の平明な意味として理解される。
【００４３】
同様に、本発明のほとんどの実施形態は、１つ又は複数のセキュリティ・システム３６
及び構成システム３５を利用することが可能である。セキュリティ及び構成管理は、一般的な情報技術（ＩＴ）機能及びウェブ機能であり、それぞれのいくらかの量が一般に、いずれかのＩＴシステム又はウェブ・システムに関連付けられている。特定のセキュリティ・システム３６又は構成システム３５又はアプローチが、いずれかの特定の実施形態の説明によって特に必要とされるのでない限り、当技術分野において現在知られている、又は将来知られる任意の構成サブシステム又はセキュリティ・サブシステムが、限定なしに本発明の実施形態と連携して使用され得ることを当業者なら理解するはずである。
【００４４】
図１３は、システム全体を通じたさまざまなロケーションのうちのいずれにおいても使用されることが可能であるコンピュータ・システム４０の例示的な概観を示している。これは、データを処理するためにコードを実行することができる任意のコンピュータを例示したものである。本明細書において開示されているシステム及び方法のさらに広い範囲から逸脱することなく、コンピュータ・システム４０に対してさまざまな修正及び変更を行うことができる。中央プロセッサ・ユニット（ＣＰＵ）４１が、バス４２に接続されており、そのバスにはまた、メモリ４３、不揮発性メモリ４４、ディスプレイ４７、入力／出力（Ｉ／Ｏ）ユニット４８、及びネットワーク・インターフェース・カード（ＮＩＣ）５３が接続されている。Ｉ／Ｏユニット４８は、典型的には、キーボード４９、ポインティング・デバイス５０、ハード・ディスク５２、及びリアルタイム・クロック５１に接続されることが可能である。ＮＩＣ５３は、ネットワーク５４に接続しており、ネットワーク５４は、インターネット又はローカル・ネットワークであることが可能であり、そのローカル・ネットワークは、インターネットへの接続を有することも有さないことも可能である。また、システム４０の一部として示されているのは、電源ユニット４５であり、電源ユニット４５は、この例においては、メイン交流（ＡＣ）電源４６に接続されている。示されていないのは、存在することが可能であるバッテリーと、よく知られているが、本明細書において開示されている現在のシステム及び方法の特定の新規な機能に適用可能ではない他の多くのデバイス及び修正とである。示されているいくつかの又はすべての構成要素は、さまざまな統合された用途、たとえばクアルコム社（Ｑｕａｌｃｏｍｍ）又はサムスン社（Ｓａｍｓｕｎｇ）のシステムオンアチップ（ＳＯＣ）デバイスにおいて、又は複数の性能もしくは機能を単一のハードウェア・デバイス内に（たとえば、スマートフォンやビデオ・ゲーム・コンソールなどのモバイル・デバイス、自動車内のナビゲーション・システムもしくはマルチメディア・システムなどの車載コンピュータ・システム、もしくは他の統合されたハードウェア・デバイスにおいて）結合することが適切である可能性がある場合には常に、といった具合に結合されることが可能であるということを理解されたい。
【００４５】
さまざまな実施形態において、本発明のシステム又は方法を実施するための機能が、任意の数のクライアント構成要素及び／又はサーバ構成要素の間で分散されることが可能である。たとえば、さまざまなソフトウェア・モジュールが、本発明に関連してさまざまな機能を実行するために実施されることが可能であり、そのようなモジュールは、サーバ構成要素及び／又はクライアント構成要素上で実行されるようにさまざまに実施されることが可能である。
概念上のアーキテクチャ
図１は、本発明の好適な実施形態による、ヘッドレス・ウェブ対話試験のための例示的なシステム・アーキテクチャ１００を示すブロック図である。図示されるとおり、コンタクト・センタ１００が、試験事例の始まり又は起点の役割をすることが可能な試験事例管理（ＴＣＭ）プラットフォーム１０１を実施することが可能である。ＴＣＭプラットフォーム１０１は、自動的に動作することが可能であり、又は任意選択で、試験事例の操作、及び試験データベース１０２の中に記憶され得る試験結果レポートの閲覧のためのグラフィカル・ユーザ・インターフェースを介した人間の対話を受け付けることが可能である。試験が実行されると、ＴＣＭプラットフォーム１０１は、対話マネージャ１０３及びＣＣ
Ｍプラットフォーム１１０を用いて試験事例を開始し、すると、対話マネージャ１０３及びＣＣＭプラットフォーム１１０はそれぞれ、各自の自動化された試験処理を開始することが可能である。対話マネージャ１０３は、インターネット又は他のデータ通信ネットワーク１０６を介してデータを送受信するようにウェブ・サーバ１０４を介して動作する複数の「ヘッドレス」ブラウザ（すなわち、直接のユーザ入力を伴わずに自動化されたように動作するブラウザ）１０５の動作を指示することが可能である一方で、ＣＣＭプラットフォーム１１０は、適切な場合には、データ要求を受信して応答することが可能な仮想コンタクト・センタ・エージェント１１１を同様にシミュレートすることが可能である（たとえば、多くのウェブ要求が、通常の運用及び試験運用の両方の間にウェブ・サーバによって扱われることが可能であるが、いくつかの対話は通常、エージェントを必要とする場合があり、したがって、シミュレートされた仮想エージェントによって扱われることが可能である）。ヘッドレス・ブラウザ１０５によってデータ・ネットワーク１０６を介して送信されたデータ要求が、ルータ１０７によって受信されて処理されることが可能であり、ルータ１０７は、データ・ネットワーク１０６を介して顧客からの要求を対話サーバ１０８に、エージェントからの要求を顧客に転送することが可能である。対話サーバ１０８は、対話クラシファイア１０９を用いてデータ要求を検証することが可能であり、対話クラシファイア１０９は、要求を試験事例又は実際のコンタクト・センタ運用の一部として識別して、処理プロトコルを決定することが可能である。要求が試験事例の一部分であると判定された場合、対話サーバ１０８は、次に試験事例処理に進むことが可能である。要求がルータ１０７からのインバウンドである場合、その要求は、仮想エージェント１１１によって扱われるようにＣＣＭプラットフォーム１１０に転送されることが可能であり、又はその要求が仮想エージェント１１１からのアウトバウンド要求である場合、その要求は、データ・ネットワーク１０６を介してヘッドレス・ブラウザ１０５に送信されるようにルータ１０７に送られることが可能である。仮想エージェント１１１は、対話サーバ１０８と直接に対話することによって、又は試験事例の特定の性質に応じて現実の又はシミュレートされたエージェント・デスクトップ環境と自動的に対話することによって動作することが可能である。試験事例の実行中及び／又は実行後に、ＴＣＭプラットフォーム１０１を介してユーザによって後で閲覧する目的で記憶されるべき試験レポートの作成のために、データがＣＣＭプラットフォーム１１０又は対話マネージャ１０３によってデータベース１０２の中に記憶され得る。このようにして、試験事例内のデータ要求の流れは双方向であり、すなわち、要求は、データ・フローの厳密なパターン又はリズムを必要とすることなしに、ヘッドレス・ブラウザ１０５からシミュレートされたエージェント１１１に、及びその逆に、絶え間なく非同期で送信されることが可能であることが理解されよう。このようにして、応答を送信するのをエージェントが待つ間に複数のチャット要求を顧客が送信すること、又は顧客が待つ間に複数の要求をエージェントが送信することをシミュレートすることが可能であることが理解されよう。そのような事例は、実際に一般的であり、このようにして、試験事例は、より妥当で信頼できる試験データのために実際のコンタクト・センタ運用をより正確にシミュレートすることが可能である。
【００４６】
当技術分野におけるウェブ試験のための従来のアプローチは、ＨＰ  ＬＯＡＤＲＵＮＮＥＲ（商標）などの自動化技術を利用しており、ユーザは、ウェブ・ブラウザ・アプリケーションを始動し、次いで自動化アプリケーションを始動し、自動化アプリケーションは、プロキシとして機能することができる。次いでユーザは、手動で自分のブラウザと対話し、自動化アプリケーションは、その対話をその後の再現のために記録する。このアプローチは、手動のユーザ対話を必要とし、したがって、労力及び時間の両方の点でのさらなるコスト、ならびに人間によるエラーに起因する失敗の可能性をもたらす。誤りが生じた場合には、その誤りは、対話の記録全体を台無しにする可能性があり、気づかれずに進行して、その記録された対話に依拠するその後の試験事例に影響を及ぼす可能性がある。
【００４７】
この実施形態によれば、自動化されたウェブ試験のための新たなアプローチが、プログ
ラム式のアプローチを利用することができ、ユーザは、要求と、手動の対話を伴わずに、ならびに対話を記録及び再現する必要性を伴わずに機能するヘッドレス・ブラウザによって使用するためのパラメータとを入力することができる。ヘッドレス・ブラウザ１０５は、対話マネージャ１０３によって、事前に定義された方法又はアルゴリズム（たとえば、新たな試験事例を開始する際にデータベース１０２内の記憶されている試験事例構成からロードされることが可能である）を使用して、予測可能な及び構成可能なように運用を自動化するようにプログラムに従って指示されることが可能である。このようにして、バックエンド・プロトコル通信を再現するのではなく、ヘッドレス・ブラウザは、顧客が行うであろうのとまったく同様にウェブ・インターフェースと直接に対話する。ヘッドレス構成に起因して、構成がサーバ上にロードされることが可能であり、多くのブラウザ・インスタンスが同時に機能することが可能である。ヘッドレス試験のための例示的な方法について、以降で図２及び図３を参照して説明する。
【００４８】
この実施形態に従って例示されるとおり、試験事例が実行されている間、通常の運用がコンタクト・センタ１００内で中断されることなく続くことが可能である。顧客１２０は、試験事例からの顧客体験に対するいかなる影響もなしに、例示される流れに従ってチャット要求をコンタクト・センタ・エージェント１２２に送信して、ウェブ・インターフェース１２１を通常どおり操作しつづけることが可能である。ウェブ対話要求は、データ・ネットワーク１０６を介してウェブ・インターフェース１２１から送信されることが可能であり、すると、要求は、コンタクト・センタ内のルータ１０７によって受信されて処理されることが可能である。ルータ１０７は、次に要求を対話サーバ１０８に送信することが可能であり、対話サーバ１０８は、次に対話クラシファイア１０９を用いて要求を検証して、それらの要求の性質を真正な顧客対話であると判定することが可能である。次に要求は、エージェント１２２に送信されることが可能であり、戻り要求は、対話サーバ１０８、ルータ１０７を通り、その後、コンタクト・センタ１００から外向きにデータ・ネットワーク１０６を介して顧客のウェブ・インターフェース１２１に至る逆方向のパスをたどる。このようにして、通常のコンタクト・センタ運用は、顧客体験にまったく影響を及ぼすことなしに、試験事例と並行して実行されていることが可能であることが理解されよう。
【００４９】
以降で図４を参照して説明されているように、チャット・クラシファイア４０９及びチャット・クランチャ４０３によって扱われることが可能であるチャット・インターフェース４２１又はシミュレートされた顧客４０５を介した（たとえば）チャット・ベースの対話など、より特化された用途のために、ウェブ対話及びブラウザの異なる構成が使用されることが可能である。他の特定のネットワーク・ベースの通信方法又は技術に関して、たとえば新たな通信技術又はプロトコルが当技術分野において開発された際には、さらなる異なる構成が可能であり得るということを理解されたい。
【００５０】
図４は、一般的なコンタクト・センタ要素を組み込み、実際のコンタクト・センタ運用と並行して実行される自動化されたチャット試験のためのシステムを示す本発明の好適な実施形態のブロック図である。図示されるとおり、コンタクト・センタ４００が、試験事例の始まり又は起点の役割をすることが可能なＴＣＭプラットフォーム４０１を実施することが可能である。ＴＣＭプラットフォーム４０１は、自動的に動作することが可能であり、又は任意選択で、試験事例の操作、及び試験データベース４０２の中に記憶され得る試験結果レポートの閲覧のためのグラフィカル・ユーザ・インターフェースを介した人間の対話を受け付けることが可能である。試験が実行されると、ＴＣＭプラットフォーム４０１は、チャット・クランチャ４０３及びＣＣＭプラットフォーム４１０を用いて試験事例を開始し、すると、チャット・クランチャ４０３及びＣＣＭプラットフォーム４１０はそれぞれ、各自の自動化された試験処理を開始することが可能である。チャット・クランチャ４０３は、インターネット又は他のデータ通信ネットワーク４０６を介してデータを
送受信するようにウェブ・サーバ４０４を介して動作する複数の仮想顧客４０５をシミュレートすることが可能である一方で、ＣＣＭプラットフォーム４１０は、データ要求を受信して応答することが可能な仮想コンタクト・センタ・エージェント４１１を同様にシミュレートすることが可能である。シミュレートされた顧客４０５によってデータ・ネットワーク４０６を介して送信されたデータ要求が、ルータ４０７によって受信されて処理されることが可能であり、ルータ４０７は、データ・ネットワーク４０６を介して顧客からの要求を対話サーバ４０８に、エージェントからの要求を顧客に転送することが可能である。対話サーバ４０８は、チャット・クラシファイア４０９を用いてデータ要求を検証することが可能であり、チャット・クラシファイア４０９は、要求を試験事例又は実際のコンタクト・センタ運用の一部として識別して、処理プロトコルを決定することが可能である。要求が試験事例の一部分であると判定された場合、対話サーバ４０８は、次に試験事例処理に進むことが可能である。要求がルータ４０７からのインバウンドである場合、その要求は、仮想エージェント４１１によって扱われるようにＣＣＭプラットフォーム４１０に転送されることが可能であり、又はその要求が仮想エージェント４１１からのアウトバウンド要求である場合、その要求は、データ・ネットワーク４０６を介して仮想顧客４０５に送信されるようにルータ４０７に送られることが可能である。仮想エージェント４１１は、対話サーバ４０８と直接に対話することによって、又は試験事例の特定の性質に応じて現実の又はシミュレートされたエージェント・デスクトップ環境と自動的に対話することによって動作することが可能である。試験事例の実行中及び／又は実行後に、ＴＣＭプラットフォーム４０１を介してユーザによって後で閲覧する目的で記憶されるべき試験レポートの作成のために、データがＣＣＭプラットフォーム４１０又はチャット・クランチャ４０３によってデータベース４０２の中に記憶され得る。このようにして、試験事例内のデータ要求の流れは双方向であり、すなわち、要求は、データ・フローの厳密なパターン又はリズムを必要とすることなしに、シミュレートされた顧客４０５からシミュレートされたエージェント４１１に、及びその逆に、絶え間なく非同期で送信されることが可能であることが理解されよう。このようにして、応答を送信するのをエージェントが待つ間に複数のチャット要求を顧客が送信すること、又は顧客が待つ間に複数の要求をエージェントが送信することをシミュレートすることが可能であることが理解されよう。そのような事例は、実際に一般的であり、このようにして、試験事例は、より妥当で信頼できる試験データのために実際のコンタクト・センタ運用をより正確にシミュレートすることが可能である。
【００５１】
この実施形態に従って例示されるとおり、試験事例が実行されている間、通常の運用がコンタクト・センタ４００内で中断されることなく続くことが可能である。顧客４２０は、試験事例からの顧客体験に対するいかなる影響もなしに、例示される流れに従ってチャット要求をコンタクト・センタ・エージェント４２２に送信して、チャット・インターフェース４２１を通常どおり操作しつづけることが可能である。チャット要求は、データ・ネットワーク４０６を介してチャット・インターフェース４２１から送信されることが可能であり、すると、要求は、コンタクト・センタ内のルータ４０７によって受信されて処理されることが可能である。ルータ４０７は、次に要求を対話サーバ４０８に送信することが可能であり、対話サーバ４０８は、次にチャット・クラシファイア４０９を用いて要求を検証して、それらの要求の性質を真正な顧客対話であると判定することが可能である。次に要求は、エージェント４２２に送信されることが可能であり、戻り要求は、対話サーバ４０８、ルータ４０７を通り、その後、コンタクト・センタ４００から外向きにデータ・ネットワーク４０６を介して顧客のチャット・インターフェース４２１に至る逆方向のパスをたどる。このようにして、通常のコンタクト・センタ運用は、顧客体験にまったく影響を及ぼすことなしに、試験事例と並行して実行されていることが可能であることが理解されよう。
例示的な実施形態の詳細な説明
図２は、本発明の実施形態による、ヘッドレス・ウェブ対話試験のための例示的な方法
２００を示すブロック図である。最初の工程２０１で、試験事例が開始する。そのような試験事例は、前述したとおり、スケジュールされたイベントとして、もしくはルーチンの一部として自動的にトリガされることが可能であり、又はＴＣＭプラットフォーム１０１とのユーザ対話を介して手動でトリガされることが可能である。第２の工程２０２で、仮想エージェント１１１及びヘッドレス・ブラウザ・アプリケーション・インスタンス１０５が試験システム内で作成され、それらの作成の結果が、ログ記録工程２０７中に試験データベース１０２又は他の記憶媒体の中にログ記録され得る。次に工程２０３で顧客が行うようにヘッドレス・ブラウザ１０５がウェブ・インターフェースと対話し、結果がログ記録工程２０７で再びログ記録されることが可能である。次に対話クラシファイアが、工程２０３で、この対話を試験事例の一部として分類して、コンタクト・センタ運用中に試験データが本番環境データと重なり合わないように、又はその他の形で本番環境データの妨げとならないように境界実施を確実にする。適切なウェブ要求（ウェブページ内の埋め込まれたチャット・インターフェース、又は可能な場合にはウェブ・サーバの代わりに人間のエージェントによって通常は扱われることになる同様の要求など）が受信されると、次に工程２０４で、仮想エージェントが応答することが可能であり、この応答の結果が、ログ記録工程２０５でログ記録される。試験事例によれば、ＣＣＭプラットフォーム１１０が、工程２０６で現実の又は仮想のエージェント・デスクトップと対話して、エージェント体験を試験し、コンタクト・センタ運用をさらに評価することが可能であり、この対話の結果が、ログ記録工程２０７でログ記録されることが可能である。最後に、報告工程２０８で、試験事例のそれまでの工程からのログ記録された情報が集約されて、結果レポートとして作成されることが可能であり、結果レポートは、後に取り出されるようにデータベース１０２又は同様の記憶媒体の中にさらに記憶されることが可能である。そのような方法の流れは、例示的なものであること、及び例示される流れは、本発明者によって理想的な解決策であると考えられるが、本発明に従って代替の実施形態が可能であることが理解されよう。代替の又はさらなる構成要素が試験事例に組み込まれることが可能であること、及び本発明の重要な特徴は、スケーラビリティであり、このため、本発明は、例示される試験工程に挿入されるさらなる工程として実施される多種多様なコンタクト・センタ・アーキテクチャに容易に適応可能であるので、例示される流れは、説明される要素だけに試験工程の範囲を限定するものと解釈されるべきでないことがさらに理解されよう。さらに、好適な実施形態においては、仮想エージェント及び仮想顧客は、ヘッドレス・ブラウザとしてインスタンス化され、それらのヘッドレス・ブラウザは、サーバ１０４上で無人で稼働し、プログラム式の方法で、その一方で、実際の使用を適切にシミュレート又は試験することができないバックエンド・プログラム・コールを介して対話をシミュレートする代わりに、本番のコンタクト・センタにおいて使用されることになる実際のインターフェース及びインフラストラクチャを使用して自然に対話して（すなわち、実際のインターネット、エージェント及び仮想顧客が互いに遠隔に配置されて、ならびに対話が、対話サーバ、ウェブ及びチャット・インターフェース、ならびに他の構成要素によって、あたかもそれらが「現実の」人間の顧客との「現実の」セッションであるかのように扱われて）試験処理を推進する。
【００５２】
図３は、本発明の実施形態による、ヘッドレス・ウェブ試験サーバのプログラム式のコントロールのための例示的な方法３００を示すブロック図である。最初の工程３０１で、試験事例が、ＴＣＭプラットフォーム１０１によって開始される。次の工程３０２で、ＴＣＭプラットフォーム１０１が、ヘッドレス・ブラウザ運用のための任意の記憶されている試験事例構成命令を取り出してロードし、たとえば、構造化されているプログラム式の命令からなる試験事例スクリプトを含める。これらの命令が次の工程３０３において解析されて、特定のヘッドレス・ブラウザ・インスタンス１０５のための使用可能な命令を生成して、別々の性能、ソフトウェア設計、又は視覚的なレイアウトを有する可能性がある複数のブラウザのスケーラブルな使用を可能にすることができる。たとえば、構成ファイルが、ヘッドレス・ブラウザ１０５が「ホーム・ページに行く」又は「ボタンＸをクリッ
クする」ための命令を含むことが可能である。これらは、ＴＣＭプラットフォーム１０１によって解析されて、ブラウザ・インスタンスのための適切な命令になることが可能であり、なぜなら、ＴＣＭプラットフォーム１０１は、使用中のブラウザの知識を有することになるからであり（なぜなら、ＴＣＭプラットフォーム１０１が、試験事例作成の一環としてそれらを選択して開始したからであり）、そして次の工程３０４において、ヘッドレス・ブラウザ１０５は、それらの命令を実行して、最後の工程３０５におけるプログラム式の構成入力に基づいてウェブ・インターフェースと対話することができる。このようにして、（たとえば、対話型の要素が期待どおりに機能していない場合に、実際のユーザ対話を正確に反映している可能性もしていない可能性もある、）対話の影響をシミュレートするための内部のソフトウェア・プログラム・コール又はバックエンド・プロトコル通信を使用することではなく、ヘッドレス・ブラウザを使用してクリックすること、タイプすること、ナビゲートすること、及び他の対話を実施することによって、人間のユーザが行うであろうのと同じ方法でウェブ・インターフェース及びサービスと対話するためにヘッドレス・ブラウザが使用されることが可能である。
【００５３】
図５は、コンタクト・センタ内で自動化されたチャット試験を扱うための一般的な流れを示す本発明の好適な実施形態の方法図である。最初の工程５０１で、試験事例が開始する。そのような試験事例は、前述したとおり、スケジュールされたイベントとして、もしくはルーチンの一部として自動的にトリガされることが可能であり、又はＴＣＭプラットフォーム４０１とのユーザ対話を介して手動でトリガされることが可能である。第２の工程５０２で、仮想エージェント及び仮想顧客が試験システム内で作成され、それらの作成の結果が、ログ記録工程５０７中に試験データベース４０２又は他の記憶媒体の中にログ記録され得る。次に仮想顧客が、工程５０３でチャット・セッションを開始し、結果が、ログ記録工程５０７で再びログ記録されることが可能である。次にチャット・クラシファイアが、工程５０３で、このチャット・セッションを試験事例の一部として分類して、コンタクト・センタ運用中に試験データが本番環境データと重なり合わないように、又はその他の形で本番環境データの妨げとならないように境界実施を確実にする。試験チャット要求が受信されると、次に工程５０４で、仮想エージェントが応答することが可能であり、この応答の結果が、ログ記録工程５０５でログ記録される。試験事例によれば、ＣＣＭプラットフォーム４１０が、工程５０６で現実の又は仮想のエージェント・デスクトップと対話して、エージェント体験を試験し、コンタクト・センタ運用をさらに評価することが可能であり、この対話の結果が、ログ記録工程５０７でログ記録されることが可能である。最後に、報告工程５０８で、試験事例のそれまでの工程からのログ記録された情報が集約されて、結果レポートとして作成されることが可能であり、結果レポートは、後に取り出されるようにデータベース４０２又は同様の記憶媒体の中にさらに記憶されることが可能である。そのような方法の流れは、例示的なものであること、及び例示される流れは、本発明者によって理想的な解決策であると考えられるが、本発明に従って代替の実施形態が可能であることが理解されよう。代替の又はさらなる構成要素が試験事例に組み込まれることが可能であること、及び本発明の重要な特徴は、スケーラビリティであり、このため、本発明は、例示される試験工程に挿入されるさらなる工程として実施される多種多様なコンタクト・センタ・アーキテクチャに容易に適応可能であるので、例示される流れは、説明される要素だけに試験工程の範囲を限定するものと解釈されるべきでないことがさらに理解されよう。さらに、好適な実施形態においては、仮想エージェント及び仮想顧客は、「ヘッドレス・ブラウザ」としてインスタンス化され、それらのヘッドレス・ブラウザは、何も表示しないが、スクリプト可能な方法で、その一方で、本番のチャット・コンタクト・センタにおいて使用されることになる実際のインフラストラクチャを使用して（すなわち、実際のインターネット、エージェント及び仮想顧客が互いに遠隔に配置されて、ならびにチャット対話が、対話サーバ及び他の構成要素によって、あたかもそれらが「現実の」顧客との「現実の」チャット・セッションであるかのように扱われて）チャット試験処理を単に推進する。これは重要である。なぜなら、電話の呼び出しを試験する場
合とは異なり、チャット・セッションは、試験においては、本番におけるのと同様に、適切なユニフォーム・リソース・ロケータ（ＵＲＬ）をブラウザ・クライアント（このケースにおいては、ヘッドレス・ブラウザ）からインターネットを介して（そのＵＲＬ内のテキストによって示されている）適切なサーバに送信することによって開始されなければならず、次いでそのサーバが、要求内のテキストを解析して、着信チャットをどのように処理するかを決定しなければならないからである。ヘッドレス・ブラウザ仮想顧客４０５は、試験事例マネージャ４０１によって管理されてチャット・クランチャ４０３によって実行される試験スクリプトの指示のもとで、適切なＵＲＬを、インターネットを介してルータ４０７又は対話サーバ４０８に（さまざまな構成が可能である）、ルータ４０７がその要求を有効な着信チャット対話として認識し、したがって、任意選択でチャット・クラシファイア４０９を使用してその着信チャットを分類し、どの（仮想）エージェントへその着信チャットが送信されるべきかを決定することができるように送信することによって、新たなチャット・セッションを開始することができなければならない。同様に、試験の同じ利点を実現するために、仮想エージェント４１１がヘッドレス・ブラウザとして実施されることが可能である。とりわけ、仮想顧客４０５及び仮想エージェント４１１としてのヘッドレス・ブラウザの使用によって、多くの仮想チャット参加者を単一のコンピューティング・マシン又は仮想マシン・イメージにおいて結合することが可能になる。なぜなら、ユーザ・インターフェースが提供される必要がない（及びそれに伴うユーザ・インターフェース・オーバーヘッドも回避される）からである。したがって、多くの仮想エージェント及び仮想顧客が、少数のマシンにおいてインスタンス化されることが可能であり、失敗の潜在的なポイントのうちのすべてが試験可能である大規模なエンドツーエンドのチャット試験が達成されることが可能である。このようにして、特定の試験システムが、有意義な様式でさまざまなフロントエンドと対話することが可能であり、試験システム自体に対する変更を必要とすることなく、新たな又は代替のフロントエンドが実施されることが可能である。いくつかの実施形態においては、仮想エージェント４１１又は仮想顧客４０５として機能するヘッドレス・ブラウザは、それぞれのチャット対話を、そのチャット対話が生じた際に記憶するように構成されることが可能であり、それによって試験管理者は、仮想エージェント４１１又は仮想顧客４０５のロケーションにおいて実際に何が起こったかを見ることができ、いくつかのケースにおいては、そのようなデータは、（ヘッドレス・ブラウザを使用する仮想顧客４０５又は仮想エージェント４１１ではなく）実際の顧客（又はエージェント）が当該試験に参加していたならば何を見ていたであろうかを正確に示すユーザ・インターフェースの形態で試験管理者に提供されることが可能である。上述のように行われるエンドツーエンド試験は、実際の顧客のチャット対話を伝達するために使用されることが可能である複数の別々のネットワーク（たとえば、キャリア）のそれぞれを通じてさまざまな試験事例が渡されることを確実にして、ひいては、自動化された試験を使用してネットワークに依存した問題を識別することができることを確実にするように（ＴＣＭ４０１を使用して）構成されることが可能である。これは、たとえば、それぞれの試験事例においてクラウド・サービス内のヘッドレス・ブラウザ・チャット・クライアントが企業のチャット・サーバにどのようにして達するかを指定することによって、すなわち、（さまざまな方法で接続されることが可能であり、さまざまな物理的なサイトに配置されることが可能である）それぞれのチャット・サーバのアドレスを明示的に指定することによって、又は別々のネットワーク・プロバイダにそれぞれ接続されている別々のクラウド・サーバを、それぞれが稼働されることが可能であるように使用することによって（又は両方の方法を使用することによって）行われることが可能である。
【００５４】
図６は、本発明の好適な実施形態による、ＴＣＭプラットフォーム内の試験事例のユーザによる作成及び修正のための例示的なグラフィカル・ユーザ・インターフェース６００の図である。図示されるとおり、インターフェース６００が、新たな試験工程を作成するための対話型のボタンもしくは同様の要素６０１、工程説明などの既存の試験工程の要素を説明する複数のテキスト・フィールド６０２、待機するテキスト・ストリング６０３、
送信するテキスト６０４、工程間の休止の長さのための基準６０５、工程を削除するためのクリック可能なもしくはその他の形で対話型の要素６０６、もしくはバッチ動作を実行する工程を選択するためのクリック可能なもしくはその他の形で対話型の要素６０９、工程を並べ替えるためのクリック可能なもしくはその他の形で対話型の要素６０７、既存の工程を編集するためのクリック可能なもしくはその他の形で対話型の要素６０８、又は単一の操作で複数の工程を（例示されるとおり）削除することなどの選択された工程を操作するためのクリック可能なもしくはその他の形で対話型の要素６１０などのいくつかの構成要素からなることが可能である。
【００５５】
工程が作成される場合、ユーザは、その試験工程の挙動を識別及び制御するためにさまざまな情報を供給することが可能である。たとえば、図示されるとおり、説明フィールド６０２が、それまでに作成された試験事例を解釈することを容易にするために工程を識別するように実施され得る。図示される挙動制御フィールドは、試験エージェント又は顧客が受信してからでないと進むことができないテキスト・ストリング６０３、又は工程が開始されると送信されるべき同様のテキスト・ストリング６０４を含むことが可能である。このようにして、各工程が、顧客−エージェント対話をシミュレートするために「送信−受信」パターンをシミュレートすることが可能であり、又は工程は、一方の側が応答を受信する前に複数のチャット・メッセージを送信することが可能である非対称対話をシミュレートするためにそれらの２つのフィールドのうちの１つだけを含むことも可能である。さらに図示されるとおり、工程間の待機時間を指定するためなどの数値的な挙動制御要素６０５が実施されて、試験事例のペースを制御することが可能である。このことは、大量のトラフィックの下でコンタクト・センタの「ストレス試験」を円滑にするのに、又は他の特徴もしくはシステムを試験している間に（すなわち、ストレス試験がその試験事例の目標ではない場合に）負荷に基づく障害を回避する目的でシステム負荷を分散させるために試験のペースを調整するのに実施され得る。
【００５６】
図７は、本発明の好適な実施形態による、試験結果レポートを閲覧するための例示的なグラフィカル・ユーザ・インターフェース７００の図である。図示されるとおり、インターフェース７００は、前述したとおり、それまでに実行された試験事例又は現在実行されている試験事例からの記憶されたログの中に包含される情報を伝えることを意図するさまざまな要素からなることが可能であり、そのような要素は、任意選択で、クリック可能なもしくはその他の形で対話型のボタン７０１，７０７、テキスト表示フィールド７０２、テキスト入力フィールド７０６、グラフのもしくはテキスト・ベースのテーブルもしくはチャート７０３、７０４、及び７０５、又は当技術分野で一般的に見られるさまざまな他のユーザ・インターフェース要素のいずれかを含む。図示されるような要素は、例示的なものであり、代替の、さらなる、又はより少ない要素を利用するさまざまな構成が、本発明に従って可能であり得るが、図示される構成が、望ましい内容をユーザに表示する有効な方法として本発明者によって選好されていることが理解されよう。
【００５７】
図示されるとおり、ボタンスタイル又はドロップダウン・リストスタイルのメニュー７０１などのクリック可能な又はその他の形でユーザ対話型の要素が、データベース４０２などの記憶媒体の中で利用可能であるさまざまなレポートから選択して、閲覧用の結果レポートを表示し、ユーザが選択することを可能にすることができる。ユーザは、そのような要素からレポートを選択することが可能であり、すると、そのような要素は、選択されたレポートからの妥当なデータを反映するようにインターフェース７００の表示される内容を動的に更新することが可能である。テキスト表示フィールド７０２は、非対話型のデータ、すなわち、ユーザが操作する必要性又は能力を有しているはずのない以前の試験事例についての記録された情報をユーザに提示するように実施されることが可能であり、なぜなら、人間による不正変更又はエラーに起因する矛盾した又は信頼できないデータを防止する上で望ましい可能性があるからである。そのような提示される情報は、試験事例名
又は試験キャンペーン名、試験事例中に実行されたチャット・セッション又はチャット要求の量の数値カウント、及び試験が実行された日時又はチャットが開始された日時などのタイムスタンプ・データを含み得る（ただし、それらには限定されない）。そのような情報は、試験事例の特定の性質に応じて、及びコンタクト・センタ内の本発明の特定の実施態様に応じて、非常に多様である可能性があること、及び図示されるような情報は、例示的なものであり、代替の、代用の、又はさらなる情報が、本発明に従って表示され得ることが理解されよう。
【００５８】
インターフェース７００は、作成された又はその他の形で編成されたデータをユーザに提示するためにいくつかのグラフの又はテキスト・ベースのテーブル又はチャート７０３，７０４，７０５からなることも可能である（図示されるとおり）。合格した試験もしくは不合格の試験の相対パーセンテージを表す円グラフ、又は関与する持続時間もしくは量などのグラフ表示に適する可能性がある他の統計などのグラフ・チャート７０３。そのようなグラフは、クリック可能であること、又はその他の形でユーザ対話型であることが可能であり、そのような対話性は、任意選択で、グラフ内で表される情報をユーザがあつらえることを可能にし、任意選択で、選択が行われた際に表示を動的に更新する。このようにして、ユーザは、多数のグラフでインターフェース７００を乱雑にする必要なしに、所与のレポートに関して複数の統計を簡潔に閲覧することが可能であり、ユーザは、関係のない情報又は望ましくない情報をナビゲートする必要なしに、関心対象であるデータだけを閲覧できることが可能であり、それによって、ユーザの時間及びフラストレーションが少なくなり、ならびに誤って解釈されるデータのリスクが低減されることによって解析の信頼性が高まる。テキスト・ベースのテーブル又はチャート７０４は、試験の一環として開始されたチャット対話の名前又はタイプ、対話の量又は他の数値的測定、及び表示された対話の間の成功と失敗の割合などの（図示されるとおり）、試験事例内の個々の対話に関する詳細な情報などのデータを提示するように実施され得る。図示されるような情報は、例示的なものであり、さらなる情報又は代替の情報が、本発明に従って、コンタクト・センタ内の特定のレポート又は実施態様に従って提示されることも可能であることが理解されよう。
【００５９】
試験事例内の対話からログ記録された詳細な情報を提示するテキスト・ベースのテーブル又はチャート７０５が表示され得る。そのような情報は、対話番号及び対話名、対話のログ記録された情報が記憶されているロケーション、対話の時刻もしくは持続時間、任意選択で可変の詳細レベル（単純な合格／不合格もしくは詳細なエラー・レポートなど）を伴う対話の実行の結果、又はクリックされると対話の視覚的ログを表示するのに使用され得る（図示されるとおり）ハイパーリンクもしくはボタンなどのクリック可能なもしくはその他の形でユーザ対話型の要素を含み得る（ただし、それらには限定されない）。そのような情報は、例示的なものであり、コンタクト・センタ内の特定のレポート又は実施態様に従って多種多様であり得ること、そしてさらに、そのような情報は、チャート又はテーブルの任意の特定のフィールド、行、又は列においてどのようなデータを表示するかを選択することによって、前述したとおり、関心対象のデータだけを閲覧するようにユーザによってカスタマイズ可能であり得ることが理解されよう。したがって、ユーザが、より詳細に閲覧するために特定の対話名もしくは対話番号を入力することが可能なテキスト入力フィールド７０６、又は効率的にナビゲートするために、任意選択で、秩序正しく記憶されるもしくは提示される選定されたデータからユーザが選ぶことを可能にし得るクリック可能なドロップダウン・リストスタイルのフィールド７０７などのクリック可能な又はその他の形でユーザ対話型の要素が、チャート又はテーブルの中の表示されるデータを制御するのに利用されることが可能である。そのような要素は、例示的なものであること、及び例示されるすべての要素の性質及び機能は、本発明に従ってさまざまであり得ること、及びユーザ・インターフェース要素の新たな方法及び構成が、当技術分野の範囲内で利用可能になって、本発明に従って利用される可能性があることが理解されよう。
【００６０】
図８は、本発明の実施形態による、スケーラブルなエンドツーエンドのチャット試験の動作のための例示的な方法８００を示すブロック図である。この実施形態によれば、試験は、ＨＴＴＰヘッダなど、インターネット通信標準の既存の要素を利用して、ルーティング又は構成などの基本的な機能を操作することができ、特定のチャット・フロントエンドには依拠せず、それは、「ヘッドレス・ブラウザ」であることが可能であり、そのヘッドレス・ブラウザは、何も表示しないが、スクリプト可能な方法で、その一方で、本番のチャット・コンタクト・センタにおいて使用されることになる実際のインフラストラクチャを使用して（すなわち、実際のインターネット、エージェント及び仮想顧客が互いに遠隔に配置されて、ならびにチャット対話が、対話サーバ及び他の構成要素によって、あたかもそれらが「現実の」顧客との「現実の」チャット・セッションであるかのように扱われて）チャット試験処理を単に推進する。これは重要である。なぜなら、電話の呼び出しを試験する場合とは異なり、チャット・セッションは、試験においては、本番におけるのと同様に、適切なユニフォーム・リソース・ロケータ（ＵＲＬ）をブラウザ・クライアント（このケースにおいては、ヘッドレス・ブラウザ）からインターネットを介して（そのＵＲＬ内のテキストによって示されている）適切なサーバに送信することによって開始されなければならず、次いでそのサーバが、要求内のテキストを解析して、着信チャットをどのように処理するかを決定しなければならないからである。ヘッドレス・ブラウザ仮想顧客４０５は、試験事例マネージャ４０１によって管理されてチャット・クランチャ４０３によって実行される試験スクリプトの指示のもとで、適切なＵＲＬを、インターネットを介してルータ４０７又は対話サーバ４０８に（さまざまな構成が可能である）、ルータ４０７がその要求を有効な着信チャット対話として認識し、したがって、任意選択でチャット・クラシファイア４０９を使用してその着信チャットを分類し、どの（仮想）エージェントへその着信チャットが送信されるべきかを決定することができるように送信することによって、新たなチャット・セッションを開始することができなければならない。同様に、試験の同じ利点を実現するために、仮想エージェント４１１がヘッドレス・ブラウザとして実施されることが可能である。とりわけ、仮想顧客４０５及び仮想エージェント４１１としてのヘッドレス・ブラウザの使用によって、多くの仮想チャット参加者を単一のコンピューティング・マシン又は仮想マシン・イメージにおいて結合することが可能になる。なぜなら、ユーザ・インターフェースが提供される必要がない（及びそれに伴うユーザ・インターフェース・オーバーヘッドも回避される）からである。したがって、多くの仮想エージェント及び仮想顧客が、少数のマシンにおいてインスタンス化されることが可能であり、失敗の潜在的なポイントのうちのすべてが試験可能である大規模なエンドツーエンドのチャット試験が達成されることが可能である。このようにして、特定の試験システムが、有意義な様式でさまざまなフロントエンドと対話することが可能であり、試験システム自体に対する変更を必要とすることなく、新たな又は代替のフロントエンドが実施されることが可能である。
【００６１】
最初の工程８０１で、チャット・フロントエンド（ウェブ・ベースのチャット・アプリケーション、又はモバイル電子デバイス上などの専用のモバイル・チャット・アプリケーションなど）が、対話を要求することが可能である。そのような要求は、ユーザがチャットの開始を試みること（「エージェントとチャットする」ボタンをクリックすること、又は同様の対話型ユーザ・インターフェース対話）によって開始されることが可能であり、又はシミュレートされたチャット参加者を使用する自動化された試験などにおける自動化された処理の一部分であることが可能である。このようにして、試験事例は、開始のための特定の機構に依存する必要がない。というのは、そのような機構は、任意の特定の対話中に利用されているフロントエンドに応じて異なり得るからである。
【００６２】
次の工程８０２で、試験システムに送られたデータが、試験動作において使用され得るＨＴＴＰヘッダなどの埋め込まれた情報を解釈するように（前述した「チャット・クラン
チャ」又は他のシステム要素などによって）処理され得る。たとえば、対話は、特定の試験サーバを要求する、又は（以降で説明される）特定の試験キャンペーンの試験基準に従った扱いを要求する可能性がある。このようにして、動作情報は、フロントエンド間のいずれの形態の標準化にも依拠せずに、通信される対話データに本来備わっているので、試験動作は、利用されているフロントエンドを問わずに確実にされ得る。
【００６３】
次の工程８０３で、試験対話構成（前の工程で決定された要求される構成など）が、試験実行を構成するようにロードされ得る。このようにして、試験は、効率を高めるように、及び試験結果の信頼性を低下させ得るユーザによってもたらされるエラー（エージェントが、無効な構成設定を選択すること、又は機能に影響を及ぼすタイプ入力エラーをすることなど）を回避する上で役立つように動作を自己構成することが可能である。さらに、ロードされた構成が、利用すべき通信技術などの動作を決定して、フロントエンドがそのような技術上で明示的に動作する必要なしに、試験事例が、包括的な試験に必要とされるさまざまなネットワーク技術にわたって動作することを可能にすることができる（たとえば、試験事例を、フロントエンドを動作させているコンピューティング・デバイスに対する実際の物理接続にかかわらずに、インターネット・ベースのチャット・アプリケーションからセルラー・ネットワーク又はファイバ・ネットワーク経由でルーティングして）。このようにして動作することによって、試験事例は、顧客の特定のネットワーク接続又はコンピュータ・ハードウェアなどの外部要因を考慮に入れない可能性がある試験施設内部又はコンタクト・センタ内部の制御された環境ではなく、顧客とエージェントの間の実際の動作に存在し得る「現実世界の」運用条件を試験することが可能であることが理解され得る。
【００６４】
次の工程８０４で、（スマートフォン又は他のセルラー対応のモバイル・デバイス上のウェブ・ブラウザ又はアプリケーションを介してチャットすることなど）チャットするための他の接続を使用して顧客に対する信頼できる接続に関する試験を行うことなど、試験通信が、任意選択で、代替の又はさらなるネットワーク技術を通ることが可能である。このようにして、単一の試験事例が、複数の接続を試験するのに使用されて、対話ごとに可能な限り多くの試験データを収集することによって試験処理を促進することが可能である。
【００６５】
最後の工程８０５で、試験は終了して、適宜、結果を記録又はサブミットすること（前の工程でのロードされた構成に従って結果を記憶又は送信することなど）が可能である。説明される試験動作には、エージェント及び試験システムが関与し得るが、本発明によって提供される機能は、複数の自動化された「チャットボット」もしくは同様のシミュレートされた参加者の間、又は複数のエージェントの間の試験対話などの代替の構成にも同様に適用可能かつ有用であることが可能であることを理解されたい。このようにして、試験動作は、さまざまな物理構成又は仮想構成を包含して、実際のコンタクト・センタ運用中に体験され得るすべての状況又は対話に関して包括的に試験を行うことが可能である。
【００６６】
図９は、キャンペーン・ベースの試験動作に関する例示的な方法９００を示す方法図である。そのような構成によれば、複数の試験事例が、実行されることになるさまざまな特定の試験を記述することが可能な単一の「キャンペーン」に従って構成されて開始されることが可能であり、このようにして、複数の試験が容易に構成され、実行され、報告されることが可能である。さらに、適切な構成を所与として、キャンペーンは、特定のスケジュールで、又は指定された条件（コンタクト・センタ内のハードウェア・アップグレード又はソフトウェア・アップグレードなど）に応答して特定の試験動作を構成するなど、自律的に機能するように見えることが可能である。さらに、複数のキャンペーンが、たとえば、１つのキャンペーンの結果を利用して別のキャンペーンを構成して、又は次に実行すべき特定のキャンペーンを決定して、論理ベースの適応試験を実行するためなどに、互い
に対話することが可能である。
【００６７】
キャンペーンは、遠隔の又はウェブ・ベースの管理ソフトウェア・インターフェース又は管理ソフトウェア・アプリケーション（たとえば、オフィスから離れてキャンペーンを管理する管理者にとって適切であり得るような）から、又は（図６を参照して）前述した試験作成インターフェースを介してなど、さまざまな方法で作成又は管理されることが可能であり、それによってキャンペーンは、管理者のロケーション又は利用可能なハードウェアにかかわらず、必要とされる際にアクセス可能であり得る。さらに、このようにして、既存の試験システムは、キャンペーン・ベースの機能を、特定の管理者デバイスの長ったらしい又は費用のかさむアップグレードによってではなく、そのような機能を既存の試験作成要素（すなわち、管理者インターフェースなどの他の要素が接続することが可能な中央に配置されたハードウェア・システム要素又はソフトウェア・システム要素）と統合することによって可能にするように容易に適合されることが可能である。
【００６８】
最初の工程９０１で、キャンペーンが、コンタクト・センタ管理者又は他の許可されたユーザなどによって構成され得る。そのような構成は、所望の試験動作にとって適切なように、さまざまな性質及び粒度のものであり得る。このようにして、キャンペーンは、特定の試験パラメータもしくは条件を施行するのに、又はスケジュールされた間隔でもしくは特定のトリガに応答して単に基本的な試験を実行するのに、又は望ましい可能性がある他の任意のそのような構成可能な動作を実行するのに使用されることが可能である。
【００６９】
次の工程９０２で、キャンペーンが、構成されたパラメータに従って（イベントによってトリガされる、又は設定されたスケジュールに従って始まるなどして）開始することが可能である。さらに、キャンペーンは、特定のキャンペーン動作にとって適切であり得るように、及び実行されている試験の性質に応じて、内部で（コンタクト・センタ内から、外部の現実のもしくは仮想のユーザを相手にアウトバウンドで対話を開始して）、又は外部から（外部ユーザが、コンタクト・センタに対するインバウンドの対話を開始して）トリガされることが可能である。たとえば、外部ユーザが、自分のコンピュータ・ワークステーションに対してハードウェア変更を行った後に機能を検証するために対話を開始してキャンペーンをトリガすることを選択することが可能であり、又はコンタクト・センタが、運用の「健康診断」を保持するためにスケジュールの一環としてアウトバウンドの対話を開始することが可能である。
【００７０】
次の工程９０３で、１つ又は複数の対話が、別々の特定のパラメータに従って動作すること及び潜在的に動作することなど、対話がキャンペーン構成に従って動作することが可能である。このようにして、キャンペーンは、さまざまな試験動作パラメータを制御して、性質が似通っている場合もそうでない場合もある複数の試験を実行するのに使用されて、動作を迅速に構成するための統一された手段を提供することが可能である。
【００７１】
最後の工程９０４で、試験が完了すると、それらの試験の個々の結果が受信されて、適宜記憶又は報告されることが可能であり、キャンペーン全体が完了すると、キャンペーン動作の概観を提供するために最終的な「キャンペーン・レポート」が生成されることが可能である。このようにして、個々の試験が、特定の結果に関して点検されることが可能である一方で、キャンペーンの全体の動作が、特定の特徴又はシステムが綿密な検査を受けない可能性がある定期的な「健康診断」スタイルの試験にとって適切であり得るように、迅速な「概観」のために閲覧されることが可能である。
【００７２】
当業者なら、上述したさまざまな実施形態の可能な修正の範囲を認識するであろう。したがって本発明は、特許請求の範囲及びそれらの均等物によって定義される。
【図１】
2017182783.tif 000003
【図２】
2017182783.tif 000004
【図３】
2017182783.tif 000005
【図４】
2017182783.tif 000006
【図５】
2017182783.tif 000007
【図６】
2017182783.tif 000008
【図７】
2017182783.tif 000009
【図８】
2017182783.tif 000010
【図９】
2017182783.tif 000011
【図１０】
2017182783.tif 000012
【図１１】
2017182783.tif 000013
【図１２】
2017182783.tif 000014
【図１３】
2017182783.tif 000015