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

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

Beafdc24782daf082834d6722cc97c8f?s=47 andysumi
February 17, 2021

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

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

Beafdc24782daf082834d6722cc97c8f?s=128

andysumi

February 17, 2021
Tweet

Transcript

  1. Magic Pod × Bitriseの活用事例
 2021/02/18
 株式会社ノハナ 武田義之 
 Magic Pod×Bitrise
 パートナーウェビナー


  2. 武田 義之
 株式会社ノハナ
 品質保証グループマネージャー
 2006年に第三者検証会社に入社し、金融や業務システム等のプロ ジェクトで要件定義〜テスト〜運用(開発以外)を経験。 
 2015年にノハナに入社し、QAチームの立ち上げに尽力し、現在は開 発チームのスクラムマスターも務める。 


  3. None
  4. Magic Podの活用事例


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


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

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


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

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

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

  8. Magic Pod × Bitriseの活用事例


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

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

  10. • CIで定期的にアプリをビルドして、自動テストを実行
 ◦ 一定の品質を担保したアプリを提供可能
 ◦ 回帰テストでは、自動化できていないテストケースのみ手動で実施
 CIから回帰テストを実行
 Magic Pod ×

    Bitriseの活用事例① 
 テスト実行
 テストアプリ
 アップロード
 開発 & テスト

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

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

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

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

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


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

  14. • ノンプログラマーでも比較的簡単に ワークフローを作成できる
 • さまざまなステップが用意されている
 • 専門知識(アプリ開発、CI他)も必要な ので、開発者の協力が必要
 • 実行環境(?)によってテスト結果が一

    定ではない
 PROS
 Magic Pod × Bitriseの活用事例 
 CONS

  15. まとめ


  16. • Magic Pod、BitriseともにGUIから操作できるので、ノンプログラマーでも比 較的簡単に進められた
 • 常に同じテスト結果になるようにテストケース、ワークフローを改善する
 • 回帰テスト以外にも自動テストの適用範囲を広げることで、人間が手を動 かすべきテストに時間をかけれるように
 まとめ


  17. ご清聴ありがとうございました