Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Firebase Test Lab 無料枠を使ってみました。

DevFest Kansai 2016 LT
関西のGoogleテクノロジー系コミュニティイベントで発表した、
LT 資料です。

  • Login to see the comments

Firebase Test Lab 無料枠を使ってみました。

  1. 1. Page 1/72 DevFest Kansai 2016 LT (2016/11/27) Firebase Test Lab 無料枠を使ってみました。
  2. 2. Page 2/72 自己紹介 名前  robo ( 兼高理恵 ) お仕事  Java 技術者  要件定義に設計から実装まで 好きなもの  モバイル端末
  3. 3. Page 3/72 Firebase Test Lab for Android で無料枠が 使えるようになりました。
  4. 4. Page 4/72 Google Developers Japan Firebase Dev Summit 速報: I/O から 6 か月後の Firebase (2016/11/15) https://googledevjp.blogspot.jp/2016/11/live-from-firebase-dev-summit-in- berlin.html (オリジナル) Firebase Test Lab for Android でサポートされる端末の種類が増え、 無償版が導入されます。 本日より、Spark サービス(無償版)をご利用の場合、 1 日あたり物理端末で 5 回、仮想端末で 10 回のテストを実行できるよう になります。 クレジット カードの設定は不要です。 また、端末の選択肢を増やしてほしいという要望にお応えし、 本日より、11 種類の人気 Android 機種を Test Lab に新しく追加していま す。
  5. 5. Page 5/72 Firebase Test Lab for Android で無料枠が 使えるようになりました。 The Firebase Blog Start using Firebase Test Lab for Android at no charge (2016/11/17) https://firebase.googleblog.com/2016/11/start-using-firebase-test-lab-for- android-at-no-charge.html
  6. 6. Page 6/72 SPARKプラン(無償版)を利用していても、 以下の制限内なら無料でテスト実行ができるそうです。 1日につき、「実機デバイスで5つのテスト、仮想デバイスで10のテスト」が無料 で実行できます。 1回のテスト実行では、最大で4つの異なるデバイスを指定できます。 テスト実行では、実機と仮想デバイスが混在できます。 つまり実機1つと仮想デバイス2つをセットでテストするのなら、 1日につき5回分のテスト実行が無料で実行できることになります。
  7. 7. Page 7/72 (確認)Firebase の料金体系 Firebase 料金プラン https://firebase.google.com/pricing/ Firebase は、無料の SPARK プランでも制限付きで利用開始できますが、 今までの料金体系で Test Lab を利用するには、使用量に基づいて課金される BLAZE 有料プランにアップグレードする他ありませんでした。 もちろん有料プランにアップグレードするには、クレジットカードが必要になります。 とはいえ、 BLAZE プランにアップグレードすれば無制限にテスト実行できるようになります。
  8. 8. Page 8/72 (確認)Firebase の料金体系
  9. 9. Page 9/72 (補足)テストするアプリケーションについて テストに利用したアプリケーションは、 Firebase Android Codelab のプロジェクトを利用しました。 このサンプルは、Firebase Console での新規プロジェクト作成からAnalysticsやTest Labまでの実践演習になっています。 https://codelabs.developers.google.com/codelabs/firebase- android/index.html
  10. 10. Page 10/72 テスト内容について Firebase Android Codelab では、 Instrument test を使って Test Lab でのテスト実行の演習を行っています。 実機(またはエミュレータ)で Sign In画面 を表示して「ログイン」ボタンが表示されていることをチェックするだけの簡単なテストです。
  11. 11. Page 11/72 Firebase Test Lab for Android の概要 Firebase Test Lab for Android を参照 https://firebase.google.com/docs/test-lab/?hl=ja
  12. 12. Page 12/72 Firebase Test Lab for Android の概要 Firebase Test Lab for Android の概要 を参照 https://firebase.google.com/docs/test-lab/overview/?hl=ja
  13. 13. Page 13/72 Firebase Test Lab for Android (その他) 今回利用しませんでしたが、 テスト中で任意にスクリーンショットを撮る方法も説明されています。 Firebase Test Lab for Android インストゥルメンテーション テストのスクリーンショットを作成する https://firebase.google.com/docs/test-lab/test-screenshots?hl=ja
  14. 14. Page 14/72 次ページより 実際に Android Studio と Firebase Console から Firebase Test Lab をテスト実行させた結果になります。
  15. 15. Page 15/72 Android Studio から Firebase Test Lab を実行する
  16. 16. Page 16/72 Android Studio から Firebase Test Lab を実行する設定手順概要 Android Studio から Firebase Test Lab を利用する場合は、 Instrument test のテストコードの実装を行い、Firebase ドキュメントの Android Studio から Firebase Test Lab for Android を使用する。 https://firebase.google.com/docs/test-lab/android-studio?hl=ja に記載された設定手順を行います。 ですが記述内容は、対象バージョンが1.3〜1.5と少し古くなっています。 (注意)2016/11/25時点での最新 Android Studio バージョンは、2.2.2です。
  17. 17. Page 17/72
  18. 18. Page 18/72 Android Studio から Firebase Test Lab を実行する設定手順概要 Android Studio 2.0 以上で無料で Test Lab を使用する場合は、 課金を有効にする指定を無視して、 Firebase Android Codelab の 16. Test Your App (in the cloud!) https://codelabs.developers.google.com/codelabs/firebase- android/index.html#15 の設定手順を行います。
  19. 19. Page 19/72
  20. 20. Page 20/72 Android Studio から Firebase Test Lab を実行する設定手順概要 基本的に「Android Studio から Firebase Test Lab for Android を使用する。」の 設定手順から 「課金を有効にして Firebase プロジェクトを作成する」 と 「Android Studio で Test Lab を有効にする」 を除外した手順になります。 以上で説明は終了ですが、 判りにくいと思いますので、次から具体例を示します。
  21. 21. Page 21/72 Android Studio から Firebase Test Lab を実行 Run/Debug Configuration ダイアログを開く Android Studio の メニューから Run > Edit Configrations… で Run/Debug Configuration ダイアログ を開き、 左上の [+] ボタンから [Android Tests] を選択して Instrument test の設定を追加します。
  22. 22. Page 22/72 Gereral タブの Deployment Target Options 項目より上の設定は、 通常の Instrument test を行う場合の設定と同じです。
  23. 23. Page 23/72 Android Studio から Firebase Test Lab を実行 Firebase Test Lab でテスト実行させるように指定 Firebase Test Lab でテスト実行させる場合は、 Target のドロップダウンリストから Firebase Test Lab Matrix を選択します。
  24. 24. Page 24/72 Firebase Test Lab Matrix の選択により、 Firebase Test Lab. Pricing Infomation リンクや Connet to Firebase ボタンが表示されます。
  25. 25. Page 25/72 Android Studio から Firebase Test Lab を実行 Firebase サービスの課金コース確認 Firebase Test Lab. Pricing Infomation リンクをクリックすると ブラウザが開き、 Firebase サービスで現在利用している料金プラン情報が表示されます。
  26. 26. Page 26/72 (例では無料版の SPARK であることが表示されています)
  27. 27. Page 27/72 Android Studio から Firebase Test Lab を実行 Firebase サービスへの接続許可 Connet to Firebase ボタンをクリックするとブラウザが開き、 Firebase サービスを利用するための許可が求められるので、 [許可]ボタンをクリックします。
  28. 28. Page 28/72 Android Studio から Firebase Test Lab を実行 Firebase サービスへの接続結果 先の画面で[許可]ボタンをクリックするとブラウザが開き、 許可の結果が表示されます。
  29. 29. Page 29/72 Android Studio から Firebase Test Lab を実行 Matrix Configration の設定 Matrix Configration の[…]をクリックすると、 クラウド上でテストを実行する端末の設定マトリクス (Device × Platform × Locale × Orientation)と組み合わせ数が指定できます。 Matrix数は、各項目の組み合わせ数により決定されます。 例えば、Device、Platform、Locale、Orientation より各1項目のみ選択した場合 の組み合わせ数は1ですが OrientationでPortlateとLandscapeの両方(2つ)を選ぶと組み合わせ数は2と なります。
  30. 30. Page 30/72 Android Studio から Firebase Test Lab を実行 Matrix Configration の設定 Device選択 (例では37項目から1機種のみを選択しています)
  31. 31. Page 31/72 Android Studio から Firebase Test Lab を実行 Matrix Configration の設定 Platform選択 (例では4.3.x〜7.1.xの7APIから1APIのみを選択しています)
  32. 32. Page 32/72 Android Studio から Firebase Test Lab を実行 Matrix Configration の設定 Locale選択 (例では1ロケールのみを選択しています)
  33. 33. Page 33/72 Android Studio から Firebase Test Lab を実行 Matrix Configration の設定 Orientation選択 (例では縦置横置の2方向から1方向のみを選択しています)
  34. 34. Page 34/72 Android Studio から Firebase Test Lab を実行 Matrix Configration の設定 Cloud project の設定 (Firebase console で設定した当該アプリの Firebase project を選択) OKボタンをクリックすれば Matrix Configration 設定は終了です。
  35. 35. Page 35/72 Android Studio から Firebase Test Lab を実行 テスト実行...だが実行できず。 メニューから Run > Run 'FrientdryChat Test' でテスト実行するも、 Firebase の課金設定を有効にしてください(Please enable billing)と警告されて しまいました。
  36. 36. Page 36/72 結論 Android Studio から Firebase Test Lab の実行は不可 現時点の Android Studio(2.2.2) では、Firebase Test Lab 無料枠のテスト実行 に対応していないようでした。
  37. 37. Page 37/72 Firebase Console から Test Lab を実行する
  38. 38. Page 38/72 Firebase Console から Firebase Test Labs を実行する設定手順概要 Firebase Console から Test Lab を利用する場合は、Firebase ドキュメントの Firebase Test Lab for Android を使用してテストを実行する https://support.google.com/firebase/answer/6386654?hl=ja に記載された設定手順を参照ください。
  39. 39. Page 39/72
  40. 40. Page 40/72 Firebase Console から Firebase Test Lab を実行する設定手順概要 大まかな手順の流れは、Instrument test テストコードを実装して、 Firebase Console から Test Lab を選択し、アプリと Instrument test の APK アップロードを行ってから、Android Studio と同じように各種設定手順を 行っていきます。
  41. 41. Page 41/72 Firebase Console から Firebase Test Lab を実行する設定手順概要 Firebase Console にログイン
  42. 42. Page 42/72 Firebase Console から Firebase Test Lab を実行する設定手順概要 テストを行う Firebase Project を選択
  43. 43. Page 43/72 Firebase Console から Firebase Test Lab を実行する設定手順概要 Firebase Test Lab を選択
  44. 44. Page 44/72 Firebase Console から Firebase Test Lab を実行する設定手順概要 以降は、Firebase Test Lab for Android を使用してテストを実行する ドキュメントに従って設定手続きならびにテスト実行を行ないます。
  45. 45. Page 45/72 Firebase Console から Test Lab を実行 インストゥルメンテーション テスト実行
  46. 46. Page 46/72 Firebase Console から Test Lab を実行 インストゥルメンテーション テストを実行する。 インストゥルメンテーション テストを選択し、[実行] ボタンをクリックします。
  47. 47. Page 47/72 Firebase Console から Test Lab を実行 インストゥルメンテーション テストを実行する。 アプリとInsturument testのAPKをアップロードする。
  48. 48. Page 48/72 Firebase Console から Test Lab を実行 インストゥルメンテーション テストを実行する。 テストを実行する 端末 × APIレベル × Locale × Orientation を指定
  49. 49. Page 49/72 Firebase Console から Test Lab を実行 インストゥルメンテーション テストを実行する。 端末 × APIレベル × Locale × Orientation を指定 [1つのテストを実行] ボタンをクリックするとテスト実行がおこなわれます。
  50. 50. Page 50/72 Firebase Console から Test Lab を実行 インストゥルメンテーション テストを実行する。 インストゥルメンテーション テスト 実行終了
  51. 51. Page 51/72 Firebase Console から Test Lab を実行 インストゥルメンテーション テストを実行する。 テスト実行結果の生ログ一覧
  52. 52. Page 52/72 Firebase Console から Test Lab を実行 インストゥルメンテーション テストを実行する。 テスト実行結果のスタイル付きログ一覧
  53. 53. Page 53/72 Firebase Console から Test Lab を実行 インストゥルメンテーション テストを実行する。 テスト実行結果の動画再生 テスト実行が録画されるので、テスト状況が動画で確認できます。
  54. 54. Page 54/72 Firebase Console から Test Lab を実行 Robo テスト実行
  55. 55. Page 55/72 Firebase Console から Test Lab を実行 Robo テストを実行する。 Robo テストを選択し、[実行] ボタンをクリックします。
  56. 56. Page 56/72 Firebase Console から Test Lab を実行 Robo テストを実行する。 アプリのAPKをアップロードする。
  57. 57. Page 57/72 Firebase Console から Test Lab を実行 Robo テストを実行する。 テストを実行する 端末 × APIレベル × Locale × Orientation を指定
  58. 58. Page 58/72 Firebase Console から Test Lab を実行 Robo テストを実行する。 端末 × APIレベル × Locale × Orientation を指定 [1つのテストを開始] ボタンをクリックするとテスト実行がおこなわれます。
  59. 59. Page 59/72 Firebase Console から Test Lab を実行 Robo テストを実行する。 Robo テスト 実行終了
  60. 60. Page 60/72 Firebase Console から Test Lab を実行 Robo テストを実行する。 テスト実行結果のスタイル付きログ一覧
  61. 61. Page 61/72 Firebase Console から Test Lab を実行 Robo テストを実行する。 テスト実行結果の生ログ一覧
  62. 62. Page 62/72 Firebase Console から Test Lab を実行 Robo テストを実行する。 テスト実行結果のスクリーンショット一覧
  63. 63. Page 63/72 Firebase Console から Test Lab を実行 Robo テストを実行する。 テスト実行結果のアクティビティマップ(画面遷移図)一覧
  64. 64. Page 64/72 Firebase Console から Test Lab を実行 Robo テストを実行する。 テスト実行結果の動画再生 テスト実行が録画されるので、テスト状況が動画で確認できます。
  65. 65. Page 65/72 結果 Firebase Console から Test Lab は実行 OK Firebase Console から Firebase Test Lab 無料枠のテスト実行が行えました。 インストゥルメントテーション テストでは、テスト可否だけでなく、 ログ出力、テスト中の動画が記録されます。 Robo テストでは、テスト可否だけでなく、 ログ出力、スクリーンショット、アクティビティマップ(画面遷移図)、テスト中の動 画まで記録されます。
  66. 66. Page 66/72 総括 Test Lab 無料枠でテスト実行ができました。 Android Studio から Test Lab のテスト実行は現時点で未対応 Firebase Console から Test Lab のテスト実行は可能 アプリ本体と Instrument test の APK アップロードが必要。 Instrument test では、ログやテスト中の動画も記録される。 Robo test も実行でき、ログやテスト中のスクリーンショットや動画 およびアクティビティマップ(画面遷移図)も記録される。 Device × Platform × Locale × Orientation の組み合わせに注意する。 テスト対象機種にAQUOSやarrowsがなく、まだ日本向けとは言いがたい。 Test Lab を活用するためには、Insturmentaion test(AndroidTest)を作らなくて はいけない!
  67. 67. Page 67/72 ご清聴、ありがとうございました。
  68. 68. Page 68/72 (補足) Matrix Configration 選択項目一覧 組み合わせ数は、 Device選択数 × Platform選択数 × Locale選択数 × Orientation選択数 …で求められることに注意。 Device (37種類) PHYSICAL (29機種) Xperia Z2 Sony, Xperia Z3 Sony, Xperia Z5 Compact Sony, Moto G4 Plus Motorola, Moto G4 Motorola, Moto E Motorola, Moto G (1st Gen) Motorola,
  69. 69. Page 69/72 Nexus 7 (2013) ASUS, Nexus 9 HTC, LG G3 LG, Nexus 5 LG, Galaxy S7 Samsung, Galaxy Note3 Duos Samsung, HTC One (M8) HTC, Galaxy J5 Samusung, Galaxy S4 (3G) Samsung, Galaxy Tab 3 Samsung Samsung Galaxy S3, Samsung Nexus 4 LG, Moto G (3rd Gen) Motolora LG G4 LG,
  70. 70. Page 70/72 Galaxy S4 mini Samsung Nexus 6 Motorola, Galaxy Note 2 Samsung, Moto G (2nd Gen) Motorola, Galaxy Note 4 Samsung, Moto X Motorola, Galaxy S6 Samsung, Galaxy S6 Edge Samsung, VIRTUAL (8機種) Nexus 10 Samsung, Nexus 4 LG, Nexus 5 LG, Nexus 5X LG, Nexus 6 Motorola,
  71. 71. Page 71/72 Nexus 6P Huawei, Nexus 7 (2012) ASUS, Nexus 9 HTC, Platform (7種類) Android 4.3.x API 18 (JellyBean), Android 4.4.x API 19 (KitKat), Android 5.0.x API 21 (Lollipop), Android 5.1.x API 22 (Lollipop), Android 6.0.x API 23 (Marshmallow), Android 7.0.x API 24 (Nougat), Android 7.1.x API 25 (Nougat), Locale (1種類) Japanease - default
  72. 72. Page 72/72 Orientation (2種類) Lanscape Portarait

×