株式会社VoicyにおけるMagicPod導入と活用
株式会社Voicy / sammy-morita
チームリーダー / QAエンジニア / 従業員規模: 11名〜50名
利用プラン | 利用機能 | ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
---|---|---|---|---|
スタンダードプラン | モバイルアプリテスト | 10名以下 | 2025年4月 | B to C C to C |
利用プラン | スタンダードプラン |
---|---|
利用機能 | モバイルアプリテスト |
ツールの利用規模 | 10名以下 |
ツールの利用開始時期 | 2025年4月 |
事業形態 | B to C C to C |
導入の背景・解決したかった問題
導入背景
ツール導入前の課題
- 新機能が増えるたびにテストケース数も増加し、リリース前に手動で実施していたリグレッションテストが、1日で終わらなくなりつつあった。
- 2種類のモバイルアプリを提供しており、合計で2000件以上のリグレッションテストケースがあった。
どのような状態を目指していたか
- 最低限のユーザー体験を継続的に担保すること
- すべての機能を網羅的に自動化するのではなく、よく使われる主要シナリオから順にカバーする。
- 安全にリリースできる状態を、持続可能なコストにキープすること
- 「リグレッションテストの実行コストを下げる(例:X人日 → Y人日)」と定義し、その実現手段としてE2E自動テストツールの導入を決定した。
比較検討したサービス
- Appium
- mabl
- Autify
比較した軸
【重要視していた観点】
- セットアップのしやすさ
- サポートの手厚さ
- プラン・料金
【上記以外の観点】
- モバイルネイティブアプリ対応
- モバイル独自の機能への対応有無
- 実装方法(ノーコード/ローコード/自身でコーディング)→テスト作成の難易度が自組織に合っているか
- テスト環境との接続方法、テスト実行方法(専用のテスト実行環境が必要か、社内の検証環境で実行できるか)
- テスト結果の振り返りのしやすさ
- 他ツールとの連携(CIパイプラインからのテスト実行、テスト結果の通知)
選定理由
【セットアップのしやすさ】
- iOS/Androidともに約15分ずつでセットアップが完了! サクッとテストを作成・実行できる環境が整った。
【サポートの手厚さ】
- トライアル期間に、ログイン(メールでの認証が必要)や有料コンテンツの購入(外部サービスとの連携が必要)のテストを作成した。
- つまづいた時に、迅速にそして丁寧にサポートいただいた。
- これなら、続けられそう!と思えたのが決め手となった。
【プラン・料金】
- 最低継続利用期間がなく、1ヶ月から利用できる。
導入の成果
どのような成果が得られたか
【よく使われる主要シナリオから順にカバー】
- 10機能の自動化を半期目標として掲げていた。
- 導入2ヶ月目から、手動リグレッションテストのケースを一部MagicPodでの実行に切り替えられている。
【リグレッションテストの実行コストを下げる】
- 導入3ヶ月後時点で、毎回、約40ケース分を削減できている。
導入時の苦労・悩み
1.テストの粒度
- 機能ごとにでテストを作るか?
- 一連のユーザー行動ごとにテストを作るか?
例えば、ログイン、プレミアムリスナーの加入という機能の単位でテストを作っていくのか。 新規ユーザーがアカウントを登録してから最初の放送を再生する、というシナリオでテストを作っていくのか。
まずは小さなパーツとして各機能を自動化し、いずれ大きなシナリオを作れる状態にしていくこととした。
2.再生できたことをどのようにアサートするか
- Voicyのアプリの特性上、できれば音声が再生されたことを確認したい。
しかし実際に音が出ているかを確認することは困難。
そこで、音声が出るかは自動テストでは確認せず、代替案として、一時停止ボタンが表示されていることをアサートすることにした。
3.テスト実行開始前後で、データの状態を一致させる
当初は、特定のアカウントを使い回すことを考えていた。しかし、どんどんコンテンツを購入すると、購入したコンテンツを再生する際に操作が複雑になりそうだった。そこで、テスト内では毎回新規アカウントを作成し、意図したコンテンツがいつもリストの一番上など決まった場所に表示されるようにした。
(変数を活用し、メールアドレスに現在時刻を含めることで、毎回異なるメールアドレスでアカウント登録ができる)
導入に向けた社内への説明
上長・チームへの説明
- まずは短期間(3ヶ月)で試してみて、効果を測定してみる、という説明をした。
- 会社の文化としては、まずチャレンジしてみることを推奨しており、ハードルは低かった。
- 費用対効果については、書籍『システムテスト自動化標準ガイド』を参考に、計算式を用意し、初月から手動リグレッションテストの削減金額を算出している。
活用方法
【テスト実行】
- 個人で週に1回実行
【メンテナンス】
- 個人で週に4時間程度時間を確保
よく使う機能
1.テスト一括実行
- サポート対象の複数OSバージョンで実行
2.テスト結果のslack通知
- 毎週の実行結果のログとして利用
3.共有ステップ
- アカウント新規登録・退会、ログイン・ログアウト、特定画面への遷移、クレジットカード情報の登録など
ツールの良い点
- セットアップが簡単
- 直感的にテストを作成できる
- テストの実行回数に制限がないので、何回もトライできる
ツールの課題点
- 要素が検出できない時にどうしたら良いか、最初は全然分からなかった
- iOSの方がテスト実行時の動作が遅い
- テスト一括実行の時のみテストが落ちることがある
今後の展望
- 新しく配布されたビルドに対して、自動でテスト実行する
- テストの拡充
- 属人性の排除
株式会社Voicy / sammy-morita
チームリーダー / QAエンジニア / 従業員規模: 11名〜50名
よく見られているレビュー
株式会社Voicy / sammy-morita
チームリーダー / QAエンジニア / 従業員規模: 11名〜50名