アプリをテストする

他のタイプの Android アプリとは異なり、Home APIs アプリには、物理的なスマートホーム デバイスへの依存関係、ネットワークの信頼性、セキュリティとプライバシー、デバイスとプロトコルの相互運用性など、独自の考慮事項と課題があります。これらの違いはテストに影響します。

テスト環境のセットアップ

Home APIs アプリをテストするには、堅牢なテスト環境が不可欠です。

専用の Wi-Fi ネットワークで Home API テストデバイスを分離することをおすすめします。これにより、他のデバイスからの干渉を防ぎ、帯域幅の制限など、さまざまなネットワーク条件をシミュレートできます。

さまざまなメーカーのさまざまなタイプのスマートホーム デバイスを使用してテストする必要があります。必ず実際の物理デバイスでテストしてください。仮想デバイスとエミュレータも使用できますが、これらにのみ依存しないでください。

同様に、さまざまなメーカーのさまざまな Android デバイスで、画面サイズが異なり、異なる Android バージョンを実行しているアプリをテストすると、より広範な互換性を確認できます。

ツールを準備する

Home APIs アプリのテストに役立つツールは次のとおりです。

ツール 説明
Google Home Plugin for Android Studio Google Assistant Simulator、Home Graph Viewer、Google Cloud Logging、Android Debug Bridge(adb)ログ ビューアにアクセスできます。
Google Home Playground 実際の物理デバイスでのテストの代わりにはなりませんが、 多くのテスト シナリオで非常に役立ちます。
Matter Virtual Device (MVD) Home APIs アプリで Matter デバイスをテストする際に役立つ別のエミュレーション アプリです。
Espresso UI テストを自動化できます。ハードウェアのインタラクションをシミュレートするには、基盤となる API をモックする必要があります。
ネットワーク エミュレータ さまざまなネットワーク条件と API レスポンスをシミュレートできます。 これは、Home API がクラウド バックエンドを使用している場合に特に役立ちます。
Android Studio Logcat ログデータの処理と分析を行います。

さまざまなテスト アプローチと戦略を適用する

Home APIs アプリには、さまざまなテスト アプローチを適用する必要があります。さまざまな方法の一般的な情報については、 Android でアプリをテストするをご覧ください。 すべての Android アプリで実施されるユーザー エクスペリエンスとセキュリティのテストに加えて、Home APIs アプリに特に重要なテスト領域があり、次のセクションで詳しく説明します。

機能テスト

アプリの機能に応じて、次の領域に特に注意してください。

  1. デバイスの検出とペア設定。初期設定と新しいデバイスとのペア設定、アプリの再起動、デバイスの再起動、ネットワークの変更後の既存のデバイスの再検出など。デバイスが応答しない場合や、ユーザーが誤った認証情報を入力した場合などのシナリオも確認してください。
  2. 状態の同期。アプリが現在の状態を正確に反映するように、タイムリーに更新されることを確認します。
  3. 権限の管理と適用方法。特に、アプリが複数のユーザーまたは共有ホーム アクセスをサポートしている場合。これには、アプリが取り消された権限を適切に処理することを確認することが含まれます。
  4. アプリがシーン(すべての照明を消灯する「おやすみ」シーンなど)をサポートしている場合は、シーンの作成、変更、実行をテストします。開始条件やアクションなど、自動化をテストします。

パフォーマンス テスト

アプリが応答し、不要なレイテンシが発生しないことを確認します。可能であれば、多数のデバイスでテストして、スケーラビリティと負荷時のアプリのパフォーマンスを評価します。また、特にデバイスがアクティブに通信しているときのアプリの CPU、メモリ、バッテリーの使用量を確認して、リソースの使用量が妥当かどうかを確認します。

信頼性と安定性のテスト

ネットワーク接続に依存するため、Home APIs アプリは次のシナリオでテストする必要があります。

  1. ネットワークの変動
    • Wi-Fi の切断、電波の弱さ、ネットワークの切り替えをシミュレートします。
    • アプリが切断と再接続を適切に処理することを確認します。
    • 接続が復元されたときにコマンドがキューに登録されて実行されること、または適切なエラー メッセージが表示されることを確認します。
    • ホーム ネットワークだけでなく、リモート ネットワークからもアプリをテストします。
  2. デバイスの切断
    • デバイスのプラグを抜きます。
    • デバイスの電源を入れ直します。
  3. 同時実行オペレーション
    • 一連のコマンドを迅速に送信します。
    • 複数のユーザーが同じデバイスを同時に操作しようとします。
    • 重複するシーンと自動化をテストします。
  4. エラー処理
    • クラウド API サーバーのレスポンスをモックするなどして、API エラーを強制的に発生させます。
    • ユーザーからの無効な入力をテストします。
    • グレースフル デグラデーションとわかりやすいエラー メッセージを確認します。
  5. 信頼性 - アプリと接続されたデバイスを 長時間実行して、メモリリークや安定性の問題がないか確認します。

アプリをリリースする前に

Home APIs を使用するアプリは、リリースする前に徹底的にテストして、すべての機能要件と品質要件を満たしていることを確認することをおすすめします。 Google Home APIs アプリ テストレポートをガイドとして使用して、アプリの 機能をテストします。

Google Home APIs アプリ テストレポートの提出を求められた場合は、 レポートを Google Technical Account Manager (TAM) に送信してください。Google Technical Account Manager (TAM) がレポートを確認し、 アプリのテスト時の参考資料として使用します。