2019/03/26(火)に行われた「Bonfire iOS #5」のまとめです。
ハッシュタグは#yjbonfireです🐦
「Bonfire」とは?
ヤフーさんが主催している技術・デザインのコミュニティです。
詳細はヤフーさんのブログをご参照ください↓
イベントページはこちら↓
開場
- 時間:19:00-
会場はヤフーさんのコワーキングスペース「LODGE」です。
Yahoo!JAPANのオフィス内にあるのですが、普段から社員でない方も利用できるようです↓
非常に居心地のいい空間だったので、イベント以外でも利用してみたいです。
発表
今回のテーマは「テスト」です。
テストは書かないと宣言していたアプリの現在
- 時間:19:35–19:45
- 発表者:Kakkun a.k.a. fromKKさん(@fromkk)
テストを書いていないアプリを改善したお話でした。
冒頭で失敗点をしっかりかつ面白く伝え、それをどうやって解決したかを順序立てて説明されていたので、とてもわかりやすかったです。
「チェッキング」と「テスティング」の概念や違いは知らなかったので勉強になりました。
ただまだ完全には理解していないです…。「チェッキング」は正常系の確認、「テスティング」は異常系の確認、だと思いましたが、もう少し深そうです。
StubやSpyを自動生成するツールを紹介されていました↓
私もVIPERアーキテクチャを採用していて、こちらのツールとは相性がよさそうなので使ってみたいです。
2週間のうち1日をリファクタリングや技術的負債の返済に使う「タスクデー」という日を設けているのは面白いと思いました。私はスクラム開発でスプリント内のタスクに使う時間を1日に5時間ほどと考えて見積もっているのですが、なんだかんだ丸一日フルに使ってしまい、他のことをできないことがあるので、試してみたいです。
Dangerというツールも初めて知り、気になりました。
全体的に私の知らない知見を幅広く知ることができ、とても充実した内容でした。
パフォーマンスチューニングとユニットテスト
- 時間:19:45–20:05
- 発表者:shota nakagamiさん(@shtnkgm)
Yahoo!ショッピングiOSアプリのパフォーマンス改善と単体テストについての発表でした。
Yahoo!ショッピングiOSアプリでは「機能開発チーム」と「技術改善チーム」に分かれており、なかみーさんは技術改善チームに属しているとのことです。
スライドを丁寧に作成されており、非常にわかりやすかったです。シンプルで無駄を省いたデザインや構成は、スライド作成の参考にさせていただきたいです。
Viewの単体テストに関するTipsも勉強になりました。Viewに関わらず private(set)
を一度も使ったことがなかったので、どうしても非公開にできないプロパティには積極的に使おうと思いました。
Debug View Hierarchyを使い、タブがたくさん重なって生成される不具合を見つけたのはすごいと思いましたw
ポストモーテムやってみた
- 時間:20:05–20:15
- 発表者:田中 賢治さん(@ktanaka117)
ポストモーテムを実際に行ったお話でした。
「ポストモーテム」という単語を初めて聞きましたが、簡単にいうと「問題の収束後に行う振り返り」のことのようです。
理解が追いつかなかったので、こちらのスライドと参考にされた記事などを読んで復習します。
「NVC」という単語も初めて聞いたので、こちらの本を読んで勉強したいです。
個人的にはこちらのツイートが好きですw
あなたがUIテストで評価したいのは何ですか?
- 時間:20:30–20:40
- 発表者:Shingo Tamakiさん(@alligator_tama)
UIテストについての発表でした。
恥ずかしながら「テストピラミッド」という言葉と図を初めて知りました…。ざっくりいうと「UIテストは複雑でコストがかかるから、できるだけ単体テストを書こう」ということを表している図だと認識しました。(違ったらご指摘ください)
テストピラミッドについてはこちらの記事が詳しそうなので、あとで読みたいです。
UIテストの目的について深く考えたことがなく、非常に考えさせられる発表で心に刺さりました。
UIテストを書いている、またはこれから書こうとしている方にはぜひ見てほしいスライドです。
Embedded frameworkを利用して既存プロジェクトでも爆速でTDD
- 時間:20:40–20:50
- 発表者:新堂 敬隆さん(@shindyu)
Embedded frameworkを使ってTDDされたお話でした。
ヤフオク!iOSアプリはTDD+ペアプロで開発されているとのことです。私はどちらもやったことがないのでやってみたいです…。
Embedded frameworkは使ったことがなかったので、参考になりました。
TDDの方法を具体的に紹介されており、非常に勉強になりました。ここまで詳細に説明してくださるのは嬉しいです。
個人的には以下が気になりましたが、仕方なさそうです…。
懇親会
- 時間:21:00–22:00
料理があまりにも素晴らしくてびっくりしました…。美味し過ぎました🥂✨

懇親会ではいろいろな方と技術的なお話ができて楽しかったです。
「「iOS-snapshot-test-case」はUberが公開しているが、元々はFBが公開していたのでプリフィックスに「FB」が付いている」という、面白いお話も聞けました。
こちらのライブラリはUberによって復活されたのでよかったですが、多くの人に使われているライブラリでもサポートなどを打ち切られることがあるので、OSSの乱用は気をつけた方がいいと学ぶこともできました。
おわりに
こちらのツイートに思いを込めました。このような素晴らしい会を開催していただき、本当にありがとうございました!