行為測試

StandardBot行為測試可供您檢查文字或語音虛擬客服如何執行核心行為。您可以使用StandardBot測試指令碼執行所有測試。目前,範例指令碼會測試文字虛擬客服的所有行為和語音虛擬客服的某些行為。

StandardBot透過讓指令碼向虛擬客服傳送觸發來測試工作。虛擬客服被配置為以特定方式回應每個觸發。該指令碼被設定為解析並識別虛擬客服回應的部分內容。如果回應不包含指令碼正在尋找的內容,則虛擬客服不會通過測試。如果包含,則虛擬客服通過測試。

觸發器對於StandardBot測試是唯一的。預設情況下,這些觸發器與經過訓練的虛擬客服在生產環境中回應的詞語和自動意圖不同。預設的StandardBot測試觸發器不太可能被聯絡人使用。例如,debugStandardBotExchangedebugStandardBotScriptPayload 是指令碼中的兩個預設觸發短語。因此,StandardBot測試可以安全地在生產環境中使用。

測試類別

有兩種類型的StandardBot測試:

通過標準

除了觸發器和響應之外,每個StandardBot測試還具有成功測試必須滿足的標準。要通過測試,虛擬客服必須返回正確的回應。對於許多測試,此回應與虛擬客服在即時互動中給出的回應不同。這表示您可以確定您的虛擬客服已通過每項測試。

例如,要通過機器人交換測試,虛擬客服必須返回短語bot response。這不是虛擬客服在互動過程中通常使用的短語。此短語是獨一無二的,並且特定於機器人交換測試。這就是您如何知道這是對測試的正確反應。

準備StandardBot測試

在虛擬客服上執行StandardBot測試之前,您必須:

  • 將您的虛擬客服升級虛擬客服專員中心整合版本 3.0(如果目前未使用此版本)。
  • 記下您正在測試的虛擬客服的名稱。此名稱用作Studio指令碼中的虛擬客服 ID。您需要此資訊來設定測試指令碼。您可以在虛擬客服的應用程式 虛擬客服專員中心中找到此資訊。例如,在下圖中,虛擬客服的名稱為 MS6628

  • 訓練您的虛擬客服對測試中使用的觸發詞、短語和自動意圖做出回應。有關如何訓練虛擬客服的資訊,請參閱虛擬客服提供者提供的文件。

  • 下載並設定StandardBot指令碼。

轉換為整合版本 3.0

您新增的所有新的虛擬客服應使用整合 3.0 版本建立。對於現有的虛擬客服,可以選擇轉換到整合 3.0 版本。但是,如果您不進行轉換,您將無法將StandardBot與該虛擬客服一起使用。

如果您從以前的版本轉換到整合 3.0 版本,則您的設定和指令碼與整合 3.0 版本的相容性是未知的。為了防止組織的虛擬客服服務出現任何意外中斷,最好在轉換生產環境之前在測試環境中驗證升級。

您可以使用 StandardBot 測試來確定轉換到新版本時是否有問題,以及是什麼問題。下面的步驟概述了一種可能的轉換方法:

  1. 虛擬客服專員中心 中克隆您要轉換的虛擬客服應用程式
  2. 點擊 虛擬客服專員中心 中克隆版本的應用程式 。
  3. 在「屬性」頁上,從整合版本欄位中選擇 3.0
  4. 點擊儲存
  5. 在虛擬客服提供者的管理控制台,將 StandardBot 行為新增到您要轉換的虛擬客服中。這包括自動化意圖和觸發詞。
  6. 使用Studio中適當的StandardBot指令碼對應用程式的克隆版本執行StandardBot測試。
  7. 把任何失敗的內容記下來。這些是指令碼中的虛擬客服設定或位置,需要在轉換生產版本之前解決。
  8. 修復指令碼和設定的任何問題。修正可能涉及在虛擬客服提供者的控制台、虛擬客服專員中心 中的設定或 Studio 指令碼中進行變更。
  9. 再次運行StandardBot測試和克隆指令碼。
  10. 重複這些步驟,直到您的虛擬客服通過所有測試,並且您的Studio指令碼的行為符合您的期望。
  11. 當您的虛擬客服通過了所有的測試,就可以把這些修正複製到生產版本中。如果您不得不對您的設定和指令碼進行大量修改,則可能想使用當前的測試版本作為新生產版本。

轉換為虛擬客服專員中心非同步代碼

非同步代碼...

要將虛擬客服專員中心實例轉換為非同步代碼,您需要CXone 客戶代表的協助。應先在測試CXone系統上將其啟用。這樣,在生產系統上啟用切換之前,可以解決任何因切換而可能出現的問題。

配置和訓練您的虛擬客服

您必須訓練虛擬客服以識別StandardBot測試中使用的觸發詞、短語和自動意圖。這是完成測試的唯一方法。如果虛擬客服無法將觸發器識別為需要以某種方式回應的事項,則它不會做出適當的回應,且測試將無效。請參閱虛擬客服提供者提供的文件,以了解如何訓練虛擬客服。

StandardBot指令碼配置為使用一組預設觸發器。如果您想使用不同的觸發器,則需要變更指令碼配置並訓練虛擬客服以回應新的觸發器。預設觸發器是每個測試的回應,在核心行為說明頁面上予以描述。

設定StandardBot指令碼

在使用StandardBot指令碼之前,您需要對其進行自訂。這包括新增虛擬客服的名稱和您希望透過電郵傳送測試結果報告的電郵地址。

  1. 下載並將StandardBot指令碼匯入到Studio中並儲存。
  2. 點擊兩下帶有標籤Declare Objects & Set Bot to TestSnippet動作。
  3. 點擊Snippet Editor視窗中的Text View 標籤
  4. 若要將測試報告傳送到電郵地址,請找到ReportEmail變數。將值變更為您希望將報告傳送至的電郵地址。值必須用雙引號括起來。如果不新增電郵地址,您可以在指令碼追蹤中檢查測試結果
  5. 使用您正在測試的虛擬客服的名稱配置指令碼:
    1. BotsList[1].BotName的值變更為您正在測試的虛擬客服的名稱。您可以在虛擬客服專員中心中找到此名稱,如本頁的準備StandardBot測試部分所述。例如,BotsList[1].BotName = "MS6628"
    2. 如果您想要使用此指令碼測試多個虛擬客服,請刪除下一個 ASSIGN 語句前面的備註字元 ( // )。新增另一個虛擬客服的名稱作為值。例如,// ASSIGN BotsList[2].BotName = "StandardBot_DialogFlow_ES"將變為ASSIGN BotsList[2].BotName = "GDF2123"
  6. 配置您希望指令碼測試哪個虛擬客服:
    1. 如果指令碼設定為僅測試一個虛擬客服,請勿變更BotToTest變數的值。不應在兩個雙引號之間包含任何文字或空格。例如,BotToTest = ""
    2. 如果指令碼設定為測試多個虛擬客服,並且您希望指令碼對所有虛擬客服執行測試,請不要變更BotToTest變數的值。不應在兩個雙引號之間包含任何文字或空格。例如,BotToTest = ""
    3. 如果指令碼設定為測試多個虛擬客服,但您只想對其中一個執行測試,請在BotsList物件中將BotToTest的值變更為該虛擬客服的索引值。例如,要測試上一步驟中的 GDF2123 虛擬客服,請輸入 2 作為BotToTest的值。
  7. 配置指令碼執行的測試。如果需要,可將testPath的值變更為下列值之一。預設值為 testAll。選項包括:

    • testAll:如果您希望指令碼執行所有StandardBot測試,請使用此值。此選項執行結束對話測試,但不執行升級測試
    • EscalationPath:如果您希望指令碼執行升級測試,請使用此值。這將測試虛擬客服將互動升級到真人客服專員的能力。

  8. 點擊OK關閉Snippet editor視窗。
  9. 點擊 TextBot Exchange 視窗中的關閉。這會將您選擇的一個或多個虛擬客服新增至Textbot Exchange動作。
  10. 儲存您的指令碼。

自訂StandardBot指令碼

對於大多數測試,您不需要自訂StandardBot指令碼。自動意圖測試要求您修改指令碼,以便它可以測試您在指令碼中使用的自動意圖。如有必要,您也可以按照以下步驟修改其他測試。

如果您變更指令碼中的測試值,則在配置虛擬客服時必須使用相同的值。如果僅在一處變更,測試將無法進行。

  1. 在 Studio 中,開啟您要自訂的StandardBot指令碼。
  2. 儲存指令碼的副本作為備份,以防您需要復原變更。
  3. 點擊兩下 Config test data SNIPPET 動作。
  4. 在「文字檢視」標籤上,向下捲動到DYNAMIC TestData行,然後找到您要修改的測試的一組ASSIGN語句。該物件設定傳送到虛擬客服的值以觸發每個測試。每個測試在此物件中都有以下參數:

    AutoIntent = ""
    UserInput = ""
    CustomPayload = ""
    TestName = ""
    TestStatus = ""
    TestNumber = ""
    
  5. 請依照以下準則修改您需要變更的任何值:
    • 測試中使用的參數為TestData[#].AutoIntentTestData[#].UserInputTestData[#].CustomPayload
    • 並非所有參數都會用在每個測試中。每個測試的預設值指示測試使用的參數。如有必要,您可以新增參數,但這不會影響測試結果,除非您也配置虛擬客服來回應該參數。
    • 無需更改TestData[#].TestStatus。指令碼執行時會自動更新此參數。
    • 要變更測試名稱,請修改 TestData[#].TestName
    • 要變更測試結束時報告中顯示的標籤,請變更TestData[#].TestNumber
  6. 點擊OK儲存變更,並關閉Snippet editor視窗。
  7. 點擊兩下 Evaluate Results SNIPPET 動作。

    不要變更此 snippet 中TestData物件中的值。該指令碼會自動更新這些值。當指令碼執行時,您對這些值所做的任何變更都將被覆寫。

  8. 向下捲動到SWITCH CurrentTest行。這是一個SWITCH語句,此語句依據CurrentTest變數的值設定指令碼所採取的一系列不同動作。此SWITCH語句建立了標準,以便指令碼可以確定虛擬客服是否通過每個測試。

  9. 找到CASE語句,其編號與您要修改的測試相符。例如,若要修改測試 9「自動意圖」的通過標準,請向下捲動至CASE 9
  10. CASE語句中的IF語句中,根據需要變更變數的值。
  11. 點擊OK儲存變更並關閉Snippet 編輯器視窗。
  12. 儲存指令碼。

StandardBot指令碼執行測試

您可以使用StandardBot測試指令碼一次測試所有行為。如果您還沒有這樣做,請配置並訓練您的虛擬客服設定StandardBot指令碼。

  1. 在 Studio 中,打開您要執行的StandardBot指令碼。
  2. 點擊 Start with Trace
  3. 在「追蹤輸出」視窗中,您可以了解測試結果。
  4. 捲動到追蹤結果的底部,然後點擊最後一行,該行用於 END動作。
  5. 在「變數」標籤上,找到testreportstring變數並點擊兩下以在新視窗中打開該變數的內容。這為您提供了每個測試結果的概覽。如果您使用電郵地址配置了指令碼,測試結果的副本會自動傳送到該地址。

虛擬客服專員中心執行StandardBot測試

您可以在虛擬客服專員中心中虛擬客服應用程式的屬性頁面中的「測試」窗格中測試大多數行為。該測試針對語音和文字虛擬客服。

若要了解要使用的輸入以及虛擬客服是否已通過測試,您需要查看核心行為說明頁面。頁面上的每個行為都包含一個包含資料表的StandardBot測試標題。該表包含手動執行測試所需了解的所有資訊,包括該測試是否支援手動執行的指示。

  1. CXone 中,點擊應用程式選擇器 並選擇其他 > 整合
  2. 點擊 Cxone 虛擬客服專員中心
  3. 點擊您要測試的虛擬客服。
  4. 對於由人工輸入觸發的行為:
    1. 在所選虛擬客服屬性的「測試」部分,在輸入訊息欄位中輸入針對要執行的測試所描述的輸入。您可以在測試詳細資訊表的變數輸入以在指令碼中執行測試行中找到該資訊。
    2. Enter
  5. 對於自動意圖觸發的行為:
    1. 在所選虛擬客服屬性的「測試」部分中,點擊鍵入訊息欄位旁的更多選項垂直堆疊的三個點。
    2. 輸入您要測試的自動意圖。這些是「核心行為」說明頁面上針對每個測試的描述。您可以在測試詳細資訊表的輸入以手動執行測試行中找到具有自動意圖的行為的自動化意圖。
    3. 點擊觸發器
  6. 請注意測試聊天視窗中虛擬客服的回應。將其與該測試的通過標準進行比較。
  7. 如果您的虛擬客服未通過測試,請對指令碼或虛擬客服配置進行建議的變更,然後重複測試。

設定測試指令碼以按排程執行

您可以設定 StandardBot 指令碼以按排程執行。這樣做,StandardBot將成為一個監控工具,可以快速通知您出現的問題。您可以透過以下步驟修改指令碼,以便僅在其中一項測試出現問題時傳送通知。

  1. 打開您的StandardBot測試指令碼。
  2. 如有需要,請配置要傳送失敗通知的電郵地址:
    1. 點擊兩下帶有標籤Declare Objects & Set Bot to TestSnippet動作。
    2. 點擊Snippet Editor視窗中的Text View 標籤
    3. 找到ReportEmail變數並將值變更為您希望將報告傳送到的電郵地址。值必須用雙引號括起來。
    4. 點擊 OK
  3. 修改指令碼,以僅在測試失敗時傳送警示:
    1. 刪除準備報告SNIPPET動作與傳送報告EMAIL 動作之間的連接器。
    2. IFSNIPPET動作加入到指令碼中,並將此兩個動作連接起來,以便IFTrue 分支連接到傳送報告EMAIL 動作。False 分支應連接到END。如下圖所示:

    3. 變更兩個新動作的標題以表明其目的。在範例中,SNIPPET動作的標題是 Test For FailureIF 動作的標題為 Email On Fail
    4. 點擊兩下 SNIPPET 動作並新增以下代碼行:

      
      ASSIGN isProblem = testreportstring.contains("fail")		
    5. Save the snippet.
    6. Change the value of the Expression property of the new IF action to isProblem=1.
    7. Save the changes to your script.
  4. CXone中設定指令碼排程,以您想要的節奏執行此指令碼。