測試您的對話動作

Actions Builder 和 Actions SDK 開發環境提供多種測試 Actions 專案的方法,從互動式開發測試到使用者 Beta 版測試,應有盡有。

使用下列功能,提升動作從最初開發到發布階段的品質和穩定性:

  • 使用模擬工具手動測試,即可在開發動作時在 Actions 主控台上測試。
  • 使用測試架構和 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 版本測試使用者

動作控制台提供多個選項,可讓您將動作發布至限定發布版本,並由您指定的使用者進行測試。在控制台中,您可以將「動作」發布至 Alpha 和 Beta 版頻道,讓少數使用者測試您的動作,並在開發階段初期提供意見回饋。透過這項功能,您可以在發布正式版之前,先找出技術和使用者體驗問題並加以修正。

圖 2. 你可以透過 Actions Console 版本介面,為動作設定 Alpha 版和 Beta 版發布版本。

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

透過 Beta 版發布版本,你可以對 200 位指定開發人員的使用者發布動作,並透過 Google 助理裝置測試你的動作。當您的專案已完全通過 Google 審查時,Beta 版非常適合用來將存取權授予機構外的使用者。如果滿意 Beta 版測試的結果,您就可以發布正式版的 Beta 版,因為該版本已通過 Google 政策審核。

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