JP2017182783A - 自動化されたエンドツーエンドのウェブ対話試験のためのシステム及び方法 - Google Patents
自動化されたエンドツーエンドのウェブ対話試験のためのシステム及び方法 Download PDFInfo
- Publication number
- JP2017182783A JP2017182783A JP2017014346A JP2017014346A JP2017182783A JP 2017182783 A JP2017182783 A JP 2017182783A JP 2017014346 A JP2017014346 A JP 2017014346A JP 2017014346 A JP2017014346 A JP 2017014346A JP 2017182783 A JP2017182783 A JP 2017182783A
- Authority
- JP
- Japan
- Prior art keywords
- test
- chat
- interaction
- memory
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5061—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the interaction between service providers and their network customers, e.g. customer relationship management
- H04L41/5064—Customer relationship management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
- H04L43/045—Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/508—Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
- H04L41/5093—Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to messaging or chat services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
- Information Transfer Between Computers (AREA)
Abstract
【課題】試験事例管理プラットフォームと、チャット・クランチャと、コンタクト・センタ・マネージャと、チャット・クラシファイアと、デスクトップ自動化エンジンと、ヘッドレス・ブラウザ・ベースの仮想エージェント及び顧客とを有する、フレキシブルでスケーラブルな自動化されたエンドツーエンドのチャット・ベースのコンタクト・センタ試験のためのシステムを提供する。【解決手段】試験事例管理プラットフォームは、ユーザがこのシステムの動作を構成することを可能にする。チャット・クランチャは、複数の仮想顧客を動作させる。コンタクト・センタ・マネージャは、複数の仮想エージェントを、仮想顧客とのチャット・セッションに参加するように動作させる。【選択図】図1
Description
本発明は、コンタクト・センタ運用の分野に関し、より詳細には、チャット・ベースのクライアント対話ソフトウェア・システムのエンドツーエンド試験の分野に関する。
コンタクト・センタ運用の分野において、従来、エージェントと顧客の間の通信は、従来の電話又はボイス・オーバー・インターネット・プロトコル(VoIP)システムなど音声ベースのシステムを介して実行される。しかし、より多くのセンタが、音声接続にアクセスを有さない、又は音声接続を利用することを望まない可能性がある顧客により良く役立つように、当技術分野において一般的に見られるインターネット・ベースのチャット・ソフトウェアなどのさらなるテキスト・ベースの通信に対応しはじめている。このことの一般的な例が、顧客が、企業のウェブサイト上のオンライン・カタログをブラウズすることであろう。そのようなシナリオでは、顧客が製品についての質問を有する可能性があり、ウェブページ内に便利なチャット・インターフェースを含め、顧客がオンライン・カタログを依然としてブラウズしながら顧客のコンピュータから便利にエージェントと直接に通信することを可能にすることにより、顧客と企業の両方が利益を得ることが可能である。このことは、エージェントと連絡をとるのに電話ベースの対話型音声対話型音声認識(IVR)システムを操作する必要性がなく、エージェントが応対可能になるのを長いキューの中で待つこともなしに、より便利で迅速な通信を可能にする。また、このことは、顧客が電話にアクセスを有さない可能性がある、又は自らの会話が他の人々の耳に入ることを望まない可能性があるインターネット・カフェ又は同様の公共の場所から、顧客がオンライン・カタログを閲覧していることなどが可能な、よりフレキシブルな通信も可能にする。
コンタクト・センタ方法におけるこの移行によれば、信頼できるコンタクト・センタ運用を確実にし、フリーズしたチャット・セッション又はテキスト伝送の遅延などの、顧客対話に影響を及ぼす可能性がある問題を解決するようにチャット・ベースのシステムを試験し、評価する必要性が存在することが理解されよう。そのような試験システムは、試験結果の信頼性に影響を及ぼすことなく、人間による対話又は修正を必要とすることなしに、ウェブページに埋め込まれたチャット・インターフェース、パーソナル・コンピュータ又はモバイル・チャット・アプリケーションの上で実行されるべき専用のチャット・ソフトウェアなどのさまざまなエンドポイントにも対応すべきであることが理解されよう。
当技術分野においては音声通信のための試験方法が存在するが、そのような方法は、テキスト・ベースのシステムにうまく転用することができないことが理解されよう。さらに、当技術分野で現在実施されているチャット試験システムがあるが、そのようなシステムは、操作するのに試験エージェントの対話を必要とし、それは、試験にかかわる時間及び労力のためのさらなる出費、試験プロトコルの信頼性に影響を及ぼし得る人的エラー要因、及び人間による操作に関連するさまざまな矛盾などの新たな問題を生じさせる。
必要とされているのは、進行中の顧客対話に影響を及ぼすことなく本番環境と並行して動作することが可能であり、試験信頼性に悪影響を及ぼすことなしにさまざまなエンドポイント及びインフラストラクチャ実施態様に対応することが可能である、チャット・ベースの通信のためのフレキシブルでスケーラブルな自動化された試験解決策である。さらに、必要とされているのは、実際の使用を正確に表して実際のクライアント対話に干渉しないようにチャット・フロントエンド・ソフトウェアの試験を可能にする、チャット・ベー
スの通信のエンドツーエンド試験を容易にするための手段である。
スの通信のエンドツーエンド試験を容易にするための手段である。
したがって、本発明者は、本発明の好適な実施形態において、特定のチャット・ソフトウェア又はエンドポイントに依拠せず、さまざまな実施アーキテクチャに対応するようにスケーラブルである自動化されたチャット試験のための方法、及びそのような方法の実施のための好適なシステムを考案し、実施化した。
本発明の第1の態様は、自動化されたエンドツーエンドのウェブ対話試験のためのシステムにおいて、
少なくともメモリと、プロセッサと、前記メモリ内に記憶されていて前記プロセッサ上で動作する複数のプログラミング命令とからなる試験事例管理コンピュータであって、前記プログラム可能な命令が、複数の記憶されている構成命令に基づいて対話マネージャ・コンピュータの動作を指示するように構成されている、試験事例管理コンピュータと、
少なくともメモリと、プロセッサと、前記メモリ内に記憶されていて前記プロセッサ上で動作する複数のプログラミング命令とからなる対話マネージャ・コンピュータであって、前記プログラム可能な命令が、複数のヘッドレス・ウェブ・ブラウザ・アプリケーションの動作を指示するように構成されている、対話マネージャ・コンピュータと、
少なくとも、メモリ内に記憶されていて、ネットワーク接続されたコンピューティング・デバイスのプロセッサ上で動作し、人間の対話を伴わずにネットワークを経由してウェブ・インターフェースを介して対話するように構成されている複数のプログラミング命令からそれぞれがなる複数のヘッドレス・ウェブ・ブラウザ・アプリケーションとからなる、システムを要旨とする。
少なくともメモリと、プロセッサと、前記メモリ内に記憶されていて前記プロセッサ上で動作する複数のプログラミング命令とからなる試験事例管理コンピュータであって、前記プログラム可能な命令が、複数の記憶されている構成命令に基づいて対話マネージャ・コンピュータの動作を指示するように構成されている、試験事例管理コンピュータと、
少なくともメモリと、プロセッサと、前記メモリ内に記憶されていて前記プロセッサ上で動作する複数のプログラミング命令とからなる対話マネージャ・コンピュータであって、前記プログラム可能な命令が、複数のヘッドレス・ウェブ・ブラウザ・アプリケーションの動作を指示するように構成されている、対話マネージャ・コンピュータと、
少なくとも、メモリ内に記憶されていて、ネットワーク接続されたコンピューティング・デバイスのプロセッサ上で動作し、人間の対話を伴わずにネットワークを経由してウェブ・インターフェースを介して対話するように構成されている複数のプログラミング命令からそれぞれがなる複数のヘッドレス・ウェブ・ブラウザ・アプリケーションとからなる、システムを要旨とする。
本発明の第2の態様は、第1の態様において、前記複数の記憶されている構成命令の少なくとも一部分が、ヘッドレス・ウェブ・ブラウザのためのプログラム式の命令を含むことを要旨とする。
本発明の第3の態様は、自動化されたエンドツーエンドのウェブ対話試験のための方法において、
少なくとも、メモリ内に記憶されていて、ネットワーク接続されたコンピューティング・デバイスのプロセッサ上で動作し、複数の記憶されている構成命令に基づいて対話マネージャの動作を指示するように構成されている複数のプログラミング命令からなる試験事例管理プラットフォームを使用して、新たな試験事例を作成する工程と、
複数の記憶されている構成命令をロードする工程と、
少なくとも、メモリ内に記憶されていて、ネットワーク接続されたコンピューティング・デバイスのプロセッサ上で動作し、複数のヘッドレス・ウェブ・ブラウザ・アプリケーションの動作を指示するように構成されている複数のプログラミング命令からなる対話マネージャを介して、前記記憶されている構成命令の少なくとも一部分に少なくとも部分的に基づいて複数のヘッドレス・ウェブ・ブラウザ・アプリケーションを指示する工程と、
少なくとも、メモリ内に記憶されていて、ネットワーク接続されたコンピューティング・デバイスのプロセッサ上で動作し、人間の対話を伴わずにネットワークを経由してウェブ・インターフェースを用いて対話するように構成されている複数のプログラミング命令からそれぞれがなる複数のヘッドレス・ウェブ・ブラウザ・アプリケーションを使用して
、複数のウェブ・インターフェースと対話する工程とからなる方法を要旨とする。
少なくとも、メモリ内に記憶されていて、ネットワーク接続されたコンピューティング・デバイスのプロセッサ上で動作し、複数の記憶されている構成命令に基づいて対話マネージャの動作を指示するように構成されている複数のプログラミング命令からなる試験事例管理プラットフォームを使用して、新たな試験事例を作成する工程と、
複数の記憶されている構成命令をロードする工程と、
少なくとも、メモリ内に記憶されていて、ネットワーク接続されたコンピューティング・デバイスのプロセッサ上で動作し、複数のヘッドレス・ウェブ・ブラウザ・アプリケーションの動作を指示するように構成されている複数のプログラミング命令からなる対話マネージャを介して、前記記憶されている構成命令の少なくとも一部分に少なくとも部分的に基づいて複数のヘッドレス・ウェブ・ブラウザ・アプリケーションを指示する工程と、
少なくとも、メモリ内に記憶されていて、ネットワーク接続されたコンピューティング・デバイスのプロセッサ上で動作し、人間の対話を伴わずにネットワークを経由してウェブ・インターフェースを用いて対話するように構成されている複数のプログラミング命令からそれぞれがなる複数のヘッドレス・ウェブ・ブラウザ・アプリケーションを使用して
、複数のウェブ・インターフェースと対話する工程とからなる方法を要旨とする。
本発明の第4の態様は、第3の態様において、前の工程からの出力データを将来の参照のためにデータベース内にログ記録する工程をさらに備えることを要旨とする。
本発明の好適な実施形態によれば、試験事例管理(TCM)プラットフォームと、「チャット・クランチャ」と、コンタクト・センタ・マネージャ(CCM)と、チャット・クラシファイアと、デスクトップ自動化エンジン(DAE)とからなる、コンタクト・センタのための自動化されたチャット試験を扱うためのシステムが、開示される。この実施形態によれば、TCMプラットフォームが、図6及び図7に詳細に示されるとおり、試験事例を作成して管理するための、及び結果レポートを閲覧するためのウェブ・ベースのグラフィカル・ユーザ・インターフェースを提示することが可能である。そのような機能は、ユーザが、さらなる試験プロトコルを入力すること、以前の試験の結果を閲覧すること、試験を、それらの試験が実行されているときにリアルタイム解析のために閲覧すること、及び試験結果レポートを操作すること(たとえば、特定のレポートを選択すること、及びそれらのレポートを、バックアップ目的でデータベース又は他の記憶媒体にエクスポートすることなど)を可能にすることができる。「チャット・クランチャ」は、この実施形態によれば、シミュレートされた顧客トラフィックを生成して、顧客体験のためにさまざまなチャット・エンドポイント(たとえば、ウェブページ内の埋め込まれたチャット・インターフェースなど)を試験すること、及び生成されるトラフィックの量を変えることによって負荷試験の自動化を扱うことなどの機能を含む(ただし、それらには限定されない)、試験事例のロード及び実行を扱うことが可能である。CCMシステムは、エージェント活動をシミュレートし、チャット・クランチャからのシミュレートされた顧客トラフィックに関してコンタクト・センタ機能を実行することが可能であり、コンタクト・センタによって利用されるチャット・サーバを直接に操作することによって実際のエージェント活動を再現して、それによって、チャット・サーバ、CTIサーバ、又は他の内部構成要素などの既存のセンタ・アーキテクチャの試験を組み込むことも可能である。そのような実施態様は、いずれの特定の既存の構成要素又は構成にも依拠することなく、このため、さまざまなコンタクト・センタ・インフラストラクチャに対するスケーラビリティを容易にすることが理解されよう。チャット・クラシファイアは、この実施形態に従って実施されて、チャット対話を、それらの対話の性質に応じて、試験システムによって実行されているシミュレートされた対話、又は実際の顧客−エージェント対話として分類することが可能である。このようにして、チャット・クラシファイアは、コンタクト・センタ内で試験環境と本番環境の間の境界を実施して、試験が、センタ・パフォーマンス及び顧客体験に影響を及ぼすことなしに同時に実行されることを可能にするのに使用され得る。DAEシステムは、この実施形態に従って使用されて、チャット・サーバと直接に対話するのではなく、エージェント・デスクトップ環境を直接に操作して、エージェント体験を試験する機能を追加することが可能である。したがって、単一の例示的な試験事例が、前述したCTIサーバ又はチャット・サーバなどの内部コンタクト・センタ・システム、エージェント・デスクトップ・ソフトウェア、インバウンド・トラフィック管理及び負荷処理、ならびにさまざまなチャット対話エンドポイントを介する顧客体験、及び実行されるすべての要求の全体的なルーティング効率の試験を実行して、その後、試験事例結果データを閲覧及び解析のために記憶することが可能である。説明される好適な構成は、例示的なものであり、代替の構成が、本発明に従って可能であり得ること、及び当技術分野が進化しつづけるにつれ、新たな機能及び適切な試験プロトコルが本発明の範囲内で実施され得ることが当業者には理解されよう。
本発明の好適な実施形態によれば、試験事例管理(TCM)プラットフォームと、「チャット・クランチャ」と、コンタクト・センタ・マネージャ(CCM)と、チャット・クラシファイアと、デスクトップ自動化エンジン(DAE)とからなる、コンタクト・センタのための自動化されたチャット試験を扱うためのシステムが、開示される。この実施形態によれば、TCMプラットフォームが、図6及び図7に詳細に示されるとおり、試験事例を作成して管理するための、及び結果レポートを閲覧するためのウェブ・ベースのグラフィカル・ユーザ・インターフェースを提示することが可能である。そのような機能は、ユーザが、さらなる試験プロトコルを入力すること、以前の試験の結果を閲覧すること、試験を、それらの試験が実行されているときにリアルタイム解析のために閲覧すること、及び試験結果レポートを操作すること(たとえば、特定のレポートを選択すること、及びそれらのレポートを、バックアップ目的でデータベース又は他の記憶媒体にエクスポートすることなど)を可能にすることができる。「チャット・クランチャ」は、この実施形態によれば、シミュレートされた顧客トラフィックを生成して、顧客体験のためにさまざまなチャット・エンドポイント(たとえば、ウェブページ内の埋め込まれたチャット・インターフェースなど)を試験すること、及び生成されるトラフィックの量を変えることによって負荷試験の自動化を扱うことなどの機能を含む(ただし、それらには限定されない)、試験事例のロード及び実行を扱うことが可能である。CCMシステムは、エージェント活動をシミュレートし、チャット・クランチャからのシミュレートされた顧客トラフィックに関してコンタクト・センタ機能を実行することが可能であり、コンタクト・センタによって利用されるチャット・サーバを直接に操作することによって実際のエージェント活動を再現して、それによって、チャット・サーバ、CTIサーバ、又は他の内部構成要素などの既存のセンタ・アーキテクチャの試験を組み込むことも可能である。そのような実施態様は、いずれの特定の既存の構成要素又は構成にも依拠することなく、このため、さまざまなコンタクト・センタ・インフラストラクチャに対するスケーラビリティを容易にすることが理解されよう。チャット・クラシファイアは、この実施形態に従って実施されて、チャット対話を、それらの対話の性質に応じて、試験システムによって実行されているシミュレートされた対話、又は実際の顧客−エージェント対話として分類することが可能である。このようにして、チャット・クラシファイアは、コンタクト・センタ内で試験環境と本番環境の間の境界を実施して、試験が、センタ・パフォーマンス及び顧客体験に影響を及ぼすことなしに同時に実行されることを可能にするのに使用され得る。DAEシステムは、この実施形態に従って使用されて、チャット・サーバと直接に対話するのではなく、エージェント・デスクトップ環境を直接に操作して、エージェント体験を試験する機能を追加することが可能である。したがって、単一の例示的な試験事例が、前述したCTIサーバ又はチャット・サーバなどの内部コンタクト・センタ・システム、エージェント・デスクトップ・ソフトウェア、インバウンド・トラフィック管理及び負荷処理、ならびにさまざまなチャット対話エンドポイントを介する顧客体験、及び実行されるすべての要求の全体的なルーティング効率の試験を実行して、その後、試験事例結果データを閲覧及び解析のために記憶することが可能である。説明される好適な構成は、例示的なものであり、代替の構成が、本発明に従って可能であり得ること、及び当技術分野が進化しつづけるにつれ、新たな機能及び適切な試験プロトコルが本発明の範囲内で実施され得ることが当業者には理解されよう。
本発明の別の好適な実施形態によれば、自動化されたチャット試験のための方法が開示される。この実施形態によれば、最初の工程において、試験事例が開始される。このことは、スケジュールされたイベント、又は定期的に、もしくはいくつかの条件が満たされた際に実行されるルーチンの一部などの、自動化されたタスクとして実行され得る。また、
このことは、任意選択で、特定の特徴もしくは工程を試験するのに、又は新たな試験事例の「試行」を、その試験事例が自動的に実行されるように設定される前に実行するのに望ましい可能性があるカスタム試験事例の作成及び実行のために、TCMプラットフォームを介した人間の対話によってトリガされることも可能である。試験事例が実行されると、チャット試験のためのエンドポイントとして使用される、複数の仮想顧客及び仮想エージェントが作成される。このアプローチは、試験が実行されるにつれ、チャット工程に関与する各システムを暗黙に試験する。仮想顧客及び仮想エージェント作成の結果は、コンタクト・センタ・インフラストラクチャの一部分としてローカルに配置され得る、又はコンタクト・センタから遠隔に配置され、インターネットもしくは他のデータ・ネットワークを介してアクセスされるクラウドホストされるストレージなどのさまざまな遠隔記憶媒体のうちのいずれかであり得る、試験データベース又は同様のデータ・ストアの中に記憶され得る。次に、記憶されたデータが、試験データを閲覧するための詳細なレポートを生成するために後に使用されることが可能であり、詳細なレポートもまた、後に取り出すために記憶されることが可能である。次に、実行されている特定の試験事例に応じて、1つ又は複数の仮想顧客が、チャット・セッションを開始する。そのようなセッション開始要求は、インターネット又は他のデータ・ネットワークを介して送信され、顧客からの実際のインバウンド要求と同様に扱われることが可能である。コンタクト・センタ内で境界を実施し、試験事例が運用に影響を及ぼすことを防止するために、チャット・クラシファイアが、センタを通過するチャット要求を解析して、それらのチャット要求に、適宜、試験事例関連として「フラグを設定する」ように実施され得る。このようにして、試験データは、現実のエージェントに仮想顧客の要求を送信すること、又は顧客に試験データを公開することなどの、実際の顧客対話と同様のパスを、コンタクト・センタ運用の妨げとなることなく、たどることが可能である。この工程は、通常のセンタ運用と並行して試験を実行することが常に必要であるわけではないので、すなわち、たとえば、試験は、インバウンド・トラフィックが、運用の時間を顧客に知らせる自動化されたシステムによって扱われ、トラフィックがまったくセンタに届かないセンタの運用時間外に実行され得るので、任意選択であり得ることが当業者には理解されよう。この場合も、この工程からのもたらされるデータは、報告の際に使用されるようにデータ・ストアの中にログ記録され得る。セッションが開始され、任意選択で分類された後、仮想エージェントが応答し、チャット・セッション自体が、実行されている試験事例に応じて開始することが可能である(本明細書で説明される方法は、特定のスクリプトを前提とせず、そのような試験事例は多種多様であり得ることが理解されよう)。試験による顧客−エージェント交換チャット・メッセージ、それに応じてログ記録される結果、及び、任意選択でCCMプラットフォームが、エージェント・デスクトップと対話して、エージェント体験の試験を円滑にし、コンタクト・センタ・ソフトウェアの動作を試験することが可能である。そのようなエージェント・デスクトップは、エージェント・デスクトップ環境ソフトウェアを実行する物理的コンピュータ・ワークステーションであることが可能であり、又は物理的コンピュータが存在しない試験システム内部で実行されている仮想デスクトップであることも可能である。エージェント・デスクトップ対話からの結果が(存在する場合)ログ記録され、試験事例が完了すると、最終的に、ログ記録されたすべてのデータが校合されて結果レポートにされる。もたらされるレポートは、後に取り出されるように記憶されることが可能であり、ユーザによる解析のためにTCMプラットフォーム内から閲覧可能にされ得る。このようにして、以前の試験からの結果が、ユーザが、TCMプラットフォームのグラフィカル・インターフェースから任意の将来の試験を最適化することができるように利用可能である。
このことは、任意選択で、特定の特徴もしくは工程を試験するのに、又は新たな試験事例の「試行」を、その試験事例が自動的に実行されるように設定される前に実行するのに望ましい可能性があるカスタム試験事例の作成及び実行のために、TCMプラットフォームを介した人間の対話によってトリガされることも可能である。試験事例が実行されると、チャット試験のためのエンドポイントとして使用される、複数の仮想顧客及び仮想エージェントが作成される。このアプローチは、試験が実行されるにつれ、チャット工程に関与する各システムを暗黙に試験する。仮想顧客及び仮想エージェント作成の結果は、コンタクト・センタ・インフラストラクチャの一部分としてローカルに配置され得る、又はコンタクト・センタから遠隔に配置され、インターネットもしくは他のデータ・ネットワークを介してアクセスされるクラウドホストされるストレージなどのさまざまな遠隔記憶媒体のうちのいずれかであり得る、試験データベース又は同様のデータ・ストアの中に記憶され得る。次に、記憶されたデータが、試験データを閲覧するための詳細なレポートを生成するために後に使用されることが可能であり、詳細なレポートもまた、後に取り出すために記憶されることが可能である。次に、実行されている特定の試験事例に応じて、1つ又は複数の仮想顧客が、チャット・セッションを開始する。そのようなセッション開始要求は、インターネット又は他のデータ・ネットワークを介して送信され、顧客からの実際のインバウンド要求と同様に扱われることが可能である。コンタクト・センタ内で境界を実施し、試験事例が運用に影響を及ぼすことを防止するために、チャット・クラシファイアが、センタを通過するチャット要求を解析して、それらのチャット要求に、適宜、試験事例関連として「フラグを設定する」ように実施され得る。このようにして、試験データは、現実のエージェントに仮想顧客の要求を送信すること、又は顧客に試験データを公開することなどの、実際の顧客対話と同様のパスを、コンタクト・センタ運用の妨げとなることなく、たどることが可能である。この工程は、通常のセンタ運用と並行して試験を実行することが常に必要であるわけではないので、すなわち、たとえば、試験は、インバウンド・トラフィックが、運用の時間を顧客に知らせる自動化されたシステムによって扱われ、トラフィックがまったくセンタに届かないセンタの運用時間外に実行され得るので、任意選択であり得ることが当業者には理解されよう。この場合も、この工程からのもたらされるデータは、報告の際に使用されるようにデータ・ストアの中にログ記録され得る。セッションが開始され、任意選択で分類された後、仮想エージェントが応答し、チャット・セッション自体が、実行されている試験事例に応じて開始することが可能である(本明細書で説明される方法は、特定のスクリプトを前提とせず、そのような試験事例は多種多様であり得ることが理解されよう)。試験による顧客−エージェント交換チャット・メッセージ、それに応じてログ記録される結果、及び、任意選択でCCMプラットフォームが、エージェント・デスクトップと対話して、エージェント体験の試験を円滑にし、コンタクト・センタ・ソフトウェアの動作を試験することが可能である。そのようなエージェント・デスクトップは、エージェント・デスクトップ環境ソフトウェアを実行する物理的コンピュータ・ワークステーションであることが可能であり、又は物理的コンピュータが存在しない試験システム内部で実行されている仮想デスクトップであることも可能である。エージェント・デスクトップ対話からの結果が(存在する場合)ログ記録され、試験事例が完了すると、最終的に、ログ記録されたすべてのデータが校合されて結果レポートにされる。もたらされるレポートは、後に取り出されるように記憶されることが可能であり、ユーザによる解析のためにTCMプラットフォーム内から閲覧可能にされ得る。このようにして、以前の試験からの結果が、ユーザが、TCMプラットフォームのグラフィカル・インターフェースから任意の将来の試験を最適化することができるように利用可能である。
本発明の別の実施形態によれば、チャット・ベースのソフトウェア・フロントエンドが、特定のフロントエンド・アプリケーションが実際のコンタクト・センタ運用における実施に先立って試験され得るように、ストレス試験、機能、信頼性、応答時間、又は他の有用な試験メトリックに関して検査されることが可能である。この実施形態によれば、試験方法は、単一の試験システムが、必要に応じて任意のフロントエンド・ソフトウェアとと
もに利用され得るように、さまざまなサードパーティ又は外部のフロントエンド・ソフトウェアの使用を可能にし得る。このようにして、新たなフロントエンド又は代替のフロントエンドが、展開に先立ってそれらのフロントエンドの機能を検証するように、現実の条件又はシミュレートされた条件において実現可能性に関して検査され得る。この実施形態によれば、インターネット・ベースのネットワーク又は同様のインターネット・プロトコル(IP)ネットワークに本来備わった特徴が、システム動作を円滑にするのに利用されることが可能であり、たとえば、チャットの挙動又はパラメータを識別するために、HTTPヘッダ(そのような通信ネットワークを介して送信されるデータ・パケットの重要な特徴である)を使用すること、又は試験の際に使用するためのチャット・サーバを識別するために、特別に作成されたURLを使用すること(すなわち、チャット・フロントエンドが、試験サーバと対話するのに、電話番号に接続するのではなく、特定のURLを要求することが可能である)などである。このようにヘッダを利用することによって、対話の扱いについての判定が、フロントエンド自体に特別の対応が追加されることなしに、受信されたヘッダにおける情報(チャット要求をどのようにルーティングすべきかなど)に基づいて行われ得る。そのような機能は、適切な機能のために特定の試験ネットワークが利用されることを必要とするのではなく、すべてのIPベースの通信に本来備わった基本的な技術的特徴を利用することによって、さまざまなネットワーク上で試験を可能にするのに利用され得る。このようにして、試験は、エージェント又は顧客として動作する遠隔に配置されたコンタクト・センタ・エージェント又はソフトウェア要素などの外部接続を利用することが可能であり、顧客がコンタクト・センタを相手にした顧客の対話の際に利用する可能性がある同じネットワーク(すなわち、インターネット)を利用することが可能である(コンタクト・センタ内の内部ネットワーク上で試験を行うのではなく)。そのようなアプローチを使用することによって、試験は、実際の顧客と同じ技術的要素を利用して、それによって、コンタクト・センタ・チャット対話の実際の運用条件を厳密に再現することが可能であることが理解されよう。
もに利用され得るように、さまざまなサードパーティ又は外部のフロントエンド・ソフトウェアの使用を可能にし得る。このようにして、新たなフロントエンド又は代替のフロントエンドが、展開に先立ってそれらのフロントエンドの機能を検証するように、現実の条件又はシミュレートされた条件において実現可能性に関して検査され得る。この実施形態によれば、インターネット・ベースのネットワーク又は同様のインターネット・プロトコル(IP)ネットワークに本来備わった特徴が、システム動作を円滑にするのに利用されることが可能であり、たとえば、チャットの挙動又はパラメータを識別するために、HTTPヘッダ(そのような通信ネットワークを介して送信されるデータ・パケットの重要な特徴である)を使用すること、又は試験の際に使用するためのチャット・サーバを識別するために、特別に作成されたURLを使用すること(すなわち、チャット・フロントエンドが、試験サーバと対話するのに、電話番号に接続するのではなく、特定のURLを要求することが可能である)などである。このようにヘッダを利用することによって、対話の扱いについての判定が、フロントエンド自体に特別の対応が追加されることなしに、受信されたヘッダにおける情報(チャット要求をどのようにルーティングすべきかなど)に基づいて行われ得る。そのような機能は、適切な機能のために特定の試験ネットワークが利用されることを必要とするのではなく、すべてのIPベースの通信に本来備わった基本的な技術的特徴を利用することによって、さまざまなネットワーク上で試験を可能にするのに利用され得る。このようにして、試験は、エージェント又は顧客として動作する遠隔に配置されたコンタクト・センタ・エージェント又はソフトウェア要素などの外部接続を利用することが可能であり、顧客がコンタクト・センタを相手にした顧客の対話の際に利用する可能性がある同じネットワーク(すなわち、インターネット)を利用することが可能である(コンタクト・センタ内の内部ネットワーク上で試験を行うのではなく)。そのようなアプローチを使用することによって、試験は、実際の顧客と同じ技術的要素を利用して、それによって、コンタクト・センタ・チャット対話の実際の運用条件を厳密に再現することが可能であることが理解されよう。
既存の通信技術を利用して運用を円滑にすることに対する拡張として、試験システムは、インターネット又は同様のデータ通信ネットワークを介して対話する遠隔チャット・フロントエンドなどの外部接続どうしにわたって動作することが可能である。このようにして、試験システムは、実際の顧客が利用する可能性がある実際のネットワーク接続、物理的ハードウェア、又はロケーションを利用して、試験結果の妥当性を高めることが可能である。さらに、そのような機能は、クラウド・ベースのフロントエンド又は遠隔フロントエンドを介して動作する分散したコンタクト・センタ・エージェントの使用を可能にし、これは、当技術分野におけるクラウド・ベースの又は分散型のコンタクト・センタ運用において一般的な構成であり、またそれは、いかなる特別な構成又はハードウェアも必要とせずに中央試験システムと対話することが可能である。このようにして、遠隔エージェントは、エンドツーエンド試験システムの完全な機能を利用しながら、自分の既存のハードウェア又は馴染みのあるチャット・フロントエンドを利用することが可能である。さらに、分散したエージェントは、特定の接続又はフロントエンドが、実際の運用の対話トラフィック・レベルを扱うのに十分なだけ堅牢であることを確実にするための負荷試験に役立ち得るような、スケジュールされたチャット試験対話などの自動化された試験に参加することが可能である。さらなる用途は、定期的な試験を実行して、コンタクト・センタの一貫性のある運用を確実にすること、ならびにセンタ又は試験システム内で変更が行われた場合に、継続した運用を(適宜)確実にすること(たとえば、構成が変更された場合、運用を確実にするために試験のバッチが開始され得る)など、顧客対話をシミュレートする、試験システムから開始され得るエージェント及びそれらのエージェントのフロントエンドの定期的な又はランダムな試験であり得る。
さらに、この実施形態によれば、チャット対話が、接続に沿った任意のポイントにおいて、又は対話中の任意の時点で、複数の通信技術(物理接続、ケーブル・ベースもしくは
ファイバ・ベースのインターネット接続、セルラー通信ネットワーク、又は他の通信技術など)を利用することが可能である。そのような技術は、同時に、又は順次に、又はランダムなパターンもしくは構成可能なパターンに従って利用されることが可能である。このようにして、対話中に利用されることが可能な任意の通信技術が試験されて、顧客−エージェント対話の任意の可能なシナリオを試験が完全に包含し得ることを確実にすることが可能である。
ファイバ・ベースのインターネット接続、セルラー通信ネットワーク、又は他の通信技術など)を利用することが可能である。そのような技術は、同時に、又は順次に、又はランダムなパターンもしくは構成可能なパターンに従って利用されることが可能である。このようにして、対話中に利用されることが可能な任意の通信技術が試験されて、顧客−エージェント対話の任意の可能なシナリオを試験が完全に包含し得ることを確実にすることが可能である。
前述したとおり、実際の技術又はネットワークの上で試験事例を運用することに加えて、そのような試験事例はまた、実際のクライアント−エージェント対話を正確に表すための重要なメトリック又は試験機能を検査及び測定すべきである。たとえば、試験事例が、チャット・サーバに、又は第2のチャット参加者(コンタクト・センタ・エージェントなど)に接続するための時間、エージェントが「応対」して対話に加わるのを待つのに費やされる時間(すなわち、チャット・ベースの対話に関係する場合には、「保留時間」メトリック)、テキストを受信するのを待つのに、もしくは応答を送信するのを待つのに費やされる時間(顧客が質問をタイプ入力すること、もしくはエージェントが返信を作成するために情報を調べることをシミュレートするためなど)、顧客(もしくはシミュレートされた顧客)に返す応答ストリングを選択するのに費やされる時間、又はいずれの特定のフロントエンドにも依拠することなしに試験され得る他の機能を測定することが可能である。さらに、顧客又は他の参加者は、さまざまな工程又は機能を有するさまざまなフロントエンド・アプリケーションを使用する可能性があるので、試験システムに本来備わった基礎をなすソフトウェア要素は、使用されている特定のソフトウェア・アプリケーションにかかわらずに適合するであろうように、フロントエンドからの要求を扱うこと、ならびにフロントエンドに送信されることになる出力を処理することが可能であるべきである。このようにして、試験解決策は、機能を損なうことなしに、多様な種類及び量のフロントエンド・チャット・プログラムへとスケーラブルであり得る。
さらに、運用のための試験手順を選択又は構成すること、たとえば、どんなスクリプトを実行するか、どんなストリングを送信するか、待機時間のような変数の値、及び将来の参照又は使用のために記憶することが望ましい可能性がある他の構成を選択することなどを行うために、「キャンペーン」機能が試験システムによって利用され得る。さらに、試験キャンペーンを運用する際には、結果が、特定のキャンペーンに関連して報告又はログ記録されることが可能であり、それによって、試験結果を点検する際に、キャンペーンの構成が、そのキャンペーンの以前の実行の結果と一緒に利用可能にされ得る。このようにして、試験は、スケジューリング又は周期性(「いつ」試験が実行されるか)に関してだけでなく、可変の待機時間、試験されるべきネットワーク、どんなエージェントに試験対話を送信すべきか、試験エラーもしくは他の運用パラメータに関する限度、又は試験結果をどのように報告すべきか(「どのように」試験が実行されるか)などの、特定の試験運用を制御する構成パラメータに関しても構成され得る。このようにして、さまざまな試験及び試験タイプが構成されることが可能であり、構成は、個々の試験を手動で構成することによってではなく、記憶されたキャンペーンを編集することによって変更又は維持されることが可能である。さらに、階層的な試験アプローチをもたらすためなどに、キャンペーンどうしが結び付けられることが可能であり、たとえば、「試験キャンペーンA」がある限度内の結果を返す場合、「試験キャンペーンB」を実行するが、「A」がそれらの限度を外れたものを返す場合、「試験キャンペーンC」を実行する。このようにして、独自の運用に適応可能であり得る完全に自律的な試験計画が構成されることが可能であり、人間による介入は、キャンペーン構成を変更するのに必要とされ得るだけである一方で、通常の運用は、監督されずに進行するように構成され得る。そのようなアプローチは、結果をまとめて適切な関係者に送信する(たとえば、ハードウェア障害が検出された場合、ITスタッフに知らせる)キャンペーンなどの対話型報告の可能性を開かれたままにすることも可能であること、及びそのようなレポートは、報告される内容の妥当性及び有用性を
高めるようにキャンペーンに、又は実行されている特定の試験にさえ結び付けられ得ることを理解されたい。そのような報告の挙動を、前述した試験方法(HTTPヘッダ、又は通信における他の埋め込まれたデータを利用することなど)と組み合わせることによって、レポートは、システム運用を示すだけでなく、対話の「クライアントの目で見た」眺め、すなわち、エージェントからの遅い応答時間などの、対話中に顧客が見た又は経験したことも示すことが可能であることがさらに理解されよう。このようにして、試験は、さらにいっそう妥当となることが可能であり、従来の試験運用において現れない可能性がある問題、すなわち、前述の例を続けると、試験システムが、対話中の現実の又はシミュレートされたエージェントからの迅速な応答を示した一方で、顧客が、遅い応答時間を経験している可能性があることを分離することが可能である。このことは、(たとえば)顧客とエージェントの間の通信パス中の接続又はハードウェアに伴う問題を分離するのに使用されて、より正確なシステム診断、及び運用の全体的な効率を円滑にすることが可能である。
高めるようにキャンペーンに、又は実行されている特定の試験にさえ結び付けられ得ることを理解されたい。そのような報告の挙動を、前述した試験方法(HTTPヘッダ、又は通信における他の埋め込まれたデータを利用することなど)と組み合わせることによって、レポートは、システム運用を示すだけでなく、対話の「クライアントの目で見た」眺め、すなわち、エージェントからの遅い応答時間などの、対話中に顧客が見た又は経験したことも示すことが可能であることがさらに理解されよう。このようにして、試験は、さらにいっそう妥当となることが可能であり、従来の試験運用において現れない可能性がある問題、すなわち、前述の例を続けると、試験システムが、対話中の現実の又はシミュレートされたエージェントからの迅速な応答を示した一方で、顧客が、遅い応答時間を経験している可能性があることを分離することが可能である。このことは、(たとえば)顧客とエージェントの間の通信パス中の接続又はハードウェアに伴う問題を分離するのに使用されて、より正確なシステム診断、及び運用の全体的な効率を円滑にすることが可能である。
添付の図面は、本発明のいくつかの実施形態を示し、説明と一緒になって、それらの実施形態による本発明の原理を説明する役割をする。図面に示される特定の実施形態は、例示的なものにすぎず、本発明の範囲又は本明細書における特許請求の範囲をいかなる形においても限定するものとはみなされるべきではないことが当業者には理解されよう。
本発明者は、本発明の好適な実施形態において、信頼できる自動化された試験を円滑にし、コンタクト・センタ運用を改善するためのフレキシブルでスケーラブルなアーキテクチャ及び方法からなる、チャット・ベースのコンタクト・センタ対話試験の自動化のため
のシステム及び方法を考案し、実施化した。
のシステム及び方法を考案し、実施化した。
異なる1つ又は複数の発明が、本出願において説明され得る。さらに、本明細書において説明されるそれらの発明のうちの1つ又は複数に関して、多数の代替の実施形態が説明されることが可能であり、これらは、例示の目的で提示されるにすぎず、本明細書に含まれている発明又は本明細書において提示される特許請求の範囲をいかなる形においても限定するものではないことを理解されたい。それらの発明のうちの1つ又は複数は、本開示から直ちに明白であるとおり、多数の実施形態に広く適用できることが可能である。一般に、実施形態は、当業者がそれらの発明のうちの1つ又は複数を実施することを可能にするように十分に詳細に説明され、他の実施形態が利用されてもよいこと、及びそれらの特定の発明の範囲を逸脱することなく、構造上の変更、論理上の変更、ソフトウェア変更、電気的変更、及び他の変更が行われてもよいことを理解されたい。したがって、それらの発明のうちの1つ又は複数は、さまざまな修正及び変更を伴って実施され得ることが当業者には理解されよう。本明細書において説明されるそれらの発明のうちの1つ又は複数の発明の特定の特徴が、特定の1つもしくは複数の実施形態、又は本開示の一部分を形成し、例として、それらの発明のうちの1つもしくは複数の発明の特定の実施形態が示される図を参照して説明され得る。しかし、そのような特徴は、それらの特徴を説明するのに参照される特定の1つ又は複数の実施形態又は図における用法に限定されないことを理解されたい。本開示は、それらの発明のうちの1つ又は複数の発明のすべての実施形態の逐語的な説明ではなく、すべての実施形態に存在しなければならないそれらの発明のうちの1つ又は複数の発明の特徴のリストでもない。
本特許出願において提供されるセクションの見出し、及び本特許出願の名称は、便宜的なものにすぎず、いかなる形においても本開示を限定するものと解釈されるべきではない。
互いに通信状態にあるデバイスは、他に特に明記しない限り、互いに継続的な通信状態にある必要はない。さらに、互いに通信状態にあるデバイスは、直接に、又は論理的もしくは物理的な1つもしくは複数の通信手段もしくは仲介を介して間接的に通信することが可能である。
互いに通信状態にあるいくつかの構成要素を有する実施形態の説明は、すべてのそのような構成要素が必要とされることを暗示するわけではない。それどころか、さまざまな任意選択の構成要素は、それらの発明のうちの1つ又は複数の発明の多種多様な可能な実施形態を例示し、それらの発明の1つ又は複数の態様をより完全に例示するために説明され得る。同様に、処理工程、方法工程、アルゴリズムなどは、順番に説明され得るものの、そのような処理、方法、及びアルゴリズムは一般に、そうでないことが特に明記されない限り、代替の順序で機能するように構成され得る。すなわち、本特許出願において説明され得る工程のいずれの順番又は順序も、それ自体で、それらの工程がその順序で実行されるべき必要性を示すものではない。説明される処理の工程は、現実的な任意の順序で実行され得る。さらに、いくつかの工程は、同時ではなく行われるものとして説明又は暗示されているが(たとえば、一方の工程が他方の工程の後に説明されるため)、同時に実行されてもよい。さらに、図面における図示による処理の例示は、例示される処理が、その処理の他のバリエーション及び修正を排除することを暗示するわけではなく、例示される処理、又はその処理の工程のうちのいずれかが、それらの発明のうちの1つ又は複数に必要であることを暗示するわけではなく、例示される工程が好適であることを暗示するわけでもない。また、工程は一般に、実施形態ごとに1回説明されるが、このことは、それらの工程が1回行われなければならないことを意味するわけではなく、それらの工程が、処理、方法、又はアルゴリズムが実施又は実行されるたびに1回だけ行われ得ることを意味するわけでもない。いくつかの工程は、一部の実施形態又は一部の事例において省かれるこ
とが可能であり、いくつかの工程は、所与の実施形態又は事例において複数回実行されることが可能である。
とが可能であり、いくつかの工程は、所与の実施形態又は事例において複数回実行されることが可能である。
単一のデバイス又は物品が本明細書において説明される場合、単一のデバイス又は物品の代わりに複数のデバイス又は物品が使用されてもよいことが直ちに明白となろう。同様に、複数のデバイス又は物品が本明細書において説明される場合、複数のデバイス又は物品の代わりに単一のデバイス又は物品が使用されてもよいことが直ちに明白となろう。
デバイスの機能又は特徴は、代替として、そのような機能又は特徴を有するものとして明示的に説明されない他の1つ又は複数のデバイスによって実現されてもよい。このため、それらの発明のうちの1つ又は複数の発明の他の実施形態は、そのデバイス自体を含む必要はない。
本明細書で説明又は言及される技法及び機構は、ときとして、簡明のために単数形で説明される。しかし、特定の実施形態は、他に特に明記しない限り、技法の複数回の反復、又は機構の複数のインスタンスを含むことが可能であることを理解されたい。図における処理説明又は処理ブロックは、その処理における特定の論理機能又は論理工程を実施するための1つ又は複数の実行可能命令を含むコードのモジュール、セグメント、又は部分を表すものと理解されたい。当業者には理解されるとおり、関与する機能に依存して、たとえば、機能が、実質的に同時並行で、又は逆の順序で実行されることを含め、図示又は説明される順序を外れて実行され得る代替の実施態様が、本発明の実施形態の範囲に含まれる。
定義
本明細書で使用される「チャット・クランチャ」は、試験事例情報の入力を受け取り、試験事例の実行のためにチャット・ベースの出力を生成するように設計されているソフトウェア・ベース又はハードウェア・ベースのシステムである。このようにして、チャット・クランチャは、対話を開始するために、又は対話中に受け取られた入力に応答して所定のチャット・メッセージを生成して、チャット・ベースの通信システムを介して別の個人ユーザと対話する効果を再現することによって、チャット・ベースの対話をシミュレートするのに使用され得る。
定義
本明細書で使用される「チャット・クランチャ」は、試験事例情報の入力を受け取り、試験事例の実行のためにチャット・ベースの出力を生成するように設計されているソフトウェア・ベース又はハードウェア・ベースのシステムである。このようにして、チャット・クランチャは、対話を開始するために、又は対話中に受け取られた入力に応答して所定のチャット・メッセージを生成して、チャット・ベースの通信システムを介して別の個人ユーザと対話する効果を再現することによって、チャット・ベースの対話をシミュレートするのに使用され得る。
本明細書で使用される「チャット・クラシファイア」は、チャット・ベースの対話データの流れを受信し、その流れを解析して、その流れが試験事例の一部であるか、実際の顧客対話であるかを判定するように設計されているソフトウェア・ベース又はハードウェア・ベースのシステムである。次に、チャット・クラシファイアは、試験事例データを他の試験システムに送信しながら、処理のためにコンタクト・センタ・エージェントに対話チャット・データを送信することなど、チャット・データがどのようにルーティングされるべきかを判定することが可能である。このようにして、チャット・クラシファイアは、境界実施を担って、いずれの試験データも実際のコンタクト・センタ運用と重なり合うこと又は実際のコンタクト・センタ運用の妨げとなることを防止することが可能である。
本明細書で使用される、DAEと略記される「デスクトップ自動化エンジン」は、通常、コンタクト・センタ運用中にエージェントのデスクトップ環境におけるものとして実行され得る、エージェント・デスクトップ・ソフトウェア要素とのコンタクト・センタ・エージェント対話をそのような要素の試験のためにエミュレートするために設計されたソフトウェア・ベースのシステムである。このようにして、デスクトップ自動化エンジンは、専用の又は特化されたデスクトップが試験目的で特別に構成されることを必要とするのではなく、既存のエージェント・デスクトップ上でそのデスクトップ環境の標準の要素と対話するように構成され得る。
ハードウェア・アーキテクチャ
一般に、本明細書で開示される技法は、ハードウェア上で、又はソフトウェアとハードウェアの組合せの上で実施され得る。たとえば、それらの技法は、オペレーティング・システム・カーネル内で、別個のユーザ処理内で、ネットワーク・アプリケーションへと結び付けられたライブラリ・パッケージ内で、特別に構築されたマシン上で、特定用途向け集積回路(ASIC)上で、又はネットワーク・インターフェース・カード上で実施され得る。
ハードウェア・アーキテクチャ
一般に、本明細書で開示される技法は、ハードウェア上で、又はソフトウェアとハードウェアの組合せの上で実施され得る。たとえば、それらの技法は、オペレーティング・システム・カーネル内で、別個のユーザ処理内で、ネットワーク・アプリケーションへと結び付けられたライブラリ・パッケージ内で、特別に構築されたマシン上で、特定用途向け集積回路(ASIC)上で、又はネットワーク・インターフェース・カード上で実施され得る。
本明細書で開示される実施形態のうちの少なくともいくつかの実施形態のソフトウェア/ハードウェア・ハイブリッド実施態様は、メモリの中に記憶されたコンピュータ・プログラムによって選択的にアクティブ化又は再構成されるプログラム可能なネットワーク常駐型マシン(間断的に接続されるネットワークを認識するマシンを含むものと理解されたい)の上で実施され得る。そのようなネットワーク・デバイスは、さまざまなタイプのネットワーク通信プロトコルを利用するように構成又は設計されることが可能な複数のネットワーク・インターフェースを有し得る。これらのマシンのうちのいくつかに関する一般的なアーキテクチャは、機能の所与のユニットを実施することができる例示的な1つ又は複数の手段を示すために本明細書で説明され得る。特定の実施形態によれば、本明細書で開示されるさまざまな実施形態の特徴又は機能のうちの少なくともいくつかは、たとえば、エンド・ユーザ・コンピュータ・システム、クライアント・コンピュータ、ネットワーク・サーバもしくは他のサーバ・システム、モバイル・コンピューティング・デバイス(たとえば、タブレット・コンピューティング・デバイス、モバイル電話、スマートフォン、ラップトップ、もしくは他の適切なコンピューティング・デバイス)、家庭用電子デバイス、ミュージック・プレーヤ、もしくは他の任意の適切な電子デバイス、ルータ、スイッチ、もしくは他の適切なデバイス、又はそれらの任意の組合せなど、1つ又は複数のネットワークに関連付けられた1つ又は複数の汎用コンピュータ上で実施され得る。少なくともいくつかの実施形態において、本明細書で開示されるさまざまな実施形態の特徴又は機能のうちの少なくともいくつかは、1つ又は複数の仮想化されたコンピューティング環境(たとえば、ネットワーク・コンピューティング・クラウド、1つ又は複数の物理的コンピューティング・マシン上でホストされる仮想マシン、又は他の適切な仮想環境)において実施され得る。
次に図10を参照すると、本明細書で開示される特徴又は機能の少なくとも一部分を実施するのに適した例示的なコンピューティング・デバイス10を示すブロック図が示されている。コンピューティング・デバイス10は、たとえば、前段にリストアップされているコンピューティング・マシンのうちのいずれか1つ、又は実際には、メモリの中に記憶された1つ又は複数のプログラムに従ってソフトウェア・ベース又はハードウェア・ベースの命令を実行することができる他の任意の電子デバイスであることが可能である。コンピューティング・デバイス10は、ワイド・エリア・ネットワーク、メトロポリタン・エリア・ネットワーク、ローカル・エリア・ネットワーク、ワイヤレス・ネットワーク、インターネット、又は他の任意のネットワークなどの通信ネットワークを介して、クライアント又はサーバなどの複数の他のコンピューティング・デバイスと通信することを、ワイヤレスであるか有線であるかを問わず、そのような通信のための知られているプロトコルを使用して行うように構成されることが可能である。
1実施形態において、コンピューティング・デバイス10は、1つ又は複数の中央処理装置(CPU)12と、1つ又は複数のインターフェース15と、1つ又は複数のバス14(ペリフェラル・コンポーネント・インターコネクト(PCI)バスなど)とを含む。適切なソフトウェア又はファームウェアの制御下で動作している場合、CPU12は、特別に構成されたコンピューティング・デバイス又はコンピューティング・マシンの機能に関連する特定の機能を実施することを担い得る。たとえば、少なくとも1つの実施形態において、コンピューティング・デバイス10は、CPU12、ローカル・メモリ11及び
/又は遠隔メモリ16、ならびにインターフェース15を利用してサーバ・システムとして機能するように構成又は設計されることが可能である。少なくとも1つの実施形態において、CPU12は、たとえば、オペレーティング・システム、及び任意の適切なアプリケーション・ソフトウェア、ドライバなどを含み得るソフトウェア・モジュール又はソフトウェア・コンポーネントの制御下でそれらのさまざまなタイプの機能及び/又は動作のうちの1つ又は複数を実行するようにさせられ得る。
/又は遠隔メモリ16、ならびにインターフェース15を利用してサーバ・システムとして機能するように構成又は設計されることが可能である。少なくとも1つの実施形態において、CPU12は、たとえば、オペレーティング・システム、及び任意の適切なアプリケーション・ソフトウェア、ドライバなどを含み得るソフトウェア・モジュール又はソフトウェア・コンポーネントの制御下でそれらのさまざまなタイプの機能及び/又は動作のうちの1つ又は複数を実行するようにさせられ得る。
CPU12は、たとえば、インテル社(Intel)系、ARM社系、クアルコム社(Qualcomm)系、及びAMD社系のマイクロプロセッサのうちの1つからのプロセッサなどの1つ又は複数のプロセッサ13を含み得る。いくつかの実施形態において、プロセッサ13は、コンピューティング・デバイス10の動作を制御するための特定用途向け集積回路(ASIC)、電気的に消去可能なプログラマブル読取り専用メモリ(EEPROM)、フィールド・プログラマブル・ゲート・アレイ(FPGA)などの特別に設計されたハードウェアを含み得る。特定の実施形態において、ローカル・メモリ11(たとえば、1つ又は複数のレベルのキャッシュ・メモリを含む、不揮発性ランダム・アクセス・メモリ(RAM)及び/又は読取り専用メモリ(ROM)など)が、CPU12の一部分を形成することも可能である。しかし、メモリがシステム10に結合され得る多くの異なる方法が存在する。メモリ11は、たとえば、データ、プログラミング命令などをキャッシュすること及び/又は記憶することなどのさまざまな目的で使用され得る。CPU12は、モバイル・デバイス又は統合デバイスにおいて使用するためなどに当技術分野においてますます一般的になっているクアルコム社(Qualcomm)のSNAPDRAGON(商標)又はサムスン社(Samsung)のEXYNOS(商標)のCPUなど、メモリ・チップ又はグラフィックス処理チップなどのさらなるハードウェアを含むことができる多様なシステムオンアチップ(SOC)タイプのハードウェアのうちの1つであることが可能であることをさらに理解されたい。
本明細書で使用される際には、「プロセッサ」という用語は、当技術分野においてプロセッサ、モバイル・プロセッサ、又はマイクロプロセッサと呼ばれる集積回路だけに限定されず、マイクロコントローラ、マイクロコンピュータ、プログラマブル論理コントローラ、特定用途向け集積回路、及び他の任意のプログラマブル回路を広く指す。
1実施形態において、インターフェース15は、ネットワーク・インターフェース・カード(NIC)として提供される。一般に、NICは、コンピュータ・ネットワークを介したデータ・パケットの送信及び受信を制御し、他のタイプのインターフェース15が、たとえば、コンピューティング・デバイス10と一緒に使用される他の周辺装置をサポートすることが可能である。提供され得るインターフェースの中には、イーサネット・インターフェース、フレーム・リレー・インターフェース、ケーブル・インターフェース、DSLインターフェース、トークン・リング・インターフェース、グラフィックス・インターフェースなどがある。さらに、たとえば、ユニバーサル・シリアル・バス(USB)、シリアル、イーサネット、FIREWIRE(商標)、THUNDERBOLT(商標)、PCI、パラレル、無線周波数(RF)、BLUETOOTH(商標)、近距離通信(たとえば、近傍磁気を使用する)、802.11(WiFi)、フレーム・リレー、TCP/IP、ISDN、高速イーサネット・インターフェース、ギガビット・イーサネット・インターフェース、シリアルATA(SATA)又は外部SATA(ESATA)インターフェース、高精細マルチメディア・インターフェース(HDMI)、デジタル・ビジュアル・インターフェース(DVI)、アナログ又はデジタル・オーディオ・インターフェース、非同期転送モード(ATM)インターフェース、高速シリアル・インターフェース(HSSI)インターフェース、販売時点(POS)インターフェース、ファイバ・データ分散インターフェース(FDDI)などのさまざまなタイプのインターフェースが提供され得る。一般に、そのようなインターフェース15は、適切な媒体と通信するのに適
した物理ポートを含み得る。いくつかの事例において、それらのインターフェース15は、独立したプロセッサ(ハイファイA/Vハードウェア・インターフェースに関する技術分野において一般的である専用のオーディオ・プロセッサ又はビデオ・プロセッサなど)を含むことも可能であり、いくつかの実例において、揮発性メモリ及び/又は不揮発性メモリ(たとえば、RAM)を含むことも可能である。
した物理ポートを含み得る。いくつかの事例において、それらのインターフェース15は、独立したプロセッサ(ハイファイA/Vハードウェア・インターフェースに関する技術分野において一般的である専用のオーディオ・プロセッサ又はビデオ・プロセッサなど)を含むことも可能であり、いくつかの実例において、揮発性メモリ及び/又は不揮発性メモリ(たとえば、RAM)を含むことも可能である。
図10に示されるシステムは、本明細書で説明される発明のうちの1つ又は複数を実施するためのコンピューティング・デバイス10に関する特定の1つのアーキテクチャを示すものの、このアーキテクチャは、本明細書で説明される特徴又は技法の少なくとも一部分が実施され得る唯一のデバイス・アーキテクチャでは決してない。たとえば、1つ又は任意の数のプロセッサ13を有するアーキテクチャが使用されることが可能であり、そのようなプロセッサ13は、単一のデバイス内に存在すること、又は任意の数のデバイスの間に分散されることが可能である。1実施形態においては、単一のプロセッサ13が、通信ならびにルーティング計算を扱う一方で、他の実施形態においては、別個の専用通信プロセッサが提供されることが可能である。さまざまな実施形態において、さまざまなタイプの特徴又は機能が、クライアント・デバイス(クライアント・ソフトウェアを実行しているタブレット・デバイス又はスマートフォンなど)及びサーバ・システム(以降でさらに詳細に説明されるサーバ・システムなど)を含む本発明によるシステムにおいて実施され得る。
ネットワーク・デバイス構成を問わず、本発明のシステムは、データ、汎用ネットワーク動作のためのプログラム命令、又は本明細書で説明される実施形態の機能と関連する他の情報(又は上記の任意の組合せ)を記憶するように構成された1つ又は複数のメモリ又はメモリ・モジュール(たとえば、遠隔メモリ・ブロック16及びローカル・メモリ11など)を採用することが可能である。プログラム命令は、たとえば、オペレーティング・システム及び/もしくは1つもしくは複数のアプリケーションの実行を制御すること、又はオペレーティング・システム及び/もしくは1つもしくは複数のアプリケーションを構成することが可能である。メモリ16又はメモリ11、16が、データ構造、構成データ、暗号化データ、履歴上のシステム動作情報、又は本明細書で説明される他の任意の特定のもしくは一般的な非プログラム情報を記憶するように構成されることも可能である。
そのような情報及びプログラム命令は、本明細書で説明される1つ又は複数のシステム又は方法を実施するのに採用され得るため、少なくともいくつかのネットワーク・デバイス実施形態は、たとえば、本明細書で説明されるさまざまな動作を実行するためのプログラム命令、状態情報などを記憶するように構成又は設計されることが可能な非一時的なマシン可読記憶媒体を含み得る。そのような非一時的なマシン可読記憶媒体の例には、ハード・ディスク、フロッピー・ディスク、及び磁気テープなどの磁気媒体、CD−ROMディスクなどの光媒体、光ディスクなどの光磁気媒体、ならびに、読取り専用メモリ・デバイス(ROM)、フラッシュ・メモリ(モバイル・デバイス及び統合システムにおいて一般的である)、ソリッド・ステート・ドライブ(SSD)、及びソリッド・ステート・ドライブとハード・ディスク・ドライブの物理的な構成要素どうしを単一のハードウェア・デバイスにおいて結合することができる「ハイブリッドSSD」ストレージ・ドライブ(パーソナル・コンピュータに関する技術分野においてますます一般的になっている)、メモリスタ・メモリ、ランダム・アクセス・メモリ(RAM)など、プログラム命令を記憶及び実行するように特別に構成されているハードウェア・デバイスが含まれるが、それらには限定されない。そのような記憶手段は、一体型で取り外し不能(マザーボード上にはんだ付けされること、もしくはその他の形で電子デバイス内に統合されることが可能であるRAMハードウェア・モジュールなど)とすることができ、又はそれらは、スワップ可能なフラッシュ・メモリ・モジュール(「サム・ドライブ」、もしくは、物理的なストレージ・デバイスどうしを迅速に交換するように設計されている他の取り外し可能な媒体な
ど)、「ホットスワップ可能な」ハード・ディスク・ドライブもしくはソリッド・ステート・ドライブ、取り外し可能な光ストレージ・ディスク、もしくは他のそのような取り外し可能な媒体など、取り外し可能とすることができること、ならびにそのような一体型の記憶媒体及び取り外し可能な記憶媒体は、交換可能に利用されることが可能であることを理解されたい。プログラム命令の例には、コンパイラによって生成され得るようなオブジェクト・コード、アセンブラもしくはリンカによって生成され得るようなマシン・コード、たとえばJAVA(商標)コンパイラによって生成されることが可能であり、Java仮想マシンもしくは均等物を使用して実行されることが可能なバイト・コード、又はインタープリタを使用してコンピュータによって実行され得るさらに高いレベルのコード(たとえば、Python、Perl、Ruby、Groovy、又は他の任意のスクリプト言語で書かれるスクリプト)を包含するファイルがともに含まれる。
ど)、「ホットスワップ可能な」ハード・ディスク・ドライブもしくはソリッド・ステート・ドライブ、取り外し可能な光ストレージ・ディスク、もしくは他のそのような取り外し可能な媒体など、取り外し可能とすることができること、ならびにそのような一体型の記憶媒体及び取り外し可能な記憶媒体は、交換可能に利用されることが可能であることを理解されたい。プログラム命令の例には、コンパイラによって生成され得るようなオブジェクト・コード、アセンブラもしくはリンカによって生成され得るようなマシン・コード、たとえばJAVA(商標)コンパイラによって生成されることが可能であり、Java仮想マシンもしくは均等物を使用して実行されることが可能なバイト・コード、又はインタープリタを使用してコンピュータによって実行され得るさらに高いレベルのコード(たとえば、Python、Perl、Ruby、Groovy、又は他の任意のスクリプト言語で書かれるスクリプト)を包含するファイルがともに含まれる。
いくつかの実施形態において、本発明によるシステムは、スタンドアロンのコンピューティング・システム上で実施され得る。次に図11を参照すると、スタンドアロンのコンピューティング・システム上の1つ又は複数の実施形態又はそれらの構成要素の典型的な例示的なアーキテクチャを示すブロック図が示されている。コンピューティング・デバイス20は、たとえばクライアント・アプリケーション24など、本発明の実施形態の1つ又は複数の機能又はアプリケーションを実行するソフトウェアを実行することが可能なプロセッサ21を含む。プロセッサ21は、たとえば、マイクロソフト社(Microsoft)のWINDOWS(商標)オペレーティング・システムのバージョン、アップル社(Apple)のMac OS/XもしくはiOSオペレーティング・システム、なんらかの種類のLinuxオペレーティング・システム、グーグル社(Google)のANDROID(商標)オペレーティング・システムなどのオペレーティング・システム22の制御下でコンピューティング命令を実行することが可能である。多くの事例において、1つ又は複数の共有されるサービス23が、システム20において動作可能であることが可能であり、クライアント・アプリケーション24に共通サービスを提供するために役立ち得る。サービス23は、たとえば、WINDOWS(商標)サービス、Linux環境におけるユーザ空間共通サービス、又はオペレーティング・システム22と一緒に使用される他の任意のタイプの共通サービス・アーキテクチャであり得る。入力デバイス28は、たとえば、キーボード、タッチスクリーン、マイクロフォン(たとえば、音声入力のための)、マウス、タッチパッド、トラックボール、又はそれらの任意の組合せを含む、ユーザ入力を受け取るのに適した任意のタイプのものであり得る。出力デバイス27は、システム20にとって遠隔であるかローカルであるかにかかわらず、1名又は複数名のユーザに出力を提供するのに適した任意のタイプのものであることが可能であり、たとえば、視覚出力のための1つ又は複数の画面、スピーカ、プリンタ、又はそれらの任意の組合せを含むことが可能である。メモリ25は、たとえばソフトウェアを実行するためにプロセッサ21によって使用するための、当技術分野で知られている任意の構造及びアーキテクチャを有するランダム・アクセス・メモリであり得る。ストレージ・デバイス26は、データをデジタル形態で記憶するための任意の磁気ストレージ・デバイス、光ストレージ・デバイス、機械ストレージ・デバイス、メモリスタ・ストレージ・デバイス、又は電気ストレージ・デバイス(図10を参照して上述したものなど)であり得る。ストレージ・デバイス26の例には、フラッシュ・メモリ、磁気ハード・ドライブ、CD−ROMなどが含まれる。
いくつかの実施形態において、本発明のシステムは、任意の数のクライアント及び/又はサーバを有するものなどの分散コンピューティング・ネットワーク上で実施され得る。次に図12を参照すると、分散コンピューティング・ネットワーク上で本発明の実施形態によるシステムの少なくとも一部分を実施するための例示的なアーキテクチャ30を示すブロック図が示されている。この実施形態によれば、任意の数のクライアント33が提供され得る。各クライアント33は、本発明のクライアント側部分を実施するためのソフト
ウェアを実行することが可能であり、クライアントは、図11に示されるようなシステム20からなることが可能である。さらに、任意の数のサーバ32が、1つ又は複数のクライアント33から受信された要求を扱うために提供され得る。クライアント33とサーバ32は、1つ又は複数の電子ネットワーク31を介して互いに通信することが可能であり、電子ネットワーク31は、さまざまな実施形態において、インターネット、ワイド・エリア・ネットワーク、モバイル電話ネットワーク(CDMA又はGSMセルラー・ネットワークなど)、ワイヤレス・ネットワーク(WiFi、Wimax、LTEなど)、又はローカル・エリア・ネットワークのうちのいずれか(又は実際には、当技術分野において知られている任意のネットワーク・トポロジ、すなわち、本発明は、いずれか1つのネットワーク・トポロジを他のいずれかのトポロジよりも選好するわけではない)であり得る。ネットワーク31は、たとえば有線プロトコル及び/又はワイヤレス・プロトコルを含め、任意の知られているネットワーク・プロトコルを使用して実施され得る。
ウェアを実行することが可能であり、クライアントは、図11に示されるようなシステム20からなることが可能である。さらに、任意の数のサーバ32が、1つ又は複数のクライアント33から受信された要求を扱うために提供され得る。クライアント33とサーバ32は、1つ又は複数の電子ネットワーク31を介して互いに通信することが可能であり、電子ネットワーク31は、さまざまな実施形態において、インターネット、ワイド・エリア・ネットワーク、モバイル電話ネットワーク(CDMA又はGSMセルラー・ネットワークなど)、ワイヤレス・ネットワーク(WiFi、Wimax、LTEなど)、又はローカル・エリア・ネットワークのうちのいずれか(又は実際には、当技術分野において知られている任意のネットワーク・トポロジ、すなわち、本発明は、いずれか1つのネットワーク・トポロジを他のいずれかのトポロジよりも選好するわけではない)であり得る。ネットワーク31は、たとえば有線プロトコル及び/又はワイヤレス・プロトコルを含め、任意の知られているネットワーク・プロトコルを使用して実施され得る。
さらに、いくつかの実施形態において、サーバ32は、さらなる情報を獲得するのに、又は特定のコールに関するさらなるデータを参照するのに必要とされる場合、外部サービス37を呼び出すことが可能である。外部サービス37との通信は、たとえば、1つ又は複数のネットワーク31を介して行われ得る。さまざまな実施形態において、外部サービス37は、ハードウェア・デバイス自体に関連した、又はハードウェア・デバイス自体にインストールされたウェブ対応のサービス又は機能からなることが可能である。たとえば、クライアント・アプリケーション24がスマートフォン又は他の電子デバイスの上で実施される実施形態において、クライアント・アプリケーション24は、クラウド内のサーバ・システム32に、又は特定の企業のもしくは特定のユーザの敷地のうちの1つもしくは複数に展開された外部サービス37上に記憶された情報を獲得することが可能である。
本発明のいくつかの実施形態において、クライアント33又はサーバ32(又はその両方)は、1つ又は複数のネットワーク31にわたってローカルで又は遠隔で展開され得る特化された1つ又は複数のサービス又は機器を利用することが可能である。たとえば、1つ又は複数のデータベース34が、本発明の1つ又は複数の実施形態によって使用又は参照されることが可能である。データベース34は、多種多様なアーキテクチャにおいて、多種多様なデータ・アクセス及び操作手段を使用して構成され得ることを当業者なら理解するはずである。たとえば、さまざまな実施形態において、1つ又は複数のデータベース34は、構造化照会言語(SQL)を使用するリレーショナル・データベース・システムからなることが可能である一方で、他のデータベース34は、当技術分野において「NoSQL」と呼ばれるもの(たとえば、Hadoop Cassandra、Google
BigTable等)などの代替のデータ・ストレージ技術からなることが可能である。いくつかの実施形態において、異なるデータベース・アーキテクチャ、たとえば、列指向データベース、インメモリ・データベース、クラスタ化データベース、分散データベース、又はフラット・ファイル・データ・リポジトリさえ、本発明に従って使用されてもよい。本明細書における特定の実施形態のために特定のデータベース技術、又は構成要素の特定の構成が指定されない限り、知られている又は将来のデータベース技術の任意の組合せが適宜使用されてもよいことが当業者には理解されよう。さらに、本明細書で使用される「データベース」という用語は、物理的データベース・マシン、単一のデータベース・システムとして動作するマシンのクラスタ、又は全体的なデータベース管理システム内の論理データベースを指すことが可能であることを理解されたい。「データベース」という用語の所与の使用に関して特定の意味が指定されない限り、「データベース」という用語は、この語のこれらの意味のいずれかを意味するものと解釈されるべきであり、これらの意味はすべて、当業者によって「データベース」という用語の平明な意味として理解される。
BigTable等)などの代替のデータ・ストレージ技術からなることが可能である。いくつかの実施形態において、異なるデータベース・アーキテクチャ、たとえば、列指向データベース、インメモリ・データベース、クラスタ化データベース、分散データベース、又はフラット・ファイル・データ・リポジトリさえ、本発明に従って使用されてもよい。本明細書における特定の実施形態のために特定のデータベース技術、又は構成要素の特定の構成が指定されない限り、知られている又は将来のデータベース技術の任意の組合せが適宜使用されてもよいことが当業者には理解されよう。さらに、本明細書で使用される「データベース」という用語は、物理的データベース・マシン、単一のデータベース・システムとして動作するマシンのクラスタ、又は全体的なデータベース管理システム内の論理データベースを指すことが可能であることを理解されたい。「データベース」という用語の所与の使用に関して特定の意味が指定されない限り、「データベース」という用語は、この語のこれらの意味のいずれかを意味するものと解釈されるべきであり、これらの意味はすべて、当業者によって「データベース」という用語の平明な意味として理解される。
同様に、本発明のほとんどの実施形態は、1つ又は複数のセキュリティ・システム36
及び構成システム35を利用することが可能である。セキュリティ及び構成管理は、一般的な情報技術(IT)機能及びウェブ機能であり、それぞれのいくらかの量が一般に、いずれかのITシステム又はウェブ・システムに関連付けられている。特定のセキュリティ・システム36又は構成システム35又はアプローチが、いずれかの特定の実施形態の説明によって特に必要とされるのでない限り、当技術分野において現在知られている、又は将来知られる任意の構成サブシステム又はセキュリティ・サブシステムが、限定なしに本発明の実施形態と連携して使用され得ることを当業者なら理解するはずである。
及び構成システム35を利用することが可能である。セキュリティ及び構成管理は、一般的な情報技術(IT)機能及びウェブ機能であり、それぞれのいくらかの量が一般に、いずれかのITシステム又はウェブ・システムに関連付けられている。特定のセキュリティ・システム36又は構成システム35又はアプローチが、いずれかの特定の実施形態の説明によって特に必要とされるのでない限り、当技術分野において現在知られている、又は将来知られる任意の構成サブシステム又はセキュリティ・サブシステムが、限定なしに本発明の実施形態と連携して使用され得ることを当業者なら理解するはずである。
図13は、システム全体を通じたさまざまなロケーションのうちのいずれにおいても使用されることが可能であるコンピュータ・システム40の例示的な概観を示している。これは、データを処理するためにコードを実行することができる任意のコンピュータを例示したものである。本明細書において開示されているシステム及び方法のさらに広い範囲から逸脱することなく、コンピュータ・システム40に対してさまざまな修正及び変更を行うことができる。中央プロセッサ・ユニット(CPU)41が、バス42に接続されており、そのバスにはまた、メモリ43、不揮発性メモリ44、ディスプレイ47、入力/出力(I/O)ユニット48、及びネットワーク・インターフェース・カード(NIC)53が接続されている。I/Oユニット48は、典型的には、キーボード49、ポインティング・デバイス50、ハード・ディスク52、及びリアルタイム・クロック51に接続されることが可能である。NIC53は、ネットワーク54に接続しており、ネットワーク54は、インターネット又はローカル・ネットワークであることが可能であり、そのローカル・ネットワークは、インターネットへの接続を有することも有さないことも可能である。また、システム40の一部として示されているのは、電源ユニット45であり、電源ユニット45は、この例においては、メイン交流(AC)電源46に接続されている。示されていないのは、存在することが可能であるバッテリーと、よく知られているが、本明細書において開示されている現在のシステム及び方法の特定の新規な機能に適用可能ではない他の多くのデバイス及び修正とである。示されているいくつかの又はすべての構成要素は、さまざまな統合された用途、たとえばクアルコム社(Qualcomm)又はサムスン社(Samsung)のシステムオンアチップ(SOC)デバイスにおいて、又は複数の性能もしくは機能を単一のハードウェア・デバイス内に(たとえば、スマートフォンやビデオ・ゲーム・コンソールなどのモバイル・デバイス、自動車内のナビゲーション・システムもしくはマルチメディア・システムなどの車載コンピュータ・システム、もしくは他の統合されたハードウェア・デバイスにおいて)結合することが適切である可能性がある場合には常に、といった具合に結合されることが可能であるということを理解されたい。
さまざまな実施形態において、本発明のシステム又は方法を実施するための機能が、任意の数のクライアント構成要素及び/又はサーバ構成要素の間で分散されることが可能である。たとえば、さまざまなソフトウェア・モジュールが、本発明に関連してさまざまな機能を実行するために実施されることが可能であり、そのようなモジュールは、サーバ構成要素及び/又はクライアント構成要素上で実行されるようにさまざまに実施されることが可能である。
概念上のアーキテクチャ
図1は、本発明の好適な実施形態による、ヘッドレス・ウェブ対話試験のための例示的なシステム・アーキテクチャ100を示すブロック図である。図示されるとおり、コンタクト・センタ100が、試験事例の始まり又は起点の役割をすることが可能な試験事例管理(TCM)プラットフォーム101を実施することが可能である。TCMプラットフォーム101は、自動的に動作することが可能であり、又は任意選択で、試験事例の操作、及び試験データベース102の中に記憶され得る試験結果レポートの閲覧のためのグラフィカル・ユーザ・インターフェースを介した人間の対話を受け付けることが可能である。試験が実行されると、TCMプラットフォーム101は、対話マネージャ103及びCC
Mプラットフォーム110を用いて試験事例を開始し、すると、対話マネージャ103及びCCMプラットフォーム110はそれぞれ、各自の自動化された試験処理を開始することが可能である。対話マネージャ103は、インターネット又は他のデータ通信ネットワーク106を介してデータを送受信するようにウェブ・サーバ104を介して動作する複数の「ヘッドレス」ブラウザ(すなわち、直接のユーザ入力を伴わずに自動化されたように動作するブラウザ)105の動作を指示することが可能である一方で、CCMプラットフォーム110は、適切な場合には、データ要求を受信して応答することが可能な仮想コンタクト・センタ・エージェント111を同様にシミュレートすることが可能である(たとえば、多くのウェブ要求が、通常の運用及び試験運用の両方の間にウェブ・サーバによって扱われることが可能であるが、いくつかの対話は通常、エージェントを必要とする場合があり、したがって、シミュレートされた仮想エージェントによって扱われることが可能である)。ヘッドレス・ブラウザ105によってデータ・ネットワーク106を介して送信されたデータ要求が、ルータ107によって受信されて処理されることが可能であり、ルータ107は、データ・ネットワーク106を介して顧客からの要求を対話サーバ108に、エージェントからの要求を顧客に転送することが可能である。対話サーバ108は、対話クラシファイア109を用いてデータ要求を検証することが可能であり、対話クラシファイア109は、要求を試験事例又は実際のコンタクト・センタ運用の一部として識別して、処理プロトコルを決定することが可能である。要求が試験事例の一部分であると判定された場合、対話サーバ108は、次に試験事例処理に進むことが可能である。要求がルータ107からのインバウンドである場合、その要求は、仮想エージェント111によって扱われるようにCCMプラットフォーム110に転送されることが可能であり、又はその要求が仮想エージェント111からのアウトバウンド要求である場合、その要求は、データ・ネットワーク106を介してヘッドレス・ブラウザ105に送信されるようにルータ107に送られることが可能である。仮想エージェント111は、対話サーバ108と直接に対話することによって、又は試験事例の特定の性質に応じて現実の又はシミュレートされたエージェント・デスクトップ環境と自動的に対話することによって動作することが可能である。試験事例の実行中及び/又は実行後に、TCMプラットフォーム101を介してユーザによって後で閲覧する目的で記憶されるべき試験レポートの作成のために、データがCCMプラットフォーム110又は対話マネージャ103によってデータベース102の中に記憶され得る。このようにして、試験事例内のデータ要求の流れは双方向であり、すなわち、要求は、データ・フローの厳密なパターン又はリズムを必要とすることなしに、ヘッドレス・ブラウザ105からシミュレートされたエージェント111に、及びその逆に、絶え間なく非同期で送信されることが可能であることが理解されよう。このようにして、応答を送信するのをエージェントが待つ間に複数のチャット要求を顧客が送信すること、又は顧客が待つ間に複数の要求をエージェントが送信することをシミュレートすることが可能であることが理解されよう。そのような事例は、実際に一般的であり、このようにして、試験事例は、より妥当で信頼できる試験データのために実際のコンタクト・センタ運用をより正確にシミュレートすることが可能である。
概念上のアーキテクチャ
図1は、本発明の好適な実施形態による、ヘッドレス・ウェブ対話試験のための例示的なシステム・アーキテクチャ100を示すブロック図である。図示されるとおり、コンタクト・センタ100が、試験事例の始まり又は起点の役割をすることが可能な試験事例管理(TCM)プラットフォーム101を実施することが可能である。TCMプラットフォーム101は、自動的に動作することが可能であり、又は任意選択で、試験事例の操作、及び試験データベース102の中に記憶され得る試験結果レポートの閲覧のためのグラフィカル・ユーザ・インターフェースを介した人間の対話を受け付けることが可能である。試験が実行されると、TCMプラットフォーム101は、対話マネージャ103及びCC
Mプラットフォーム110を用いて試験事例を開始し、すると、対話マネージャ103及びCCMプラットフォーム110はそれぞれ、各自の自動化された試験処理を開始することが可能である。対話マネージャ103は、インターネット又は他のデータ通信ネットワーク106を介してデータを送受信するようにウェブ・サーバ104を介して動作する複数の「ヘッドレス」ブラウザ(すなわち、直接のユーザ入力を伴わずに自動化されたように動作するブラウザ)105の動作を指示することが可能である一方で、CCMプラットフォーム110は、適切な場合には、データ要求を受信して応答することが可能な仮想コンタクト・センタ・エージェント111を同様にシミュレートすることが可能である(たとえば、多くのウェブ要求が、通常の運用及び試験運用の両方の間にウェブ・サーバによって扱われることが可能であるが、いくつかの対話は通常、エージェントを必要とする場合があり、したがって、シミュレートされた仮想エージェントによって扱われることが可能である)。ヘッドレス・ブラウザ105によってデータ・ネットワーク106を介して送信されたデータ要求が、ルータ107によって受信されて処理されることが可能であり、ルータ107は、データ・ネットワーク106を介して顧客からの要求を対話サーバ108に、エージェントからの要求を顧客に転送することが可能である。対話サーバ108は、対話クラシファイア109を用いてデータ要求を検証することが可能であり、対話クラシファイア109は、要求を試験事例又は実際のコンタクト・センタ運用の一部として識別して、処理プロトコルを決定することが可能である。要求が試験事例の一部分であると判定された場合、対話サーバ108は、次に試験事例処理に進むことが可能である。要求がルータ107からのインバウンドである場合、その要求は、仮想エージェント111によって扱われるようにCCMプラットフォーム110に転送されることが可能であり、又はその要求が仮想エージェント111からのアウトバウンド要求である場合、その要求は、データ・ネットワーク106を介してヘッドレス・ブラウザ105に送信されるようにルータ107に送られることが可能である。仮想エージェント111は、対話サーバ108と直接に対話することによって、又は試験事例の特定の性質に応じて現実の又はシミュレートされたエージェント・デスクトップ環境と自動的に対話することによって動作することが可能である。試験事例の実行中及び/又は実行後に、TCMプラットフォーム101を介してユーザによって後で閲覧する目的で記憶されるべき試験レポートの作成のために、データがCCMプラットフォーム110又は対話マネージャ103によってデータベース102の中に記憶され得る。このようにして、試験事例内のデータ要求の流れは双方向であり、すなわち、要求は、データ・フローの厳密なパターン又はリズムを必要とすることなしに、ヘッドレス・ブラウザ105からシミュレートされたエージェント111に、及びその逆に、絶え間なく非同期で送信されることが可能であることが理解されよう。このようにして、応答を送信するのをエージェントが待つ間に複数のチャット要求を顧客が送信すること、又は顧客が待つ間に複数の要求をエージェントが送信することをシミュレートすることが可能であることが理解されよう。そのような事例は、実際に一般的であり、このようにして、試験事例は、より妥当で信頼できる試験データのために実際のコンタクト・センタ運用をより正確にシミュレートすることが可能である。
当技術分野におけるウェブ試験のための従来のアプローチは、HP LOADRUNNER(商標)などの自動化技術を利用しており、ユーザは、ウェブ・ブラウザ・アプリケーションを始動し、次いで自動化アプリケーションを始動し、自動化アプリケーションは、プロキシとして機能することができる。次いでユーザは、手動で自分のブラウザと対話し、自動化アプリケーションは、その対話をその後の再現のために記録する。このアプローチは、手動のユーザ対話を必要とし、したがって、労力及び時間の両方の点でのさらなるコスト、ならびに人間によるエラーに起因する失敗の可能性をもたらす。誤りが生じた場合には、その誤りは、対話の記録全体を台無しにする可能性があり、気づかれずに進行して、その記録された対話に依拠するその後の試験事例に影響を及ぼす可能性がある。
この実施形態によれば、自動化されたウェブ試験のための新たなアプローチが、プログ
ラム式のアプローチを利用することができ、ユーザは、要求と、手動の対話を伴わずに、ならびに対話を記録及び再現する必要性を伴わずに機能するヘッドレス・ブラウザによって使用するためのパラメータとを入力することができる。ヘッドレス・ブラウザ105は、対話マネージャ103によって、事前に定義された方法又はアルゴリズム(たとえば、新たな試験事例を開始する際にデータベース102内の記憶されている試験事例構成からロードされることが可能である)を使用して、予測可能な及び構成可能なように運用を自動化するようにプログラムに従って指示されることが可能である。このようにして、バックエンド・プロトコル通信を再現するのではなく、ヘッドレス・ブラウザは、顧客が行うであろうのとまったく同様にウェブ・インターフェースと直接に対話する。ヘッドレス構成に起因して、構成がサーバ上にロードされることが可能であり、多くのブラウザ・インスタンスが同時に機能することが可能である。ヘッドレス試験のための例示的な方法について、以降で図2及び図3を参照して説明する。
ラム式のアプローチを利用することができ、ユーザは、要求と、手動の対話を伴わずに、ならびに対話を記録及び再現する必要性を伴わずに機能するヘッドレス・ブラウザによって使用するためのパラメータとを入力することができる。ヘッドレス・ブラウザ105は、対話マネージャ103によって、事前に定義された方法又はアルゴリズム(たとえば、新たな試験事例を開始する際にデータベース102内の記憶されている試験事例構成からロードされることが可能である)を使用して、予測可能な及び構成可能なように運用を自動化するようにプログラムに従って指示されることが可能である。このようにして、バックエンド・プロトコル通信を再現するのではなく、ヘッドレス・ブラウザは、顧客が行うであろうのとまったく同様にウェブ・インターフェースと直接に対話する。ヘッドレス構成に起因して、構成がサーバ上にロードされることが可能であり、多くのブラウザ・インスタンスが同時に機能することが可能である。ヘッドレス試験のための例示的な方法について、以降で図2及び図3を参照して説明する。
この実施形態に従って例示されるとおり、試験事例が実行されている間、通常の運用がコンタクト・センタ100内で中断されることなく続くことが可能である。顧客120は、試験事例からの顧客体験に対するいかなる影響もなしに、例示される流れに従ってチャット要求をコンタクト・センタ・エージェント122に送信して、ウェブ・インターフェース121を通常どおり操作しつづけることが可能である。ウェブ対話要求は、データ・ネットワーク106を介してウェブ・インターフェース121から送信されることが可能であり、すると、要求は、コンタクト・センタ内のルータ107によって受信されて処理されることが可能である。ルータ107は、次に要求を対話サーバ108に送信することが可能であり、対話サーバ108は、次に対話クラシファイア109を用いて要求を検証して、それらの要求の性質を真正な顧客対話であると判定することが可能である。次に要求は、エージェント122に送信されることが可能であり、戻り要求は、対話サーバ108、ルータ107を通り、その後、コンタクト・センタ100から外向きにデータ・ネットワーク106を介して顧客のウェブ・インターフェース121に至る逆方向のパスをたどる。このようにして、通常のコンタクト・センタ運用は、顧客体験にまったく影響を及ぼすことなしに、試験事例と並行して実行されていることが可能であることが理解されよう。
以降で図4を参照して説明されているように、チャット・クラシファイア409及びチャット・クランチャ403によって扱われることが可能であるチャット・インターフェース421又はシミュレートされた顧客405を介した(たとえば)チャット・ベースの対話など、より特化された用途のために、ウェブ対話及びブラウザの異なる構成が使用されることが可能である。他の特定のネットワーク・ベースの通信方法又は技術に関して、たとえば新たな通信技術又はプロトコルが当技術分野において開発された際には、さらなる異なる構成が可能であり得るということを理解されたい。
図4は、一般的なコンタクト・センタ要素を組み込み、実際のコンタクト・センタ運用と並行して実行される自動化されたチャット試験のためのシステムを示す本発明の好適な実施形態のブロック図である。図示されるとおり、コンタクト・センタ400が、試験事例の始まり又は起点の役割をすることが可能なTCMプラットフォーム401を実施することが可能である。TCMプラットフォーム401は、自動的に動作することが可能であり、又は任意選択で、試験事例の操作、及び試験データベース402の中に記憶され得る試験結果レポートの閲覧のためのグラフィカル・ユーザ・インターフェースを介した人間の対話を受け付けることが可能である。試験が実行されると、TCMプラットフォーム401は、チャット・クランチャ403及びCCMプラットフォーム410を用いて試験事例を開始し、すると、チャット・クランチャ403及びCCMプラットフォーム410はそれぞれ、各自の自動化された試験処理を開始することが可能である。チャット・クランチャ403は、インターネット又は他のデータ通信ネットワーク406を介してデータを
送受信するようにウェブ・サーバ404を介して動作する複数の仮想顧客405をシミュレートすることが可能である一方で、CCMプラットフォーム410は、データ要求を受信して応答することが可能な仮想コンタクト・センタ・エージェント411を同様にシミュレートすることが可能である。シミュレートされた顧客405によってデータ・ネットワーク406を介して送信されたデータ要求が、ルータ407によって受信されて処理されることが可能であり、ルータ407は、データ・ネットワーク406を介して顧客からの要求を対話サーバ408に、エージェントからの要求を顧客に転送することが可能である。対話サーバ408は、チャット・クラシファイア409を用いてデータ要求を検証することが可能であり、チャット・クラシファイア409は、要求を試験事例又は実際のコンタクト・センタ運用の一部として識別して、処理プロトコルを決定することが可能である。要求が試験事例の一部分であると判定された場合、対話サーバ408は、次に試験事例処理に進むことが可能である。要求がルータ407からのインバウンドである場合、その要求は、仮想エージェント411によって扱われるようにCCMプラットフォーム410に転送されることが可能であり、又はその要求が仮想エージェント411からのアウトバウンド要求である場合、その要求は、データ・ネットワーク406を介して仮想顧客405に送信されるようにルータ407に送られることが可能である。仮想エージェント411は、対話サーバ408と直接に対話することによって、又は試験事例の特定の性質に応じて現実の又はシミュレートされたエージェント・デスクトップ環境と自動的に対話することによって動作することが可能である。試験事例の実行中及び/又は実行後に、TCMプラットフォーム401を介してユーザによって後で閲覧する目的で記憶されるべき試験レポートの作成のために、データがCCMプラットフォーム410又はチャット・クランチャ403によってデータベース402の中に記憶され得る。このようにして、試験事例内のデータ要求の流れは双方向であり、すなわち、要求は、データ・フローの厳密なパターン又はリズムを必要とすることなしに、シミュレートされた顧客405からシミュレートされたエージェント411に、及びその逆に、絶え間なく非同期で送信されることが可能であることが理解されよう。このようにして、応答を送信するのをエージェントが待つ間に複数のチャット要求を顧客が送信すること、又は顧客が待つ間に複数の要求をエージェントが送信することをシミュレートすることが可能であることが理解されよう。そのような事例は、実際に一般的であり、このようにして、試験事例は、より妥当で信頼できる試験データのために実際のコンタクト・センタ運用をより正確にシミュレートすることが可能である。
送受信するようにウェブ・サーバ404を介して動作する複数の仮想顧客405をシミュレートすることが可能である一方で、CCMプラットフォーム410は、データ要求を受信して応答することが可能な仮想コンタクト・センタ・エージェント411を同様にシミュレートすることが可能である。シミュレートされた顧客405によってデータ・ネットワーク406を介して送信されたデータ要求が、ルータ407によって受信されて処理されることが可能であり、ルータ407は、データ・ネットワーク406を介して顧客からの要求を対話サーバ408に、エージェントからの要求を顧客に転送することが可能である。対話サーバ408は、チャット・クラシファイア409を用いてデータ要求を検証することが可能であり、チャット・クラシファイア409は、要求を試験事例又は実際のコンタクト・センタ運用の一部として識別して、処理プロトコルを決定することが可能である。要求が試験事例の一部分であると判定された場合、対話サーバ408は、次に試験事例処理に進むことが可能である。要求がルータ407からのインバウンドである場合、その要求は、仮想エージェント411によって扱われるようにCCMプラットフォーム410に転送されることが可能であり、又はその要求が仮想エージェント411からのアウトバウンド要求である場合、その要求は、データ・ネットワーク406を介して仮想顧客405に送信されるようにルータ407に送られることが可能である。仮想エージェント411は、対話サーバ408と直接に対話することによって、又は試験事例の特定の性質に応じて現実の又はシミュレートされたエージェント・デスクトップ環境と自動的に対話することによって動作することが可能である。試験事例の実行中及び/又は実行後に、TCMプラットフォーム401を介してユーザによって後で閲覧する目的で記憶されるべき試験レポートの作成のために、データがCCMプラットフォーム410又はチャット・クランチャ403によってデータベース402の中に記憶され得る。このようにして、試験事例内のデータ要求の流れは双方向であり、すなわち、要求は、データ・フローの厳密なパターン又はリズムを必要とすることなしに、シミュレートされた顧客405からシミュレートされたエージェント411に、及びその逆に、絶え間なく非同期で送信されることが可能であることが理解されよう。このようにして、応答を送信するのをエージェントが待つ間に複数のチャット要求を顧客が送信すること、又は顧客が待つ間に複数の要求をエージェントが送信することをシミュレートすることが可能であることが理解されよう。そのような事例は、実際に一般的であり、このようにして、試験事例は、より妥当で信頼できる試験データのために実際のコンタクト・センタ運用をより正確にシミュレートすることが可能である。
この実施形態に従って例示されるとおり、試験事例が実行されている間、通常の運用がコンタクト・センタ400内で中断されることなく続くことが可能である。顧客420は、試験事例からの顧客体験に対するいかなる影響もなしに、例示される流れに従ってチャット要求をコンタクト・センタ・エージェント422に送信して、チャット・インターフェース421を通常どおり操作しつづけることが可能である。チャット要求は、データ・ネットワーク406を介してチャット・インターフェース421から送信されることが可能であり、すると、要求は、コンタクト・センタ内のルータ407によって受信されて処理されることが可能である。ルータ407は、次に要求を対話サーバ408に送信することが可能であり、対話サーバ408は、次にチャット・クラシファイア409を用いて要求を検証して、それらの要求の性質を真正な顧客対話であると判定することが可能である。次に要求は、エージェント422に送信されることが可能であり、戻り要求は、対話サーバ408、ルータ407を通り、その後、コンタクト・センタ400から外向きにデータ・ネットワーク406を介して顧客のチャット・インターフェース421に至る逆方向のパスをたどる。このようにして、通常のコンタクト・センタ運用は、顧客体験にまったく影響を及ぼすことなしに、試験事例と並行して実行されていることが可能であることが理解されよう。
例示的な実施形態の詳細な説明
図2は、本発明の実施形態による、ヘッドレス・ウェブ対話試験のための例示的な方法
200を示すブロック図である。最初の工程201で、試験事例が開始する。そのような試験事例は、前述したとおり、スケジュールされたイベントとして、もしくはルーチンの一部として自動的にトリガされることが可能であり、又はTCMプラットフォーム101とのユーザ対話を介して手動でトリガされることが可能である。第2の工程202で、仮想エージェント111及びヘッドレス・ブラウザ・アプリケーション・インスタンス105が試験システム内で作成され、それらの作成の結果が、ログ記録工程207中に試験データベース102又は他の記憶媒体の中にログ記録され得る。次に工程203で顧客が行うようにヘッドレス・ブラウザ105がウェブ・インターフェースと対話し、結果がログ記録工程207で再びログ記録されることが可能である。次に対話クラシファイアが、工程203で、この対話を試験事例の一部として分類して、コンタクト・センタ運用中に試験データが本番環境データと重なり合わないように、又はその他の形で本番環境データの妨げとならないように境界実施を確実にする。適切なウェブ要求(ウェブページ内の埋め込まれたチャット・インターフェース、又は可能な場合にはウェブ・サーバの代わりに人間のエージェントによって通常は扱われることになる同様の要求など)が受信されると、次に工程204で、仮想エージェントが応答することが可能であり、この応答の結果が、ログ記録工程205でログ記録される。試験事例によれば、CCMプラットフォーム110が、工程206で現実の又は仮想のエージェント・デスクトップと対話して、エージェント体験を試験し、コンタクト・センタ運用をさらに評価することが可能であり、この対話の結果が、ログ記録工程207でログ記録されることが可能である。最後に、報告工程208で、試験事例のそれまでの工程からのログ記録された情報が集約されて、結果レポートとして作成されることが可能であり、結果レポートは、後に取り出されるようにデータベース102又は同様の記憶媒体の中にさらに記憶されることが可能である。そのような方法の流れは、例示的なものであること、及び例示される流れは、本発明者によって理想的な解決策であると考えられるが、本発明に従って代替の実施形態が可能であることが理解されよう。代替の又はさらなる構成要素が試験事例に組み込まれることが可能であること、及び本発明の重要な特徴は、スケーラビリティであり、このため、本発明は、例示される試験工程に挿入されるさらなる工程として実施される多種多様なコンタクト・センタ・アーキテクチャに容易に適応可能であるので、例示される流れは、説明される要素だけに試験工程の範囲を限定するものと解釈されるべきでないことがさらに理解されよう。さらに、好適な実施形態においては、仮想エージェント及び仮想顧客は、ヘッドレス・ブラウザとしてインスタンス化され、それらのヘッドレス・ブラウザは、サーバ104上で無人で稼働し、プログラム式の方法で、その一方で、実際の使用を適切にシミュレート又は試験することができないバックエンド・プログラム・コールを介して対話をシミュレートする代わりに、本番のコンタクト・センタにおいて使用されることになる実際のインターフェース及びインフラストラクチャを使用して自然に対話して(すなわち、実際のインターネット、エージェント及び仮想顧客が互いに遠隔に配置されて、ならびに対話が、対話サーバ、ウェブ及びチャット・インターフェース、ならびに他の構成要素によって、あたかもそれらが「現実の」人間の顧客との「現実の」セッションであるかのように扱われて)試験処理を推進する。
例示的な実施形態の詳細な説明
図2は、本発明の実施形態による、ヘッドレス・ウェブ対話試験のための例示的な方法
200を示すブロック図である。最初の工程201で、試験事例が開始する。そのような試験事例は、前述したとおり、スケジュールされたイベントとして、もしくはルーチンの一部として自動的にトリガされることが可能であり、又はTCMプラットフォーム101とのユーザ対話を介して手動でトリガされることが可能である。第2の工程202で、仮想エージェント111及びヘッドレス・ブラウザ・アプリケーション・インスタンス105が試験システム内で作成され、それらの作成の結果が、ログ記録工程207中に試験データベース102又は他の記憶媒体の中にログ記録され得る。次に工程203で顧客が行うようにヘッドレス・ブラウザ105がウェブ・インターフェースと対話し、結果がログ記録工程207で再びログ記録されることが可能である。次に対話クラシファイアが、工程203で、この対話を試験事例の一部として分類して、コンタクト・センタ運用中に試験データが本番環境データと重なり合わないように、又はその他の形で本番環境データの妨げとならないように境界実施を確実にする。適切なウェブ要求(ウェブページ内の埋め込まれたチャット・インターフェース、又は可能な場合にはウェブ・サーバの代わりに人間のエージェントによって通常は扱われることになる同様の要求など)が受信されると、次に工程204で、仮想エージェントが応答することが可能であり、この応答の結果が、ログ記録工程205でログ記録される。試験事例によれば、CCMプラットフォーム110が、工程206で現実の又は仮想のエージェント・デスクトップと対話して、エージェント体験を試験し、コンタクト・センタ運用をさらに評価することが可能であり、この対話の結果が、ログ記録工程207でログ記録されることが可能である。最後に、報告工程208で、試験事例のそれまでの工程からのログ記録された情報が集約されて、結果レポートとして作成されることが可能であり、結果レポートは、後に取り出されるようにデータベース102又は同様の記憶媒体の中にさらに記憶されることが可能である。そのような方法の流れは、例示的なものであること、及び例示される流れは、本発明者によって理想的な解決策であると考えられるが、本発明に従って代替の実施形態が可能であることが理解されよう。代替の又はさらなる構成要素が試験事例に組み込まれることが可能であること、及び本発明の重要な特徴は、スケーラビリティであり、このため、本発明は、例示される試験工程に挿入されるさらなる工程として実施される多種多様なコンタクト・センタ・アーキテクチャに容易に適応可能であるので、例示される流れは、説明される要素だけに試験工程の範囲を限定するものと解釈されるべきでないことがさらに理解されよう。さらに、好適な実施形態においては、仮想エージェント及び仮想顧客は、ヘッドレス・ブラウザとしてインスタンス化され、それらのヘッドレス・ブラウザは、サーバ104上で無人で稼働し、プログラム式の方法で、その一方で、実際の使用を適切にシミュレート又は試験することができないバックエンド・プログラム・コールを介して対話をシミュレートする代わりに、本番のコンタクト・センタにおいて使用されることになる実際のインターフェース及びインフラストラクチャを使用して自然に対話して(すなわち、実際のインターネット、エージェント及び仮想顧客が互いに遠隔に配置されて、ならびに対話が、対話サーバ、ウェブ及びチャット・インターフェース、ならびに他の構成要素によって、あたかもそれらが「現実の」人間の顧客との「現実の」セッションであるかのように扱われて)試験処理を推進する。
図3は、本発明の実施形態による、ヘッドレス・ウェブ試験サーバのプログラム式のコントロールのための例示的な方法300を示すブロック図である。最初の工程301で、試験事例が、TCMプラットフォーム101によって開始される。次の工程302で、TCMプラットフォーム101が、ヘッドレス・ブラウザ運用のための任意の記憶されている試験事例構成命令を取り出してロードし、たとえば、構造化されているプログラム式の命令からなる試験事例スクリプトを含める。これらの命令が次の工程303において解析されて、特定のヘッドレス・ブラウザ・インスタンス105のための使用可能な命令を生成して、別々の性能、ソフトウェア設計、又は視覚的なレイアウトを有する可能性がある複数のブラウザのスケーラブルな使用を可能にすることができる。たとえば、構成ファイルが、ヘッドレス・ブラウザ105が「ホーム・ページに行く」又は「ボタンXをクリッ
クする」ための命令を含むことが可能である。これらは、TCMプラットフォーム101によって解析されて、ブラウザ・インスタンスのための適切な命令になることが可能であり、なぜなら、TCMプラットフォーム101は、使用中のブラウザの知識を有することになるからであり(なぜなら、TCMプラットフォーム101が、試験事例作成の一環としてそれらを選択して開始したからであり)、そして次の工程304において、ヘッドレス・ブラウザ105は、それらの命令を実行して、最後の工程305におけるプログラム式の構成入力に基づいてウェブ・インターフェースと対話することができる。このようにして、(たとえば、対話型の要素が期待どおりに機能していない場合に、実際のユーザ対話を正確に反映している可能性もしていない可能性もある、)対話の影響をシミュレートするための内部のソフトウェア・プログラム・コール又はバックエンド・プロトコル通信を使用することではなく、ヘッドレス・ブラウザを使用してクリックすること、タイプすること、ナビゲートすること、及び他の対話を実施することによって、人間のユーザが行うであろうのと同じ方法でウェブ・インターフェース及びサービスと対話するためにヘッドレス・ブラウザが使用されることが可能である。
クする」ための命令を含むことが可能である。これらは、TCMプラットフォーム101によって解析されて、ブラウザ・インスタンスのための適切な命令になることが可能であり、なぜなら、TCMプラットフォーム101は、使用中のブラウザの知識を有することになるからであり(なぜなら、TCMプラットフォーム101が、試験事例作成の一環としてそれらを選択して開始したからであり)、そして次の工程304において、ヘッドレス・ブラウザ105は、それらの命令を実行して、最後の工程305におけるプログラム式の構成入力に基づいてウェブ・インターフェースと対話することができる。このようにして、(たとえば、対話型の要素が期待どおりに機能していない場合に、実際のユーザ対話を正確に反映している可能性もしていない可能性もある、)対話の影響をシミュレートするための内部のソフトウェア・プログラム・コール又はバックエンド・プロトコル通信を使用することではなく、ヘッドレス・ブラウザを使用してクリックすること、タイプすること、ナビゲートすること、及び他の対話を実施することによって、人間のユーザが行うであろうのと同じ方法でウェブ・インターフェース及びサービスと対話するためにヘッドレス・ブラウザが使用されることが可能である。
図5は、コンタクト・センタ内で自動化されたチャット試験を扱うための一般的な流れを示す本発明の好適な実施形態の方法図である。最初の工程501で、試験事例が開始する。そのような試験事例は、前述したとおり、スケジュールされたイベントとして、もしくはルーチンの一部として自動的にトリガされることが可能であり、又はTCMプラットフォーム401とのユーザ対話を介して手動でトリガされることが可能である。第2の工程502で、仮想エージェント及び仮想顧客が試験システム内で作成され、それらの作成の結果が、ログ記録工程507中に試験データベース402又は他の記憶媒体の中にログ記録され得る。次に仮想顧客が、工程503でチャット・セッションを開始し、結果が、ログ記録工程507で再びログ記録されることが可能である。次にチャット・クラシファイアが、工程503で、このチャット・セッションを試験事例の一部として分類して、コンタクト・センタ運用中に試験データが本番環境データと重なり合わないように、又はその他の形で本番環境データの妨げとならないように境界実施を確実にする。試験チャット要求が受信されると、次に工程504で、仮想エージェントが応答することが可能であり、この応答の結果が、ログ記録工程505でログ記録される。試験事例によれば、CCMプラットフォーム410が、工程506で現実の又は仮想のエージェント・デスクトップと対話して、エージェント体験を試験し、コンタクト・センタ運用をさらに評価することが可能であり、この対話の結果が、ログ記録工程507でログ記録されることが可能である。最後に、報告工程508で、試験事例のそれまでの工程からのログ記録された情報が集約されて、結果レポートとして作成されることが可能であり、結果レポートは、後に取り出されるようにデータベース402又は同様の記憶媒体の中にさらに記憶されることが可能である。そのような方法の流れは、例示的なものであること、及び例示される流れは、本発明者によって理想的な解決策であると考えられるが、本発明に従って代替の実施形態が可能であることが理解されよう。代替の又はさらなる構成要素が試験事例に組み込まれることが可能であること、及び本発明の重要な特徴は、スケーラビリティであり、このため、本発明は、例示される試験工程に挿入されるさらなる工程として実施される多種多様なコンタクト・センタ・アーキテクチャに容易に適応可能であるので、例示される流れは、説明される要素だけに試験工程の範囲を限定するものと解釈されるべきでないことがさらに理解されよう。さらに、好適な実施形態においては、仮想エージェント及び仮想顧客は、「ヘッドレス・ブラウザ」としてインスタンス化され、それらのヘッドレス・ブラウザは、何も表示しないが、スクリプト可能な方法で、その一方で、本番のチャット・コンタクト・センタにおいて使用されることになる実際のインフラストラクチャを使用して(すなわち、実際のインターネット、エージェント及び仮想顧客が互いに遠隔に配置されて、ならびにチャット対話が、対話サーバ及び他の構成要素によって、あたかもそれらが「現実の」顧客との「現実の」チャット・セッションであるかのように扱われて)チャット試験処理を単に推進する。これは重要である。なぜなら、電話の呼び出しを試験する場
合とは異なり、チャット・セッションは、試験においては、本番におけるのと同様に、適切なユニフォーム・リソース・ロケータ(URL)をブラウザ・クライアント(このケースにおいては、ヘッドレス・ブラウザ)からインターネットを介して(そのURL内のテキストによって示されている)適切なサーバに送信することによって開始されなければならず、次いでそのサーバが、要求内のテキストを解析して、着信チャットをどのように処理するかを決定しなければならないからである。ヘッドレス・ブラウザ仮想顧客405は、試験事例マネージャ401によって管理されてチャット・クランチャ403によって実行される試験スクリプトの指示のもとで、適切なURLを、インターネットを介してルータ407又は対話サーバ408に(さまざまな構成が可能である)、ルータ407がその要求を有効な着信チャット対話として認識し、したがって、任意選択でチャット・クラシファイア409を使用してその着信チャットを分類し、どの(仮想)エージェントへその着信チャットが送信されるべきかを決定することができるように送信することによって、新たなチャット・セッションを開始することができなければならない。同様に、試験の同じ利点を実現するために、仮想エージェント411がヘッドレス・ブラウザとして実施されることが可能である。とりわけ、仮想顧客405及び仮想エージェント411としてのヘッドレス・ブラウザの使用によって、多くの仮想チャット参加者を単一のコンピューティング・マシン又は仮想マシン・イメージにおいて結合することが可能になる。なぜなら、ユーザ・インターフェースが提供される必要がない(及びそれに伴うユーザ・インターフェース・オーバーヘッドも回避される)からである。したがって、多くの仮想エージェント及び仮想顧客が、少数のマシンにおいてインスタンス化されることが可能であり、失敗の潜在的なポイントのうちのすべてが試験可能である大規模なエンドツーエンドのチャット試験が達成されることが可能である。このようにして、特定の試験システムが、有意義な様式でさまざまなフロントエンドと対話することが可能であり、試験システム自体に対する変更を必要とすることなく、新たな又は代替のフロントエンドが実施されることが可能である。いくつかの実施形態においては、仮想エージェント411又は仮想顧客405として機能するヘッドレス・ブラウザは、それぞれのチャット対話を、そのチャット対話が生じた際に記憶するように構成されることが可能であり、それによって試験管理者は、仮想エージェント411又は仮想顧客405のロケーションにおいて実際に何が起こったかを見ることができ、いくつかのケースにおいては、そのようなデータは、(ヘッドレス・ブラウザを使用する仮想顧客405又は仮想エージェント411ではなく)実際の顧客(又はエージェント)が当該試験に参加していたならば何を見ていたであろうかを正確に示すユーザ・インターフェースの形態で試験管理者に提供されることが可能である。上述のように行われるエンドツーエンド試験は、実際の顧客のチャット対話を伝達するために使用されることが可能である複数の別々のネットワーク(たとえば、キャリア)のそれぞれを通じてさまざまな試験事例が渡されることを確実にして、ひいては、自動化された試験を使用してネットワークに依存した問題を識別することができることを確実にするように(TCM401を使用して)構成されることが可能である。これは、たとえば、それぞれの試験事例においてクラウド・サービス内のヘッドレス・ブラウザ・チャット・クライアントが企業のチャット・サーバにどのようにして達するかを指定することによって、すなわち、(さまざまな方法で接続されることが可能であり、さまざまな物理的なサイトに配置されることが可能である)それぞれのチャット・サーバのアドレスを明示的に指定することによって、又は別々のネットワーク・プロバイダにそれぞれ接続されている別々のクラウド・サーバを、それぞれが稼働されることが可能であるように使用することによって(又は両方の方法を使用することによって)行われることが可能である。
合とは異なり、チャット・セッションは、試験においては、本番におけるのと同様に、適切なユニフォーム・リソース・ロケータ(URL)をブラウザ・クライアント(このケースにおいては、ヘッドレス・ブラウザ)からインターネットを介して(そのURL内のテキストによって示されている)適切なサーバに送信することによって開始されなければならず、次いでそのサーバが、要求内のテキストを解析して、着信チャットをどのように処理するかを決定しなければならないからである。ヘッドレス・ブラウザ仮想顧客405は、試験事例マネージャ401によって管理されてチャット・クランチャ403によって実行される試験スクリプトの指示のもとで、適切なURLを、インターネットを介してルータ407又は対話サーバ408に(さまざまな構成が可能である)、ルータ407がその要求を有効な着信チャット対話として認識し、したがって、任意選択でチャット・クラシファイア409を使用してその着信チャットを分類し、どの(仮想)エージェントへその着信チャットが送信されるべきかを決定することができるように送信することによって、新たなチャット・セッションを開始することができなければならない。同様に、試験の同じ利点を実現するために、仮想エージェント411がヘッドレス・ブラウザとして実施されることが可能である。とりわけ、仮想顧客405及び仮想エージェント411としてのヘッドレス・ブラウザの使用によって、多くの仮想チャット参加者を単一のコンピューティング・マシン又は仮想マシン・イメージにおいて結合することが可能になる。なぜなら、ユーザ・インターフェースが提供される必要がない(及びそれに伴うユーザ・インターフェース・オーバーヘッドも回避される)からである。したがって、多くの仮想エージェント及び仮想顧客が、少数のマシンにおいてインスタンス化されることが可能であり、失敗の潜在的なポイントのうちのすべてが試験可能である大規模なエンドツーエンドのチャット試験が達成されることが可能である。このようにして、特定の試験システムが、有意義な様式でさまざまなフロントエンドと対話することが可能であり、試験システム自体に対する変更を必要とすることなく、新たな又は代替のフロントエンドが実施されることが可能である。いくつかの実施形態においては、仮想エージェント411又は仮想顧客405として機能するヘッドレス・ブラウザは、それぞれのチャット対話を、そのチャット対話が生じた際に記憶するように構成されることが可能であり、それによって試験管理者は、仮想エージェント411又は仮想顧客405のロケーションにおいて実際に何が起こったかを見ることができ、いくつかのケースにおいては、そのようなデータは、(ヘッドレス・ブラウザを使用する仮想顧客405又は仮想エージェント411ではなく)実際の顧客(又はエージェント)が当該試験に参加していたならば何を見ていたであろうかを正確に示すユーザ・インターフェースの形態で試験管理者に提供されることが可能である。上述のように行われるエンドツーエンド試験は、実際の顧客のチャット対話を伝達するために使用されることが可能である複数の別々のネットワーク(たとえば、キャリア)のそれぞれを通じてさまざまな試験事例が渡されることを確実にして、ひいては、自動化された試験を使用してネットワークに依存した問題を識別することができることを確実にするように(TCM401を使用して)構成されることが可能である。これは、たとえば、それぞれの試験事例においてクラウド・サービス内のヘッドレス・ブラウザ・チャット・クライアントが企業のチャット・サーバにどのようにして達するかを指定することによって、すなわち、(さまざまな方法で接続されることが可能であり、さまざまな物理的なサイトに配置されることが可能である)それぞれのチャット・サーバのアドレスを明示的に指定することによって、又は別々のネットワーク・プロバイダにそれぞれ接続されている別々のクラウド・サーバを、それぞれが稼働されることが可能であるように使用することによって(又は両方の方法を使用することによって)行われることが可能である。
図6は、本発明の好適な実施形態による、TCMプラットフォーム内の試験事例のユーザによる作成及び修正のための例示的なグラフィカル・ユーザ・インターフェース600の図である。図示されるとおり、インターフェース600が、新たな試験工程を作成するための対話型のボタンもしくは同様の要素601、工程説明などの既存の試験工程の要素を説明する複数のテキスト・フィールド602、待機するテキスト・ストリング603、
送信するテキスト604、工程間の休止の長さのための基準605、工程を削除するためのクリック可能なもしくはその他の形で対話型の要素606、もしくはバッチ動作を実行する工程を選択するためのクリック可能なもしくはその他の形で対話型の要素609、工程を並べ替えるためのクリック可能なもしくはその他の形で対話型の要素607、既存の工程を編集するためのクリック可能なもしくはその他の形で対話型の要素608、又は単一の操作で複数の工程を(例示されるとおり)削除することなどの選択された工程を操作するためのクリック可能なもしくはその他の形で対話型の要素610などのいくつかの構成要素からなることが可能である。
送信するテキスト604、工程間の休止の長さのための基準605、工程を削除するためのクリック可能なもしくはその他の形で対話型の要素606、もしくはバッチ動作を実行する工程を選択するためのクリック可能なもしくはその他の形で対話型の要素609、工程を並べ替えるためのクリック可能なもしくはその他の形で対話型の要素607、既存の工程を編集するためのクリック可能なもしくはその他の形で対話型の要素608、又は単一の操作で複数の工程を(例示されるとおり)削除することなどの選択された工程を操作するためのクリック可能なもしくはその他の形で対話型の要素610などのいくつかの構成要素からなることが可能である。
工程が作成される場合、ユーザは、その試験工程の挙動を識別及び制御するためにさまざまな情報を供給することが可能である。たとえば、図示されるとおり、説明フィールド602が、それまでに作成された試験事例を解釈することを容易にするために工程を識別するように実施され得る。図示される挙動制御フィールドは、試験エージェント又は顧客が受信してからでないと進むことができないテキスト・ストリング603、又は工程が開始されると送信されるべき同様のテキスト・ストリング604を含むことが可能である。このようにして、各工程が、顧客−エージェント対話をシミュレートするために「送信−受信」パターンをシミュレートすることが可能であり、又は工程は、一方の側が応答を受信する前に複数のチャット・メッセージを送信することが可能である非対称対話をシミュレートするためにそれらの2つのフィールドのうちの1つだけを含むことも可能である。さらに図示されるとおり、工程間の待機時間を指定するためなどの数値的な挙動制御要素605が実施されて、試験事例のペースを制御することが可能である。このことは、大量のトラフィックの下でコンタクト・センタの「ストレス試験」を円滑にするのに、又は他の特徴もしくはシステムを試験している間に(すなわち、ストレス試験がその試験事例の目標ではない場合に)負荷に基づく障害を回避する目的でシステム負荷を分散させるために試験のペースを調整するのに実施され得る。
図7は、本発明の好適な実施形態による、試験結果レポートを閲覧するための例示的なグラフィカル・ユーザ・インターフェース700の図である。図示されるとおり、インターフェース700は、前述したとおり、それまでに実行された試験事例又は現在実行されている試験事例からの記憶されたログの中に包含される情報を伝えることを意図するさまざまな要素からなることが可能であり、そのような要素は、任意選択で、クリック可能なもしくはその他の形で対話型のボタン701,707、テキスト表示フィールド702、テキスト入力フィールド706、グラフのもしくはテキスト・ベースのテーブルもしくはチャート703、704、及び705、又は当技術分野で一般的に見られるさまざまな他のユーザ・インターフェース要素のいずれかを含む。図示されるような要素は、例示的なものであり、代替の、さらなる、又はより少ない要素を利用するさまざまな構成が、本発明に従って可能であり得るが、図示される構成が、望ましい内容をユーザに表示する有効な方法として本発明者によって選好されていることが理解されよう。
図示されるとおり、ボタンスタイル又はドロップダウン・リストスタイルのメニュー701などのクリック可能な又はその他の形でユーザ対話型の要素が、データベース402などの記憶媒体の中で利用可能であるさまざまなレポートから選択して、閲覧用の結果レポートを表示し、ユーザが選択することを可能にすることができる。ユーザは、そのような要素からレポートを選択することが可能であり、すると、そのような要素は、選択されたレポートからの妥当なデータを反映するようにインターフェース700の表示される内容を動的に更新することが可能である。テキスト表示フィールド702は、非対話型のデータ、すなわち、ユーザが操作する必要性又は能力を有しているはずのない以前の試験事例についての記録された情報をユーザに提示するように実施されることが可能であり、なぜなら、人間による不正変更又はエラーに起因する矛盾した又は信頼できないデータを防止する上で望ましい可能性があるからである。そのような提示される情報は、試験事例名
又は試験キャンペーン名、試験事例中に実行されたチャット・セッション又はチャット要求の量の数値カウント、及び試験が実行された日時又はチャットが開始された日時などのタイムスタンプ・データを含み得る(ただし、それらには限定されない)。そのような情報は、試験事例の特定の性質に応じて、及びコンタクト・センタ内の本発明の特定の実施態様に応じて、非常に多様である可能性があること、及び図示されるような情報は、例示的なものであり、代替の、代用の、又はさらなる情報が、本発明に従って表示され得ることが理解されよう。
又は試験キャンペーン名、試験事例中に実行されたチャット・セッション又はチャット要求の量の数値カウント、及び試験が実行された日時又はチャットが開始された日時などのタイムスタンプ・データを含み得る(ただし、それらには限定されない)。そのような情報は、試験事例の特定の性質に応じて、及びコンタクト・センタ内の本発明の特定の実施態様に応じて、非常に多様である可能性があること、及び図示されるような情報は、例示的なものであり、代替の、代用の、又はさらなる情報が、本発明に従って表示され得ることが理解されよう。
インターフェース700は、作成された又はその他の形で編成されたデータをユーザに提示するためにいくつかのグラフの又はテキスト・ベースのテーブル又はチャート703,704,705からなることも可能である(図示されるとおり)。合格した試験もしくは不合格の試験の相対パーセンテージを表す円グラフ、又は関与する持続時間もしくは量などのグラフ表示に適する可能性がある他の統計などのグラフ・チャート703。そのようなグラフは、クリック可能であること、又はその他の形でユーザ対話型であることが可能であり、そのような対話性は、任意選択で、グラフ内で表される情報をユーザがあつらえることを可能にし、任意選択で、選択が行われた際に表示を動的に更新する。このようにして、ユーザは、多数のグラフでインターフェース700を乱雑にする必要なしに、所与のレポートに関して複数の統計を簡潔に閲覧することが可能であり、ユーザは、関係のない情報又は望ましくない情報をナビゲートする必要なしに、関心対象であるデータだけを閲覧できることが可能であり、それによって、ユーザの時間及びフラストレーションが少なくなり、ならびに誤って解釈されるデータのリスクが低減されることによって解析の信頼性が高まる。テキスト・ベースのテーブル又はチャート704は、試験の一環として開始されたチャット対話の名前又はタイプ、対話の量又は他の数値的測定、及び表示された対話の間の成功と失敗の割合などの(図示されるとおり)、試験事例内の個々の対話に関する詳細な情報などのデータを提示するように実施され得る。図示されるような情報は、例示的なものであり、さらなる情報又は代替の情報が、本発明に従って、コンタクト・センタ内の特定のレポート又は実施態様に従って提示されることも可能であることが理解されよう。
試験事例内の対話からログ記録された詳細な情報を提示するテキスト・ベースのテーブル又はチャート705が表示され得る。そのような情報は、対話番号及び対話名、対話のログ記録された情報が記憶されているロケーション、対話の時刻もしくは持続時間、任意選択で可変の詳細レベル(単純な合格/不合格もしくは詳細なエラー・レポートなど)を伴う対話の実行の結果、又はクリックされると対話の視覚的ログを表示するのに使用され得る(図示されるとおり)ハイパーリンクもしくはボタンなどのクリック可能なもしくはその他の形でユーザ対話型の要素を含み得る(ただし、それらには限定されない)。そのような情報は、例示的なものであり、コンタクト・センタ内の特定のレポート又は実施態様に従って多種多様であり得ること、そしてさらに、そのような情報は、チャート又はテーブルの任意の特定のフィールド、行、又は列においてどのようなデータを表示するかを選択することによって、前述したとおり、関心対象のデータだけを閲覧するようにユーザによってカスタマイズ可能であり得ることが理解されよう。したがって、ユーザが、より詳細に閲覧するために特定の対話名もしくは対話番号を入力することが可能なテキスト入力フィールド706、又は効率的にナビゲートするために、任意選択で、秩序正しく記憶されるもしくは提示される選定されたデータからユーザが選ぶことを可能にし得るクリック可能なドロップダウン・リストスタイルのフィールド707などのクリック可能な又はその他の形でユーザ対話型の要素が、チャート又はテーブルの中の表示されるデータを制御するのに利用されることが可能である。そのような要素は、例示的なものであること、及び例示されるすべての要素の性質及び機能は、本発明に従ってさまざまであり得ること、及びユーザ・インターフェース要素の新たな方法及び構成が、当技術分野の範囲内で利用可能になって、本発明に従って利用される可能性があることが理解されよう。
図8は、本発明の実施形態による、スケーラブルなエンドツーエンドのチャット試験の動作のための例示的な方法800を示すブロック図である。この実施形態によれば、試験は、HTTPヘッダなど、インターネット通信標準の既存の要素を利用して、ルーティング又は構成などの基本的な機能を操作することができ、特定のチャット・フロントエンドには依拠せず、それは、「ヘッドレス・ブラウザ」であることが可能であり、そのヘッドレス・ブラウザは、何も表示しないが、スクリプト可能な方法で、その一方で、本番のチャット・コンタクト・センタにおいて使用されることになる実際のインフラストラクチャを使用して(すなわち、実際のインターネット、エージェント及び仮想顧客が互いに遠隔に配置されて、ならびにチャット対話が、対話サーバ及び他の構成要素によって、あたかもそれらが「現実の」顧客との「現実の」チャット・セッションであるかのように扱われて)チャット試験処理を単に推進する。これは重要である。なぜなら、電話の呼び出しを試験する場合とは異なり、チャット・セッションは、試験においては、本番におけるのと同様に、適切なユニフォーム・リソース・ロケータ(URL)をブラウザ・クライアント(このケースにおいては、ヘッドレス・ブラウザ)からインターネットを介して(そのURL内のテキストによって示されている)適切なサーバに送信することによって開始されなければならず、次いでそのサーバが、要求内のテキストを解析して、着信チャットをどのように処理するかを決定しなければならないからである。ヘッドレス・ブラウザ仮想顧客405は、試験事例マネージャ401によって管理されてチャット・クランチャ403によって実行される試験スクリプトの指示のもとで、適切なURLを、インターネットを介してルータ407又は対話サーバ408に(さまざまな構成が可能である)、ルータ407がその要求を有効な着信チャット対話として認識し、したがって、任意選択でチャット・クラシファイア409を使用してその着信チャットを分類し、どの(仮想)エージェントへその着信チャットが送信されるべきかを決定することができるように送信することによって、新たなチャット・セッションを開始することができなければならない。同様に、試験の同じ利点を実現するために、仮想エージェント411がヘッドレス・ブラウザとして実施されることが可能である。とりわけ、仮想顧客405及び仮想エージェント411としてのヘッドレス・ブラウザの使用によって、多くの仮想チャット参加者を単一のコンピューティング・マシン又は仮想マシン・イメージにおいて結合することが可能になる。なぜなら、ユーザ・インターフェースが提供される必要がない(及びそれに伴うユーザ・インターフェース・オーバーヘッドも回避される)からである。したがって、多くの仮想エージェント及び仮想顧客が、少数のマシンにおいてインスタンス化されることが可能であり、失敗の潜在的なポイントのうちのすべてが試験可能である大規模なエンドツーエンドのチャット試験が達成されることが可能である。このようにして、特定の試験システムが、有意義な様式でさまざまなフロントエンドと対話することが可能であり、試験システム自体に対する変更を必要とすることなく、新たな又は代替のフロントエンドが実施されることが可能である。
最初の工程801で、チャット・フロントエンド(ウェブ・ベースのチャット・アプリケーション、又はモバイル電子デバイス上などの専用のモバイル・チャット・アプリケーションなど)が、対話を要求することが可能である。そのような要求は、ユーザがチャットの開始を試みること(「エージェントとチャットする」ボタンをクリックすること、又は同様の対話型ユーザ・インターフェース対話)によって開始されることが可能であり、又はシミュレートされたチャット参加者を使用する自動化された試験などにおける自動化された処理の一部分であることが可能である。このようにして、試験事例は、開始のための特定の機構に依存する必要がない。というのは、そのような機構は、任意の特定の対話中に利用されているフロントエンドに応じて異なり得るからである。
次の工程802で、試験システムに送られたデータが、試験動作において使用され得るHTTPヘッダなどの埋め込まれた情報を解釈するように(前述した「チャット・クラン
チャ」又は他のシステム要素などによって)処理され得る。たとえば、対話は、特定の試験サーバを要求する、又は(以降で説明される)特定の試験キャンペーンの試験基準に従った扱いを要求する可能性がある。このようにして、動作情報は、フロントエンド間のいずれの形態の標準化にも依拠せずに、通信される対話データに本来備わっているので、試験動作は、利用されているフロントエンドを問わずに確実にされ得る。
チャ」又は他のシステム要素などによって)処理され得る。たとえば、対話は、特定の試験サーバを要求する、又は(以降で説明される)特定の試験キャンペーンの試験基準に従った扱いを要求する可能性がある。このようにして、動作情報は、フロントエンド間のいずれの形態の標準化にも依拠せずに、通信される対話データに本来備わっているので、試験動作は、利用されているフロントエンドを問わずに確実にされ得る。
次の工程803で、試験対話構成(前の工程で決定された要求される構成など)が、試験実行を構成するようにロードされ得る。このようにして、試験は、効率を高めるように、及び試験結果の信頼性を低下させ得るユーザによってもたらされるエラー(エージェントが、無効な構成設定を選択すること、又は機能に影響を及ぼすタイプ入力エラーをすることなど)を回避する上で役立つように動作を自己構成することが可能である。さらに、ロードされた構成が、利用すべき通信技術などの動作を決定して、フロントエンドがそのような技術上で明示的に動作する必要なしに、試験事例が、包括的な試験に必要とされるさまざまなネットワーク技術にわたって動作することを可能にすることができる(たとえば、試験事例を、フロントエンドを動作させているコンピューティング・デバイスに対する実際の物理接続にかかわらずに、インターネット・ベースのチャット・アプリケーションからセルラー・ネットワーク又はファイバ・ネットワーク経由でルーティングして)。このようにして動作することによって、試験事例は、顧客の特定のネットワーク接続又はコンピュータ・ハードウェアなどの外部要因を考慮に入れない可能性がある試験施設内部又はコンタクト・センタ内部の制御された環境ではなく、顧客とエージェントの間の実際の動作に存在し得る「現実世界の」運用条件を試験することが可能であることが理解され得る。
次の工程804で、(スマートフォン又は他のセルラー対応のモバイル・デバイス上のウェブ・ブラウザ又はアプリケーションを介してチャットすることなど)チャットするための他の接続を使用して顧客に対する信頼できる接続に関する試験を行うことなど、試験通信が、任意選択で、代替の又はさらなるネットワーク技術を通ることが可能である。このようにして、単一の試験事例が、複数の接続を試験するのに使用されて、対話ごとに可能な限り多くの試験データを収集することによって試験処理を促進することが可能である。
最後の工程805で、試験は終了して、適宜、結果を記録又はサブミットすること(前の工程でのロードされた構成に従って結果を記憶又は送信することなど)が可能である。説明される試験動作には、エージェント及び試験システムが関与し得るが、本発明によって提供される機能は、複数の自動化された「チャットボット」もしくは同様のシミュレートされた参加者の間、又は複数のエージェントの間の試験対話などの代替の構成にも同様に適用可能かつ有用であることが可能であることを理解されたい。このようにして、試験動作は、さまざまな物理構成又は仮想構成を包含して、実際のコンタクト・センタ運用中に体験され得るすべての状況又は対話に関して包括的に試験を行うことが可能である。
図9は、キャンペーン・ベースの試験動作に関する例示的な方法900を示す方法図である。そのような構成によれば、複数の試験事例が、実行されることになるさまざまな特定の試験を記述することが可能な単一の「キャンペーン」に従って構成されて開始されることが可能であり、このようにして、複数の試験が容易に構成され、実行され、報告されることが可能である。さらに、適切な構成を所与として、キャンペーンは、特定のスケジュールで、又は指定された条件(コンタクト・センタ内のハードウェア・アップグレード又はソフトウェア・アップグレードなど)に応答して特定の試験動作を構成するなど、自律的に機能するように見えることが可能である。さらに、複数のキャンペーンが、たとえば、1つのキャンペーンの結果を利用して別のキャンペーンを構成して、又は次に実行すべき特定のキャンペーンを決定して、論理ベースの適応試験を実行するためなどに、互い
に対話することが可能である。
に対話することが可能である。
キャンペーンは、遠隔の又はウェブ・ベースの管理ソフトウェア・インターフェース又は管理ソフトウェア・アプリケーション(たとえば、オフィスから離れてキャンペーンを管理する管理者にとって適切であり得るような)から、又は(図6を参照して)前述した試験作成インターフェースを介してなど、さまざまな方法で作成又は管理されることが可能であり、それによってキャンペーンは、管理者のロケーション又は利用可能なハードウェアにかかわらず、必要とされる際にアクセス可能であり得る。さらに、このようにして、既存の試験システムは、キャンペーン・ベースの機能を、特定の管理者デバイスの長ったらしい又は費用のかさむアップグレードによってではなく、そのような機能を既存の試験作成要素(すなわち、管理者インターフェースなどの他の要素が接続することが可能な中央に配置されたハードウェア・システム要素又はソフトウェア・システム要素)と統合することによって可能にするように容易に適合されることが可能である。
最初の工程901で、キャンペーンが、コンタクト・センタ管理者又は他の許可されたユーザなどによって構成され得る。そのような構成は、所望の試験動作にとって適切なように、さまざまな性質及び粒度のものであり得る。このようにして、キャンペーンは、特定の試験パラメータもしくは条件を施行するのに、又はスケジュールされた間隔でもしくは特定のトリガに応答して単に基本的な試験を実行するのに、又は望ましい可能性がある他の任意のそのような構成可能な動作を実行するのに使用されることが可能である。
次の工程902で、キャンペーンが、構成されたパラメータに従って(イベントによってトリガされる、又は設定されたスケジュールに従って始まるなどして)開始することが可能である。さらに、キャンペーンは、特定のキャンペーン動作にとって適切であり得るように、及び実行されている試験の性質に応じて、内部で(コンタクト・センタ内から、外部の現実のもしくは仮想のユーザを相手にアウトバウンドで対話を開始して)、又は外部から(外部ユーザが、コンタクト・センタに対するインバウンドの対話を開始して)トリガされることが可能である。たとえば、外部ユーザが、自分のコンピュータ・ワークステーションに対してハードウェア変更を行った後に機能を検証するために対話を開始してキャンペーンをトリガすることを選択することが可能であり、又はコンタクト・センタが、運用の「健康診断」を保持するためにスケジュールの一環としてアウトバウンドの対話を開始することが可能である。
次の工程903で、1つ又は複数の対話が、別々の特定のパラメータに従って動作すること及び潜在的に動作することなど、対話がキャンペーン構成に従って動作することが可能である。このようにして、キャンペーンは、さまざまな試験動作パラメータを制御して、性質が似通っている場合もそうでない場合もある複数の試験を実行するのに使用されて、動作を迅速に構成するための統一された手段を提供することが可能である。
最後の工程904で、試験が完了すると、それらの試験の個々の結果が受信されて、適宜記憶又は報告されることが可能であり、キャンペーン全体が完了すると、キャンペーン動作の概観を提供するために最終的な「キャンペーン・レポート」が生成されることが可能である。このようにして、個々の試験が、特定の結果に関して点検されることが可能である一方で、キャンペーンの全体の動作が、特定の特徴又はシステムが綿密な検査を受けない可能性がある定期的な「健康診断」スタイルの試験にとって適切であり得るように、迅速な「概観」のために閲覧されることが可能である。
当業者なら、上述したさまざまな実施形態の可能な修正の範囲を認識するであろう。したがって本発明は、特許請求の範囲及びそれらの均等物によって定義される。
Claims (4)
- 自動化されたエンドツーエンドのウェブ対話試験のためのシステムにおいて、
少なくともメモリと、プロセッサと、前記メモリ内に記憶されていて前記プロセッサ上で動作する複数のプログラミング命令とからなる試験事例管理コンピュータであって、前記プログラム可能な命令が、複数の記憶されている構成命令に基づいて対話マネージャ・コンピュータの動作を指示するように構成されている、試験事例管理コンピュータと、
少なくともメモリと、プロセッサと、前記メモリ内に記憶されていて前記プロセッサ上で動作する複数のプログラミング命令とからなる対話マネージャ・コンピュータであって、前記プログラム可能な命令が、複数のヘッドレス・ウェブ・ブラウザ・アプリケーションの動作を指示するように構成されている、対話マネージャ・コンピュータと、
少なくとも、メモリ内に記憶されていて、ネットワーク接続されたコンピューティング・デバイスのプロセッサ上で動作し、人間の対話を伴わずにネットワークを経由してウェブ・インターフェースを介して対話するように構成されている複数のプログラミング命令からそれぞれがなる複数のヘッドレス・ウェブ・ブラウザ・アプリケーションとからなる、システム。 - 前記複数の記憶されている構成命令の少なくとも一部分が、ヘッドレス・ウェブ・ブラウザのためのプログラム式の命令を含む、請求項1に記載のシステム。
- 自動化されたエンドツーエンドのウェブ対話試験のための方法において、
少なくとも、メモリ内に記憶されていて、ネットワーク接続されたコンピューティング・デバイスのプロセッサ上で動作し、複数の記憶されている構成命令に基づいて対話マネージャの動作を指示するように構成されている複数のプログラミング命令からなる試験事例管理プラットフォームを使用して、新たな試験事例を作成する工程と、
複数の記憶されている構成命令をロードする工程と、
少なくとも、メモリ内に記憶されていて、ネットワーク接続されたコンピューティング・デバイスのプロセッサ上で動作し、複数のヘッドレス・ウェブ・ブラウザ・アプリケーションの動作を指示するように構成されている複数のプログラミング命令からなる対話マネージャを介して、前記記憶されている構成命令の少なくとも一部分に少なくとも部分的に基づいて複数のヘッドレス・ウェブ・ブラウザ・アプリケーションを指示する工程と、
少なくとも、メモリ内に記憶されていて、ネットワーク接続されたコンピューティング・デバイスのプロセッサ上で動作し、人間の対話を伴わずにネットワークを経由してウェブ・インターフェースを用いて対話するように構成されている複数のプログラミング命令からそれぞれがなる複数のヘッドレス・ウェブ・ブラウザ・アプリケーションを使用して、複数のウェブ・インターフェースと対話する工程とからなる方法。 - 前の工程からの出力データを将来の参照のためにデータベース内にログ記録する工程をさらに備える、請求項3に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/083,259 US10659402B2 (en) | 2009-12-22 | 2016-03-28 | System and method for automated end-to-end web interaction testing |
US15/083,259 | 2016-03-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017182783A true JP2017182783A (ja) | 2017-10-05 |
Family
ID=58397984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017014346A Pending JP2017182783A (ja) | 2016-03-28 | 2017-01-30 | 自動化されたエンドツーエンドのウェブ対話試験のためのシステム及び方法 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP3226515A1 (ja) |
JP (1) | JP2017182783A (ja) |
AU (1) | AU2016203124A1 (ja) |
CA (1) | CA2958392A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3088466C (en) | 2018-02-01 | 2024-01-30 | Gsx Sarl | Monitoring of iot simulated user experience |
CN112802495A (zh) * | 2019-11-13 | 2021-05-14 | 深圳市优必选科技股份有限公司 | 一种机器人语音测试方法、装置、存储介质及终端设备 |
CN111679985B (zh) * | 2020-06-08 | 2023-05-02 | 中国银行股份有限公司 | 浏览器渲染性能测试方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2327022B1 (en) * | 2008-07-22 | 2015-09-16 | Webtrends | Method and system for web-site testing |
US9137183B2 (en) * | 2009-12-22 | 2015-09-15 | Cyara Solutions Pty Ltd | System and method for automated chat testing |
CN105637812A (zh) * | 2013-07-06 | 2016-06-01 | Cyara解决方案公司 | 用于自动化的聊天检测的系统和方法 |
-
2016
- 2016-05-13 AU AU2016203124A patent/AU2016203124A1/en not_active Abandoned
-
2017
- 2017-01-30 JP JP2017014346A patent/JP2017182783A/ja active Pending
- 2017-02-17 CA CA2958392A patent/CA2958392A1/en not_active Abandoned
- 2017-03-09 EP EP17020093.5A patent/EP3226515A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
AU2016203124A1 (en) | 2017-10-12 |
EP3226515A1 (en) | 2017-10-04 |
CA2958392A1 (en) | 2017-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11799808B2 (en) | System and method for automated end-to-end web interaction testing | |
US9137184B2 (en) | System and method for automated chat testing | |
US10877876B2 (en) | System and method for automated thin client contact center agent desktop testing | |
US20190028588A1 (en) | System and method for assisting customers in accessing appropriate customer service options related to a company's products or services | |
US10360087B2 (en) | Web API recommendations based on usage in cloud-provided runtimes | |
US10873546B2 (en) | System and method for automated contact center agent workstation testing | |
JP2016525745A (ja) | 自動化されたチャット試験のためのシステム及び方法 | |
US9582779B1 (en) | System and method for enhanced customer experience workflow | |
JP2017182783A (ja) | 自動化されたエンドツーエンドのウェブ対話試験のためのシステム及び方法 | |
US9479642B2 (en) | Enhanced quality monitoring | |
US11451463B2 (en) | System and method for interactivity testing of text-based customer communications | |
JP2018097845A (ja) | ケースに基づいて自動化されたeメールテスト | |
WO2020073022A1 (en) | System and method for assisting customers in accessing service opions. |