測試應用程式

與其他類型的 Android 應用程式不同,Home API 應用程式有其獨特的考量和挑戰,包括對實體智慧住宅裝置的依附元件、網路可靠性、安全性與隱私權,以及裝置和通訊協定的互通性。這些差異會影響測試。

設定測試環境

如要測試 Home API 應用程式,健全的測試環境至關重要。

建議您將 Home API 測試裝置連上專屬 Wi-Fi 網路,這樣可避免其他裝置干擾,並模擬不同的網路狀況,例如頻寬受到限制。

建議您測試各種智慧住宅裝置類型,包括不同製造商的產品。請務必使用實體裝置進行測試。虛擬裝置和模擬器有其用途,但不應完全依賴這些工具。

同樣地,使用多個製造商的各種 Android 裝置測試應用程式,這些裝置的螢幕尺寸各不相同,且搭載不同 Android 版本,有助於驗證更廣泛的相容性。

備妥工具

下列工具有助於測試 Home API 應用程式:

工具 說明
Google Home Plugin for Android Studio 提供 Google Assistant Simulator、Home Graph 檢視器、Google Cloud Logging 和 Android Debug Bridge (adb) 記錄檢視器存取權。
Google Home Playground 雖然無法取代使用實體裝置進行測試,但對於許多測試情境來說,這項工具非常實用。
Matter Virtual Device (MVD) 在 Home API 應用程式中使用 Matter 裝置進行測試時,這款模擬應用程式也很有幫助。
Espresso 可自動執行 UI 測試。您需要模擬基礎 API,才能模擬硬體互動。
網路模擬器 可模擬各種網路狀況和 API 回應,如果 Home API 使用雲端後端,這項功能就特別實用。
Android Studio Logcat 處理及分析記錄資料。

採用不同的測試方法和策略

您應對 Home API 應用程式採用各種測試方法。如需不同方法的相關一般資訊,請參閱「在 Android 上測試應用程式」。除了所有 Android 應用程式都應接受的使用者體驗和安全性測試外,部分測試領域與 Home API 應用程式特別相關,以下章節將詳細說明。

功能測試

視應用程式的功能而定,您可能需要特別注意下列部分領域:

  1. 裝置探索和配對,包括初始設定和與新裝置配對、應用程式重新啟動後重新探索現有裝置,以及裝置重新啟動或網路變更。此外,也請檢查無回應裝置或使用者輸入錯誤憑證等情境。
  2. 狀態同步處理,確保應用程式能及時更新,準確反映目前狀態。
  3. 權限的管理和強制執行方式,特別是應用程式支援多位使用者或共用住家存取權時。包括確認應用程式是否能妥善處理遭撤銷的權限。
  4. 如果應用程式支援情境 (例如關閉所有燈具的「晚安」情境),請測試情境的建立、修改和執行作業。測試自動化動作,包括啟動條件和動作。

效能測試

確認應用程式反應迅速,不會造成不必要的延遲。請盡可能使用大量裝置進行測試,評估可擴充性,以及應用程式在負載下的效能。此外,請查看應用程式的 CPU、記憶體和電池耗電量,特別是在裝置主動通訊期間,瞭解應用程式的資源使用量是否合理。

可靠性和穩定性測試

由於 Home API 應用程式依賴網路連線,因此應針對下列情境進行測試:

  1. 網路波動
    • 模擬 Wi-Fi 斷線、訊號微弱和網路切換。
    • 確認應用程式能妥善處理連線中斷和重新連線的情況。
    • 確認連線恢復後,指令會排入佇列並執行,或提供適當的錯誤訊息。
    • 從遠端網路測試應用程式,而不只是從家用網路測試。
  2. 裝置中斷連線
    • 拔除裝置的電源線。
    • 將裝置重新開機。
  3. 並行作業
    • 快速傳送一連串指令。
    • 讓多位使用者同時嘗試控制同一部裝置。
    • 測試重疊的場景和自動化動作。
  4. 處理錯誤
    • 強制產生 API 錯誤,例如模擬 Cloud API 伺服器回應。
    • 測試使用者輸入的無效內容。
    • 確認正常降級和提供資訊的錯誤訊息。
  5. 穩定性:長時間執行應用程式和連線裝置,找出可能的記憶體洩漏或穩定性問題。