DeNA Testing Blog

Make Testing Fun, Smart, and Delighting End-Users

2019年最後のAndroid/iOS Test Nightを開催しました

SWETグループ、iOS自動テスト領域チームの平田(tarappo)とAndroid自動テスト領域チームの田熊(fgfgtkm)、外山(sumio)でお送りします。

おかげさまで、今年でiOS Test Nightは3周年を終えて4年目に、Android Test Nightは2周年を終えて3年目になりました。 皆様のおかげでTest Nightに登録されている資料は156件になりました。ここには素晴らしい知見が集まっています。

そんなTest Nightですが、12/16(月)に2019年最後のTest NightとしてiOSとAndroidを併せておこなったAndroid/iOS Test Nightを開催しました。 f:id:swet-blog:20191225153841j:plain

今年のTest Nightをすべて振り返りたいところですが、その中でも今年最後のAndroid/iOS Test Nightでの登壇について、SWETメンバーが軽くふりかえってみたいと思います。

Android枠の登壇内容

費用対効果の高いテストコードを書くために考えたこと


f:id:swet-blog:20191225150834j:plain:w380


この発表では、テストコードを書く目的の候補4つを挙げ、そこを出発点にテストを書く範囲を決めていく過程が解説されていました。

巷で良く言われている言説をそのまま適用せず、ご自身のプロジェクトの状況と照らし合わせて範囲を絞り込んでいく過程が丁寧に解説されており、とても共感できる内容でした。

絞り込んだ結果はKaoru Hotateさんのプロジェクトにしか当てはまらないとしても、その考え方は他のプロジェクトでも応用できると思います。これからテストを自動化しようと考えている方におすすめの発表でした。

AWS Device FarmとCircleCIでAndroidのUIテストを自動化しよう


f:id:swet-blog:20191225150609j:plain:w380


AWS Device Farmの機能と、Device Farmを活用したテスト実行をCIと統合する方法ついての紹介でした。 また、テストコードなしでデバイス上で自動テストが実行できるFuzzテスト機能のデモを見せていただきました。

Gradleのpluginがあるおかげで導入の敷居は低く、スモークテストをサッとはじめたいときにとてもいいなと思いました。

既存プロジェクトへCI/CDをどう導入するか?


f:id:swet-blog:20191225150811j:plain:w380


発表の中では、CI/CDの導入をただ単なる技術の導入ではなく、開発チームの文化を変えるきっかけにしている点が印象的でした。

さらに段階的に機能を追加していくうえで、Horie1024さんが実践してきた具体的なプラクティスについても紹介されていました。

SWETチームでもテストやCI/CDの導入を行うことがあるのですが、進め方を考える上で大変勉強になる発表でした。

iOS枠の登壇内容

Xcode 11におけるXCUITestの挙動


f:id:swet-blog:20191225153734j:plain:w380


Xcode 11ではいろいろな出来事が起きますが、その中でもXCUItestの挙動について話してくれました。

私も出会った事象はありましたが、ここまでいろいろな情報はさすがだなと思います。 Xcodeのメジャーアップデート時などにXCUITestにおいて何かしらの問題に出会ったら、Appiumのissueを見に行くのも1つの方法だと思います。

2019年のSwiftモック事情


f:id:swet-blog:20191226100522j:plain:w380


Swiftにおけるモック事情について複数のライブラリについて紹介してくれました。

本発表では、最近リリースされたMockoloについても触れていました。 このライブラリはUber製で、コード生成が高速であることがウリになっています。 SWETでも以前調査はしていたのですが、リリースされたばかりの1.1.0については追加調査をしておらず、本発表で改めて試してみないといけないなと思いました。

DeNAからの登壇内容

DeNAからはMOVのiOSアプリ開発をおこなっているsatoshin21とSWETから平田が登壇しました。

GTXiLibで小さく始めるAccessibility Testing


f:id:swet-blog:20191225153801j:plain:w380


Accessibilityは重要という認識は広まってきてはいますが、優先順位的に下がりがちではあります。 ただAccessibility Inspectorを使って、常にチェックをするのはなかなか高コストです。 そこで、GTXiLibを使ってテストを小さくはじめようという内容です。

最近、この手の話を聞く機会も増えており重要性がさらに高まってきたと思っています。 私はまだ手を出せていませんが、アクセシビリティについてもテストをしていく必要性を感じています。

iOSにおけるパフォーマンス計測


f:id:swet-blog:20191225153821j:plain:w380


Appleはここ数年パフォーマンスに関する機能を提供してきています。 また、パフォーマンス改善に関するドキュメントなども提供しています。

iOSにおいてはどのように改善サイクルを回すと良いのか、またその時に利用できるもgのとして何があるのかについて登壇をしました。

最近、パフォーマンス周りについて力を入れていることもあり今回のような登壇をしました。 お話しきれなかったことも多くありましたので、また何かしらの形でアウトプット出来ればと思います。

ブログ枠のまとめ

ウホーイさんが作成してくれました。 各発表のTwitterでの反応がまとまっており、当日の盛り上がりが伝わってきます。 いつもありがとうございます。

最後に

2019年、皆様のおかげで素晴らしいTest Nightを合計9回も開催することができました。 2020年もTest Nightなどを通してさらなるナレッジを皆様と一緒に世に届けられたらと思います。

最後の最後に、 SWETの仕事に興味を持った方は、SWETメンバーに声をかけていただければと思います。