測試您的對話動作

Actions Builder 和 Actions SDK 開發環境提供多種在開發週期各階段測試「動作」專案的方法,包括互動式開發測試和使用者 Beta 版測試。

使用以下功能,即可提升動作在初始開發到發布期間的品質和穩定性:

  • 透過模擬器執行手動測試,即可在開發動作控制台時,測試動作。
  • 使用測試架構和 Actions API 進行自動化測試,協助您產生自動化且可重複的測試。
  • 透過限量發布 Alpha 和 Beta 版的使用者測試,獲得實際測試和意見回饋。

使用模擬器進行手動測試

動作主控台中的模擬工具可透過簡單易用的網頁介面模擬硬體裝置和相關設定,讓您手動測試動作。在控制台中按一下「Test」,在目前所選專案中啟用模擬工具。

圖 1. 顯示輸入選項的 Actions 主控台模擬工具介面。

模擬器可讓您為手動測試環境指定目標裝置 (智慧螢幕、手機、喇叭)、輸入法 (觸控、語音、鍵盤)、語言和位置。透過這些選項,您可以快速且安全地針對各種裝置和區域測試動作的功能。

進一步瞭解動作控制台模擬工具

使用 Actions API 自動測試

為動作編寫自動化測試,有助於確保動作的對話邏輯正常運作,即使導入新的程式碼變更也一樣,而不必每次手動測試程式碼。

Node.js 測試程式庫使用 Actions API 與專案程式碼互動。透過測試程式庫,您可以定義可將查詢傳送至動作的測試套件,並針對該輸出內容進行斷言,驗證動作的對話狀態相關資訊。

Actions API 提供 REST 端點,可讓您建立動作草稿,並透過查詢透過程式輔助方式與動作互動,以及尋找特定查詢相符的意圖資料。如要直接使用這些端點,您可以下載 Node.js Actions API 用戶端程式庫

透過測試程式庫,您可以使用 sendQuery 函式傳送查詢,測試單一對話串。這個方法會將文字查詢視為輸入內容,並產生結構化輸出內容,其中包含向使用者顯示的提示內容,以及其他說明要求處理方式的診斷資訊。您可以使用輸出測試物件中的內建斷言方法,驗證動作的行為,例如相符的意圖和目前場景。

以下範例顯示的測試,宣告透過適當的歡迎回應觸發動作:

it('starts Action and enters the Welcome scene', async function() {
    testManager.setTestSurface('SMART_DISPLAY');
    await testManager.sendQuery('Talk to my test app');
    testManager.assertSpeech('Hello World!');
    testManager.assertText('Hello World!');
    testManager.assertIntent('actions.intent.MAIN');
    testManager.assertScene('Welcome');
    await testManager.sendStop();
    testManager.assertConversationEnded();
});

如要查看以 Node.js 編寫的測試套件完整有效範例,請參閱對話元件程式碼範例

如要進一步瞭解如何開始使用這個測試架構,請參閱 Node.js 測試程式庫操作說明。

使用 Alpha 版和 Beta 版的使用者測試

Actions 主控台提供選項,讓您選擇將動作發布至受限的發布版本,供您指定的一組使用者測試。透過控制台,您可以將動作發布至 Alpha 版和 Beta 版頻道,讓少數使用者能測試您的動作,並在開發階段初期提供意見回饋。這項功能讓您有機會在正式發布動作之前,找出技術和使用者體驗問題並加以修正。

圖 2. Actions 主控台版本介面可讓您為動作設定 Alpha 版和 Beta 版發布版本。

Alpha 版發布版本可讓您將動作發布給指定的 20 位開發人員指定使用者,讓他們可以透過 Google 助理裝置測試您的動作。Alpha 版很適合內部測試,因為該版本不需要 Google 動作審查程序。將此動作發布到這個頻道後,Alpha 版測試人員就能立即存取您的動作。

Beta 版發布版本可讓您將動作發布給指定的 200 位開發人員指定使用者,讓他們可以透過 Google 助理裝置測試您的動作。當您的專案已經過完整的 Google 審查時,Beta 版功能是讓您將存取權授予機構外的使用者。如果您對於自己的 Beta 版測試結果感到滿意,即可先發布正式版,因為該版已經通過 Google 政策審核。

如要進一步瞭解發布版本,請參閱動作主控台的版本說明文件。