「Androidアプリ テスト技法」第3章その4(終わり)
- 作者: 生路茂太,井芹洋輝,神原健一,長谷川孝二,松木晋祐,宮田友美,吉澤毅
- 出版社/メーカー: 秀和システム
- 発売日: 2013/02
- メディア: 単行本
- この商品を含むブログ (2件) を見る
UIテスト自動化
テストのためのツールやフレームワークは色々あるが、それぞれ長所短所があり、これ一つで万事OKという状態ではないらしいですが、とりあえずRobotiumを使っておくのがよさそうでしょうか?
Android Testing Framework
AndroidSDKに標準で含まれる。一部のUI操作が行えないという制約はあるが、ビジネスロジックからUIのテストまでこなせる便利なツール
monkeyrunner
標準で含まれる。絶対座標指定でUIを操作でき、Pythonで操作内容を記述可能なツール
uiautomator
標準で含まれる。様々なパターンのUIテストに有効だが、4.1(API 16)以降のみのサポートとなる
Robotium
Activityをまたがるテストを書いたりするときに便利
Native Driver / Monkey Talk
AndroidとiOSの両方のプラットフォームをサポートしているツール
ユニットテストアプローチ
JUnit4を使ったロジックのテスト
AndroidSDKに依存しないビジネスロジックだけを切り出して、JDKを利用した箇所だけをJavaVM上でテストする。
また、Android SDK を利用している箇所をテストするには、Robolectricというフレームワークのモックを利用するとよい。
JavaVMでテストをする場合の注意点は以下
- テスト対象はAndroid APIを利用しないソースだけ
- Activityからロジックを切り出すこと
- JDKとAndroid SDKは、同じクラスでも実装が異なることがあるため、Dalvik VM上での動作確認も必要となる
Robolectricを使ったテスト
Robolectricを使えば、JavaVM上でAndroidの処理も動作可能になるが、Dalvikで動くわけではないため、テスト自体の信頼性は低くなることは理解する必要がある。
そのほか
Android実機の使用
エミュレータだけではなく、実機を用いたテストの実施がとても重要ではあるが、画面サイズやdensityが異なる環境での確認のためにエミュレータも必要。
アプリの品質
公式サイトでApp Qualityアプリの品質に関するガイドラインをチェックすること
Robolectric導入
Robolectric からライブラリをダウンロードし、新規テストプロジェクト作成してテストを行うまでの手順が解説されているが、面倒そうだし、現時点でここまでやる余裕はないのでよみとばし。
予定よりかなり時間がかかりましたが、なんとか読み終わりました。
テストコードも書き慣れるとちょっと楽しいかも…しれ…ないこともないですね…やっぱり…
とりあえず、品質向上とトータルでのコスト削減のためがんばります。
風邪気味ですこし鼻水が垂れてきてはいますが、今日はマイクロソフトさんの「Community Open Day 2013」で @waki 氏のセッションだけ聞いて、京都へと帰ります。
そろそろ移動開始!