espresso と firebase test lab で android アプリのテストを自動化する

Post on 16-Apr-2017

366 Views

Category:

Software

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Espresso と Firebase Test Lab でAndroid アプリのテストを自動化する

2016/11/27DevFest Kansai 2016 LTSansan 株式会社 辰濱健一

Copyright © 2014 Sansan, Inc. All rights reserved.

自己紹介

2

Copyright © 2014 Sansan, Inc. All rights reserved.

>自己紹介

3

• 辰濱健一

• 徳島生まれ、奈良育ち、徳島県在住

• 2 回転職するも、いずれも徳島県内勤務

• Sansan 株式会社所属

• 古民家を改修した神山ラボ勤務

• 名刺アプリ Eight Android 版の開発

• リモートワーク

Copyright © 2014 Sansan, Inc. All rights reserved.

>自己紹介

4

• 辰濱健一

• 徳島生まれ、奈良育ち、徳島県在住

• 2 回転職するも、いずれも徳島県内勤務

• Sansan 株式会社所属

• 古民家を改修した神山ラボ勤務

• 名刺アプリ Eight Android 版の開発

• リモートワーク

Copyright © 2014 Sansan, Inc. All rights reserved.

>Sansan 神山ラボ

5

Copyright © 2014 Sansan, Inc. All rights reserved.

>趣味

6

• 楽器演奏(エレクトーン・トランペット)

• 徳島県内のイベントで、ちらほら演奏する機会を頂いてます

Copyright © 2014 Sansan, Inc. All rights reserved.

>Tokushima.app

7

• http://tokushima-app.connpass.com• 徳島のスマホアプリ開発の勉強会

• 基本もくもく会、たまにハンズオン

• 場所は徳島市内、 10:00 〜 16:00• 初心者でも OK 、入退出自由、参加費無料

Copyright © 2014 Sansan, Inc. All rights reserved. 8

本題へ…

Copyright © 2014 Sansan, Inc. All rights reserved.

まず、 Espresso

9

Copyright © 2014 Sansan, Inc. All rights reserved.

Espresso

10

• Google 製 Android テストライブラリ

• https://google.github.io/android-testing-support-library/docs/espresso/

• UI テストに最適なフレームワーク

• View を探す

• View に対して Action を行う

• View の状態を検証する

Copyright © 2014 Sansan, Inc. All rights reserved.

サンプルアプリ

11

• 文字を入力

https://github.com/googlesamples/android-testing/tree/master/ui/espresso/BasicSample

Copyright © 2014 Sansan, Inc. All rights reserved.

サンプルアプリ

12

• 文字を入力

• 上のボタンタップ

• 入力文字を上部に表示

https://github.com/googlesamples/android-testing/tree/master/ui/espresso/BasicSample

Copyright © 2014 Sansan, Inc. All rights reserved.

サンプルアプリ

13

• 文字を入力

• 上のボタンタップ

• 入力文字を上部に表示

• 下のボタンタップ

• 別画面で入力文字を表示

https://github.com/googlesamples/android-testing/tree/master/ui/espresso/BasicSample

Copyright © 2014 Sansan, Inc. All rights reserved.

Espresso のテストコード

14

Copyright © 2014 Sansan, Inc. All rights reserved.

Espresso のテストコード

15

id が R.id.editTextUserInput の View を探して…

Copyright © 2014 Sansan, Inc. All rights reserved.

Espresso のテストコード

16

文字を入力して、キーボードをとじる

Copyright © 2014 Sansan, Inc. All rights reserved.

Espresso のテストコード

17

id が R.id.changeTextBt の View をクリック

Copyright © 2014 Sansan, Inc. All rights reserved.

Espresso のテストコード

18

id が R.id.textToBeChanged の View のテキストをチェック

Copyright © 2014 Sansan, Inc. All rights reserved. 19

Espresso はUI 操作を記述できて

検証できる!

Copyright © 2014 Sansan, Inc. All rights reserved.

つぎに、 Firebase Test Lab

20

Copyright © 2014 Sansan, Inc. All rights reserved.

Firebase

21

• Google 製 の BaaS• https://firebase.google.com/• 分析、認証機構、ストレージなど開発の支えになる各

種サービスを統合して提供

• その中で、端末のテスト環境も提供されている→ Firebase Test Lab

Copyright © 2014 Sansan, Inc. All rights reserved.

Firebase Test Lab

22

• クラウド上の Android 実機を時間借りできる

• テストの種類

• Robo テスト

• いわゆるモンキーテスト

• Instrumentation テスト

• 記述したテストスクリプト( Espresso など)を実行

• テスト中のスクショや動画も確認できる

Copyright © 2014 Sansan, Inc. All rights reserved.

Firebase Test Lab

23

• クラウド上の Android 実機を時間借りできる

• テストの種類

• Robo テスト

• いわゆるモンキーテスト

• Instrumentation テスト

• 記述したテストスクリプト( Espresso など)を実行

• テスト中のスクショや動画も確認できる

Copyright © 2014 Sansan, Inc. All rights reserved.

Firebase Test Lab で Espresso を!

24

Copyright © 2014 Sansan, Inc. All rights reserved.

Firebase コンソール

25

Test Lab をクリック

Copyright © 2014 Sansan, Inc. All rights reserved.

テストタイプの選択

26

インストゥルメンテーションテストを選択

Copyright © 2014 Sansan, Inc. All rights reserved.

アプリ本体とテストの apk を選択

27

app-debug.apk

app-debug-androidTest.apk

Copyright © 2014 Sansan, Inc. All rights reserved.

ディメンションを選択して開始

28

機種 API レベル

画面の向き

Copyright © 2014 Sansan, Inc. All rights reserved.

ディメンションを選択して開始

29

横展開が非常に容易!!

Copyright © 2014 Sansan, Inc. All rights reserved.

実行中…

30

Copyright © 2014 Sansan, Inc. All rights reserved.

結果(全体)

31

Copyright © 2014 Sansan, Inc. All rights reserved.

結果(個別:テストケース)

32

Copyright © 2014 Sansan, Inc. All rights reserved.

結果(個別:動画)

33

ログや動画により、失敗しても

原因特定が容易!

←  日本語で入ってる…

※ 課金しないと参照できない

Copyright © 2014 Sansan, Inc. All rights reserved.

アクティビティマップも出力される

34

※Robo テストだけかも?

Copyright © 2014 Sansan, Inc. All rights reserved. 35

Firebase Test Lab で色んな実機上で

テストが行える!

Copyright © 2014 Sansan, Inc. All rights reserved. 36

まとめ

Copyright © 2014 Sansan, Inc. All rights reserved. 37

Espresso &Firebase Test Lab で

Copyright © 2014 Sansan, Inc. All rights reserved. 38

Android アプリのUI テストが

自動化できる!

Copyright © 2014 Sansan, Inc. All rights reserved. 39

Fin.

top related