Android Automotive 向けアプリの開発には、独特な課題が伴います。車載インフォテインメントシステムを構築している方であれば、これらのアプリのテストが決して簡単ではないことをご存知でしょう。
先日のウェビナーでは、Qt GroupのAndreas Mussが、これらの課題について説明し、自動化GUIテストがどのようにチームのアプリテストをより簡単かつ確実に行えるか、深い技術知識や高価なツールを必要とせずに実現する方法を紹介しました。
以下、その内容を簡潔にまとめました。
通常のAndroidアプリとは異なり、Android Automotiveアプリは車両ハードウェア上で直接動作します。システムには、安全性重要機能とエンターテインメントやナビゲーション機能を分離する厳格なルールがあります。これにより、実際の使用ケースや相互作用のシミュレーションが困難となり、特にアプリから車両状態(運転中対駐車中)などを制御できない場合に問題となります。
自動車メーカーは、独自のニーズに合わせてAndroid Automotiveをカスタマイズすることがよくあります。つまり、各システムの動作が多少異なる可能性があり、これらのシステム間で同じアプリをテストすることは時間がかかり、一貫性に欠ける場合があります。
多くのAndroid Automotiveアプリは「システムアプリ」であり、オペレーティングシステムの一部としてプリインストールされています。Play Storeのアプリパッケージに依存する標準的なテストツールは、この環境では適切に機能しません。
Squishは、深いプログラミング知識やアプリの内部コードへのアクセスを必要とせずに、デスクトップ、モバイル、組み込みシステム、そして現在はAndroid Automotiveのユーザーインターフェースをテストする強力な自動化GUIテストツールです。
Squish for Android Automotiveは、複雑さを増すことなくこれらの問題を解決するよう設計されています。
| ソースコード不要 |
Squishはアプリの内部コードやオブジェクトIDへのアクセスを必要としません。つまり、プログラミング知識のないテスターでも意味のあるテストを作成・実行できます。 |
| ユーザーと同様にアプリをテスト |
Squishでは、3つのレベルでアプリと相互作用できます: |
| アプリ以外のテストも可能 |
Squishでは、Wi-Fi、輝度、Bluetoothなど、アプリの動作に影響を与える可能性があるシステムレベルの設定もテストできます。 |
| 既存の開発パイプラインに適合 |
JenkinsやGitLab CIなどの継続的インテグレーションシステムにSquishテストを組み込むことで、アプリが更新されるたびにテストを自動化できます。 |
| Android Automotive向けの追加費用なし |
Squish for Android Automotiveは標準Squishライセンスに含まれています。予期しない費用は発生しません。 |
Android Automotive向けアプリのテストは困難です。限定的なアクセス、カスタムシステム、手動プロセスがすべてを遅らせます。しかし、必ずしもそうである必要はありません。
オンデマンドウェビナーをご視聴いただき、業界をリードするチームがどのように以下を実現しているかをご確認ください。
Android Automotiveのテストのスケール化や高速化でお困りの場合は、このセッションが役立ちます。