Android Test Night#4に参加してきた! #android_test_night

先日、Android Test Nightに参加してきました。
ブログ枠です!

info

testnight.connpass.com

togetter.com

会場がめちゃくちゃオシャレでした。写真撮ってませんが。。。

LT

世界のカンファレンスから~AppiumConf 2018~

  • AppiumConf 2018参加レポ
  • youtubeに動画あり
  • オススメのトーク紹介
    • Appium: The Untold Story
    • Docker-Android: Open Source UI-Test infrastructure for mobile website and android application
    • Layout Automation Testing (GUI)
    • Deep Hacking Appium for Fun and Profit

appiumconf.com

ロンドンで開催された、AppiumConf2018に参加された話でした。お恥ずかしながらAppiumはここで初めて知ったのですが、カンファレンスのセッション一覧を眺めるだけでもテーマが幅広く、ワクワクしてきました。
また、登壇者の@mkwrdさんの写真集も、海外カンファレンスの参加したみを高めてくれました。資料公開お待ちしてます!

2018/07/24 0:35追記
資料共有していただきました!

SDK開発にUIテストを導入してみた

  • SDKならではのテストの難しさ
    • SDKのユーザーは開発者
    • ユーザーのアプリ構成が様々
    • 対応端末が広い
    • 長期間古いバージョンが使われる
  • 課題
    • 自動テストのメンテコスト
    • 手動テストを様々な環境で回したい
    • adhocテストを一つにまとめたい
  • 解決策: UIテスト
    • メリット
    • やり方
      • テスト対象SDKを組み込んだ簡単なアプリを準備
      • 通信やライフサイクル、UIなどをmockやテストライブラリを使って検証
    • 成果

タイトルからして引き込まれたLTでした。SDKなのにUIテストって……?と思いましたが、確かに動作を保証する目的ではそのレベルの抽象度のテストを走らせるのが効果的だなぁと。
また、SDK開発ならではのテストの難しさは非常に生々しく印象的でした。提供側でユーザーの使用状況をコントロールできないつらみをひしひしと感じます……。初めてリリースする際に、そこの戦略をしっかり立てておかないとですね。まさかAndroidX.Xから対応しているとは……(詳しくは資料で)。

Visual Studio App CenterでGitHubのPull Requestを効率よく対応しよう

www.slideshare.net

  • Visual Studio App Center
    • 自動ビルド、テストに加えてアプリ配布やAnalyticsのサポートをしてくれる
    • Github Appができた
    • PR画面でビルド、テストの状況を確認できる

Microsoftが提供するVisual Studio App Centerの紹介でした。 https://azure.microsoft.com/ja-jp/services/app-center/

Githubとの連携はMicrosoftGithub買収完了よりも先に行われていたようですが、CI周りのツール群を一つにまとめられるのは大きいですね。
また、本題ではないですが、GithubのChecks APIも興味深い話題でした。このAPIのおかげで、PRページのChecksタブからビルド結果だけでなく更に詳細な情報を確認することができるようになります。

f:id:t-miliya612:20180623225549p:plain
https://blog.github.com/jp/2018-05-11-introducing-checks-api/#%E6%96%B0%E6%A9%9F%E8%83%BDchecks-api

現在の連携はVisual Studio App CenterとTravis CIのみで、Circle CIは現在連携に向けて開発中だそうです。

blog.github.com

対応を楽しみに待ちたいと思います!

Android Architecture Componentとテスト

github.com

  • AACのLiveDataにテストを書く
    • UnitTest
      • Observerの状態と変更通知、そのタイミングを意識してテストケースを考える
      • テストを書くときはLiveData#observeForever()を使うと便利
    • InstrumentTest(UI)
      • UIテストのケースは、VMのLiveDataにpostすることで実装できる

AAC導入に向けての知見です。登壇者の方も含め、会場にはまだあまりAACを業務レベルで導入している人は少ない様子でした。
LTの中では特にInstrumentTestに関する話が面白くて、ただmainの実装だけではなく、テストを書く際に発揮されるAACの力が感じられて最高でした。Android Architecture Componentsですし、納得です。

Androidテスト全書トーク

peaks.cc

とんでもないスピードでプロジェクトが成立したことで話題になったこの本の著者陣が集まって、トークイベントが行われました。

twitter.com

twitter.com

twitter.com

twitter.com

twitter.com

ファシリテーターは、Peaks代表のながのさんです。

twitter.com

なお、父さん(通称パパさん)は現在アメリカにいらっしゃるため、またtarappoさんは所用のため残念ながら不参加でした。。。パパさんのDroidKaigi2018でのUnit Testハンズオンのおかげで僕もテストを書き出せています。

fushiroyama.hatenablog.com

また、このメンバーに加えて、この本の編集校正を担当されているLionasさんもご登壇されました。

twitter.com

トーク内容は以下からどうぞ。必死でメモ取りましたが、内容途中で抜けてるかもです。。。

Android Test Night#4 - Androidテスト全書トーク

めちゃくちゃ中身が濃い時間でした。テストそのものとしても、またアウトプットする、という点でも非常に学ぶべき点が多かったです。
また、ながのさんのファシリテートスキルが高いこと……!恐ろしく話のフリがスムーズでした。リリースは8月末予定、楽しみにしています!


以上、イベントレポートでした。初めてブログ枠として申し込んでみましたが、お楽しみいただけていれば幸いです。
テストはアプリごとに全く事情が違うため、書いているとちょっと寂しくなることもありますが、エモい話もあり、知らない世界もあり、意義のある時間を過ごせました。登壇者の方々、また主催者の方々、ありがとうございました!

参考

  • あの 和田さんの資料もぜひ!