Save 37% off PRO during our Black Friday Sale! »

iOSのログテストをFirebaseで自動化する

7a0bc9670ff654b04d4361a9afd1bba8?s=47 h.crane
August 29, 2019
79

 iOSのログテストをFirebaseで自動化する

「集まれSwift好き!Swift愛好会 vol43 @レバレジーズ」
で登壇した内容です。

詳細:https://love-swift.connpass.com/event/141921/

iOSのログテストを、Firebaseを使って自動化できないか施工した話になります。

7a0bc9670ff654b04d4361a9afd1bba8?s=128

h.crane

August 29, 2019
Tweet

Transcript

  1. iOSのログテストを  Firebaseで自動化する Hiromu Tsuruta Chapter 0

  2. Introduce 1 ~ Company ~ every, inc. DELISH KITCHEN ~

    Role ~ iOS Developer ~ Account ~ hcrane14 H_Crane
  3. Chapter 1 なぜ自動化することになったの?

  4. Reason 1 $

  5. Reason 1 アプリ内の動画広告の枠を販売 ログの欠損が許されない 単価が再生数などのログで決まる ログを担保したい!!

  6. Reason 2 欠損する原因を切り分けたい

  7. Reason 2 Log Data Flow 非エンジニア エンジニア ユーザー

  8. Reason 2 Log Data Flow 非エンジニア エンジニア ユーザー Firebaseの障害 BigQueryの障害

    TRESURE DATAの障害 アプリの障害
  9. Reason 3 ヒューマンエラーの軽減

  10. Reason 3

  11. Reason 3 Log Data Flow 非エンジニア エンジニア ユーザー Firebaseの障害 BigQueryの障害

    TRESURE DATAの障害 アプリの障害 ログが正しくサーバーに送られていること を担保したい firebase analytics ではログを送ったことの コールバックは取れない 機構を作ってしまおう!! ついでに送り元と中身を比較して 自動でテストしちゃお!
  12. Chapter 2 いざ自動化に try!

  13. Purpose 1 - 送ったログをコールバックでアプリに返す - 送ったログと戻ってきたログの中身を比較する

  14. Proposal 1 ユーザー Realtime Databaseのコールバックを使うやり方

  15. Realtime Databaseのコールバックを使うやり方 Proposal 1 ユーザー コールバック受け取るためだけに Realtime Databaseを接続するの はオーバースペックすぎる 開発環境だけとはいえ、セ

    キュリティ観点から、 Realtime Databaseの read/writeを解除したくない Firebaseのライブラリを追 加で読み込む必要があ り、アプリの容量が増える のではないか 確認するたびにDatabaseに ゴミが残ってしまう
  16. Proposal 2 ユーザー Push通知にログ情報を持たせて返すやり方

  17. Proposal 2 ユーザー Pushの遅延があるため、すぐにテストが確認できない 時があることがわかった。 上記の理由で、このやり方は採用されず、、

  18. Proposal 3 ユーザー Realtime Databaseのコールバックを使うやり方

  19. Chapter 3 まなび

  20. Summary 1 - firebaseだけで実現可能だが オーバースペック間は否めない - ログのパラメーター担保までしたかったので、アプリにコールバックとし て返していたが、別のサードパーティーツールに返しても良さそう - ログのテストで効率良い方法があれば教えてください、、

  21. Summary 2 技術書店 あ08C 「エンジニア登山部」にて本を出します。 内容は 前半がSwiftに関して、後半はログ周りに関しての内容です。 良かったらいらしてください!