Slide 1

Slide 1 text

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


Slide 2

Slide 2 text

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


Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Magic Podの活用事例


Slide 5

Slide 5 text

機能テスト
 変更した機能が正しく動作することを確認
 開発プロセスにおけるテスト
 リリース 開発
 機能テスト
 回帰テスト
 変更により既存機能に不具合がでていな いことを確認
 回帰テスト
 バグをみつける
 コストをかけるべき
 バグがないこと
 コストをかけたくない
 けど、かかっている現状😱
 Magic Podの活用事例 


Slide 6

Slide 6 text

● 事前準備が必要なテストケース
 ● 事前準備が必要なテストケース
 ○ サービスアクティベーション、強制アップデート
 ● 重要な機能
 ○ 新規登録、写真アップロード、注文etc
 回帰テストケースの 30% を自動化し、実行時間(手動)を 40% 削減!!
 ノハナノハナシにも掲載しています
 回帰テストの自動化
 Magic Podの活用事例 


Slide 7

Slide 7 text

● ノンプログラマーでも簡単にテスト ケースを作成できる
 ● さまざまなコマンドが用意されている
 ● クラウド環境でテストケース作成・実 行できる
 ○ 外部クラウド環境で実行すること も
 ● Bitriseと簡単に連携できる
 PROS
 Magic Podの活用事例 
 CONS(WANT)
 ● ローカル環境の構築でつまづく
 ● OSバージョンによってテスト結果が異 なる
 ● 事前・事後処理を定義できない
 ● (Githubのように) テストケースをバー ジョン管理、レビューしたい
 ● テスト管理ツールと連携したい


Slide 8

Slide 8 text

Magic Pod × Bitriseの活用事例


Slide 9

Slide 9 text

● 簡易な動作確認を行ってアプリをアップロード
 ○ アプリがテストを開始できる品質になってない可能性
 開発
 テスト
 開発プロセスでの人間の介入
 Magic Pod × Bitriseの活用事例① 
 テストアプリ
 アップロード
 テスト実行
 ● 人間が回帰テスト(自動テスト)を実行
 ○ 誤ったバージョンのアプリで実行する可能性


Slide 10

Slide 10 text

● CIで定期的にアプリをビルドして、自動テストを実行
 ○ 一定の品質を担保したアプリを提供可能
 ○ 回帰テストでは、自動化できていないテストケースのみ手動で実施
 CIから回帰テストを実行
 Magic Pod × Bitriseの活用事例① 
 テスト実行
 テストアプリ
 アップロード
 開発 & テスト


Slide 11

Slide 11 text

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


Slide 12

Slide 12 text

Dependabot + bitrise + Magic Podで解決する
 Magic Pod × Bitriseの活用事例② 
 ● 動作確認まで自動化する
 ○ CIで保証する部分だけでなく、実際のアプリの動作まで保証できる
 ● ここまで通れば安心してmergeができる
 ● また、Magic PodのあとにDeployGateなどで配布すれば、全体動作を保証した上 で、不安なところだけ手元でも簡単に検証可能になる


Slide 13

Slide 13 text

● 本番環境で定期的に自動テストを実行する
 ○ テスト結果をSlack等の目につく場所に通知する
 ● 外部サービスの障害等を早急に発見できる
 ○ データの扱いが難しい。。。
 ● バックエンドにさまざまなサービスを使っている
 ○ データベース、サーバー、SMS
 ● 外部サービスの障害等により、アプリの動作に影響を及ぼす
 本番環境でのテスト実行
 Magic Pod × Bitriseによる改善③ 


Slide 14

Slide 14 text

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


Slide 15

Slide 15 text

まとめ


Slide 16

Slide 16 text

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


Slide 17

Slide 17 text

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