他のタイプの iOS アプリとは異なり、Home APIs アプリには、物理的なスマートホーム デバイスへの依存関係、ネットワークの信頼性、セキュリティとプライバシー、デバイスとプロトコルの相互運用性など、独自の考慮事項と課題があります。これらの違いはテストに影響します。
テスト環境のセットアップ
Home APIs アプリをテストするには、堅牢なテスト環境が不可欠です。
専用の Wi-Fi ネットワークでテスト デバイスを分離することをおすすめします。これにより、他のデバイスからの干渉を防ぎ、帯域幅の制限など、さまざまなネットワーク条件をシミュレートできます。
さまざまなメーカーのさまざまなスマートホーム デバイス タイプを使用してテストする必要があります。必ず実際の物理デバイスでテストしてください。仮想デバイスとエミュレータは便利ですが、これらにのみ依存すべきではありません。
同様に、さまざまなメーカーのさまざまな iOS デバイスで、画面サイズが異なり、異なる iOS バージョンを実行しているアプリをテストすることで、幅広い互換性を確認できます。
ツールを準備する
Home APIs アプリのテストに役立つツールは次のとおりです。
| ツール | 説明 |
|---|---|
| Google Home Playground | 実際の物理デバイスでのテストの代わりにはなりませんが、 多くのテスト シナリオで非常に役立ちます。 |
| Matter Virtual Device (MVD) | Home APIs アプリで Matter デバイスをテストする際に役立つ別のエミュレーション アプリです。 |
| ネットワーク エミュレータ | さまざまなネットワーク条件と API レスポンスをシミュレートできます。 クラウド バックエンドを使用している場合に特に便利です。 |
| TestFlight | UI テストを自動化できます。ハードウェアのインタラクションをシミュレートするには、基盤となる API をモックする必要があります。 |
| XCode コンソール | ログデータを処理して分析します。 |
| XCUIAutomation | UI テストを自動化できます。ハードウェアのインタラクションをシミュレートするには、基盤となる API をモックする必要があります。 |
さまざまなテスト アプローチと戦略を適用する
Home APIs アプリには、さまざまなテスト アプローチを適用する必要があります。さまざまな方法の一般的な情報については、 TestFlight でアプリをテストするをご覧ください。 すべての iOS アプリで実施されるユーザー エクスペリエンスとセキュリティのテストに加えて、Home APIs アプリに特に重要なテスト領域があり、次のセクションで詳しく説明します。
機能テスト
アプリの機能に応じて、次の領域に特に注意することをおすすめします。
- デバイスの検出とペア設定。初期設定、新しいデバイスとのペア設定、アプリの再起動、デバイスの再起動、ネットワークの変更後の既存のデバイスの再検出など。デバイスが応答しない場合や、ユーザーが誤った認証情報を入力した場合などのシナリオも確認してください。
- 状態の同期。アプリが現在の状態を正確に反映するように、タイムリーに更新されることを確認します。
- 権限の管理と適用方法。アプリが複数のユーザーまたは共有ホーム アクセスをサポートしている場合は特に重要です。これには、アプリが取り消された権限を適切に処理することを確認することも含まれます。
- アプリがシーン(すべての照明を消灯する「おやすみ」シーンなど)をサポートしている場合は、シーンの作成、変更、実行をテストします。開始条件やアクションなど、自動化をテストします。
パフォーマンス テスト
アプリが応答し、不要なレイテンシが発生しないことを確認します。可能であれば、多数のデバイスでテストして、スケーラビリティと負荷時のアプリのパフォーマンスを評価します。また、特にデバイスがアクティブに通信しているときのアプリの CPU、メモリ、バッテリーの消費量を確認し、リソースの使用量が適切かどうかを確認します。
信頼性と安定性のテスト
ネットワーク接続に依存するため、Home APIs アプリは次のシナリオでテストする必要があります。
- ネットワークの変動
- Wi-Fi の切断、電波の弱さ、ネットワークの切り替えをシミュレートします。
- アプリが切断と再接続を適切に処理することを確認します。
- 接続が復元されたときにコマンドがキューに登録されて実行されること、または適切なエラー メッセージが表示されることを確認します。
- ホーム ネットワークだけでなく、リモート ネットワークからもアプリをテストします。
- デバイスの切断
- デバイスのプラグを抜きます。
- デバイスの電源を入れ直します。
- 同時実行オペレーション
- 一連のコマンドをすばやく送信します。
- 複数のユーザーが同じデバイスを同時に操作しようとします。
- 重複するシーンと自動化をテストします。
- エラー処理
- クラウド API サーバーのレスポンスをモックするなどして、API エラーを強制的に発生させます。
- ユーザーからの無効な入力をテストします。
- グレースフル デグラデーションと、適切なエラー メッセージが表示されることを確認します。
- 信頼性 - アプリと接続されたデバイスを 長時間実行して、メモリリークや安定性の問題がないか確認します。
アプリをリリースする前に
Home APIs を使用するアプリは、リリースする前に徹底的にテストして、すべての機能要件と品質要件を満たしていることを確認することをおすすめします。 Google Home APIs アプリ テストレポートをガイドとして使用して、アプリの 機能をテストします。
Google Home APIs アプリ テストレポートの提出を求められた場合は、 レポートを Google Technical Account Manager (TAM)に送信してください。Google はレポートを確認し、 アプリのテストの際に参考資料として使用します。