>100 Views
May 26, 25
スライド概要
MagicPod ✕ Bitriseの活用事例
Magic Pod×Bitrise パートナーウェビナー
https://bitrise-japan.connpass.com/event/203930/
QAエンジニアです
Magic Pod×Bitrise パートナーウェビナー Magic Pod × Bitriseの活用事例 2021/02/18 株式会社ノハナ 武田義之
武田 義之 株式会社ノハナ 品質保証グループマネージャー 2006年に第三者検証会社に入社し、金融や業務システム等のプロ ジェクトで要件定義〜テスト〜運用(開発以外)を経験。 2015年にノハナに入社し、QAチームの立ち上げに尽力し、現在は開 発チームのスクラムマスターも務める。
Magic Podの活用事例
Magic Podの活用事例 開発プロセスにおけるテスト 開発 機能テスト 回帰テスト リリース 機能テスト 回帰テスト 変更した機能が正しく動作することを確認 変更により既存機能に不具合がでていな いことを確認 バグをみつける バグがないこと コストをかけるべき コストをかけたくない けど、かかっている現状😱
Magic Podの活用事例 回帰テストの自動化 ● 重要な機能 ○ ● 事前準備が必要なテストケース ○ ● 新規登録、写真アップロード、注文etc サービスアクティベーション、強制アップデート 事前準備が必要なテストケース 回帰テストケースの 30% を自動化し、実行時間(手動)を 40% 削減!! ノハナノハナシにも掲載しています
Magic Podの活用事例 PROS ● CONS(WANT) ノンプログラマーでも簡単にテスト ケースを作成できる ● さまざまなコマンドが用意されている ● クラウド環境でテストケース作成・実 行できる ○ ● 外部クラウド環境で実行すること も Bitriseと簡単に連携できる ● ローカル環境の構築でつまづく ● OSバージョンによってテスト結果が異 なる ● 事前・事後処理を定義できない ● (Githubのように) テストケースをバー ジョン管理、レビューしたい ● テスト管理ツールと連携したい
Magic Pod × Bitriseの活用事例
Magic Pod × Bitriseの活用事例① 開発プロセスでの人間の介入 テストアプリ アップロード 開発 ● 人間が回帰テスト(自動テスト)を実行 ○ ● 誤ったバージョンのアプリで実行する可能性 簡易な動作確認を行ってアプリをアップロード ○ アプリがテストを開始できる品質になってない可能性 テスト実行 テスト
Magic Pod × Bitriseの活用事例① CIから回帰テストを実行 テストアプリ アップロード テスト実行 開発 & テスト ● CIで定期的にアプリをビルドして、自動テストを実行 ○ 一定の品質を担保したアプリを提供可能 ○ 回帰テストでは、自動化できていないテストケースのみ手動で実施
Magic Pod × Bitriseの活用事例② Dependabot ● Androidアプリが依存するライブラリのアップデート検知にDependabotを採用してい る ○ ● ● アップデートを検知すると自動でPull Requestを作ってくれる ただし、ライブラリアップデートをテキトーにmergeするのも怖い ○ 破壊的な変更があるかもしれない ○ ビルドは通ってもアプリ上で正しく動作しない可能性もある 対象branchを手元でfetchして動作確認するのは大変 ○ -> 大変なのでやらなくなる ○ -> 動作確認しないのでPull Requestが溜まる ○ -> Dependabotを導入した意味が無くなる
Magic Pod × Bitriseの活用事例② Dependabot + bitrise + Magic Podで解決する ● 動作確認まで自動化する ○ CIで保証する部分だけでなく、実際のアプリの動作まで保証できる ● ここまで通れば安心してmergeができる ● また、Magic PodのあとにDeployGateなどで配布すれば、全体動作を保証した上 で、不安なところだけ手元でも簡単に検証可能になる
Magic Pod × Bitriseによる改善③ 本番環境でのテスト実行 ● バックエンドにさまざまなサービスを使っている ○ データベース、サーバー、SMS ● 外部サービスの障害等により、アプリの動作に影響を及ぼす ● 本番環境で定期的に自動テストを実行する ○ ● テスト結果をSlack等の目につく場所に通知する 外部サービスの障害等を早急に発見できる ○ データの扱いが難しい。。。
Magic Pod × Bitriseの活用事例 PROS CONS ● ノンプログラマーでも比較的簡単に ワークフローを作成できる ● 専門知識(アプリ開発、CI他)も必要な ので、開発者の協力が必要 ● さまざまなステップが用意されている ● 実行環境(?)によってテスト結果が一 定ではない
まとめ
まとめ ● Magic Pod、BitriseともにGUIから操作できるので、ノンプログラマーでも比 較的簡単に進められた ● 常に同じテスト結果になるようにテストケース、ワークフローを改善する ● 回帰テスト以外にも自動テストの適用範囲を広げることで、人間が手を動 かすべきテストに時間をかけれるように
ご清聴ありがとうございました