Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Magic Pod × Bitriseの活用事例 / nohana-case-study

andysumi
February 17, 2021

Magic Pod × Bitriseの活用事例 / nohana-case-study

Magic Pod×Bitrise パートナーウェビナー (https://bitrise-japan.connpass.com/event/203930) の登壇資料です

andysumi

February 17, 2021
Tweet

More Decks by andysumi

Other Decks in Technology

Transcript

  1. 機能テスト
 変更した機能が正しく動作することを確認
 開発プロセスにおけるテスト
 リリース 開発
 機能テスト
 回帰テスト
 変更により既存機能に不具合がでていな いことを確認
 回帰テスト


    バグをみつける
 コストをかけるべき
 バグがないこと
 コストをかけたくない
 けど、かかっている現状😱
 Magic Podの活用事例 

  2. • 事前準備が必要なテストケース
 • 事前準備が必要なテストケース
 ◦ サービスアクティベーション、強制アップデート
 • 重要な機能
 ◦ 新規登録、写真アップロード、注文etc


    回帰テストケースの 30% を自動化し、実行時間(手動)を 40% 削減!!
 ノハナノハナシにも掲載しています
 回帰テストの自動化
 Magic Podの活用事例 

  3. • ノンプログラマーでも簡単にテスト ケースを作成できる
 • さまざまなコマンドが用意されている
 • クラウド環境でテストケース作成・実 行できる
 ◦ 外部クラウド環境で実行すること

    も
 • Bitriseと簡単に連携できる
 PROS
 Magic Podの活用事例 
 CONS(WANT)
 • ローカル環境の構築でつまづく
 • OSバージョンによってテスト結果が異 なる
 • 事前・事後処理を定義できない
 • (Githubのように) テストケースをバー ジョン管理、レビューしたい
 • テスト管理ツールと連携したい

  4. • 簡易な動作確認を行ってアプリをアップロード
 ◦ アプリがテストを開始できる品質になってない可能性
 開発
 テスト
 開発プロセスでの人間の介入
 Magic Pod ×

    Bitriseの活用事例① 
 テストアプリ
 アップロード
 テスト実行
 • 人間が回帰テスト(自動テスト)を実行
 ◦ 誤ったバージョンのアプリで実行する可能性

  5. Dependabot
 Magic Pod × Bitriseの活用事例② 
 • Androidアプリが依存するライブラリのアップデート検知にDependabotを採用してい る
 ◦

    アップデートを検知すると自動でPull Requestを作ってくれる
 • ただし、ライブラリアップデートをテキトーにmergeするのも怖い
 ◦ 破壊的な変更があるかもしれない
 ◦ ビルドは通ってもアプリ上で正しく動作しない可能性もある
 • 対象branchを手元でfetchして動作確認するのは大変
 ◦ -> 大変なのでやらなくなる
 ◦ -> 動作確認しないのでPull Requestが溜まる
 ◦ -> Dependabotを導入した意味が無くなる

  6. Dependabot + bitrise + Magic Podで解決する
 Magic Pod × Bitriseの活用事例②

    
 • 動作確認まで自動化する
 ◦ CIで保証する部分だけでなく、実際のアプリの動作まで保証できる
 • ここまで通れば安心してmergeができる
 • また、Magic PodのあとにDeployGateなどで配布すれば、全体動作を保証した上 で、不安なところだけ手元でも簡単に検証可能になる

  7. • 本番環境で定期的に自動テストを実行する
 ◦ テスト結果をSlack等の目につく場所に通知する
 • 外部サービスの障害等を早急に発見できる
 ◦ データの扱いが難しい。。。
 • バックエンドにさまざまなサービスを使っている


    ◦ データベース、サーバー、SMS
 • 外部サービスの障害等により、アプリの動作に影響を及ぼす
 本番環境でのテスト実行
 Magic Pod × Bitriseによる改善③