はじめに
こんにちは!KIYOラーニングでQAエンジニアをしている@ayshiinaです。
今回が初めての記事投稿となります。
本記事では、Magicpodを使ったモバイルアプリの自動テストについて、導入から運用までの流れ、ブラウザ版との違い、実際に直面した課題と工夫を共有します。モバイルアプリの自動テスト導入を検討している方の参考になれば幸いです。
導入の背景
当社では、オンライン資格対策講座「スタディング」と法人向けeラーニングサービス「AirCourse」のブラウザ版自動テストをMagicpodで運用中です。
しかし、今までスタディングのモバイルアプリでは自動テストを実施しておらず、さらにブラウザ版ではテストできない機能があり、品質保証の観点で課題が残っていました。
そこで、Magicpodでモバイルアプリのテストを新たに導入することにしました。
導入プロセス
1. ツール選定
既にブラウザテストでMagicpodを利用していたため、モバイル版も同一プラットフォームで統一することで以下のメリットがありました。
- 学習コストの低減
- テスト管理の一元化
- 既存ノウハウの活用
2. テストケースの選定
モバイルアプリの全機能を自動化するのは非効率なため、以下の基準で選定しました。
| 選定基準 | 内容 |
|---|---|
| 高頻度利用 | ユーザーがよく使う機能 |
| クリティカル機能 | 障害発生時の影響が大きい機能 |
また、ブラウザ版では対応できなかった機能を優先しました。
3. テストケース作成
選定したテストケースについて、iOSとAndroidでそれぞれ作成を行いました。
作成時に直面した課題と工夫したポイント
-
実行時間の課題
モバイルアプリのテストはブラウザ版に比べて処理速度が遅く、実行時間が長くなることがわかりました。さらに、作成したテストを都度実行して正しく動作するか確認する必要があるため、トライアンドエラーにも時間がかかりました。
-
ロケータの工夫
調査した結果、ロケータを変更することで実行時間を短縮できることがわかりました。(出典)

実際に「Accessibility ID」や「iOS Class Chain」を使用したところ、ある程度の高速化を実現することができました。
-
ステップ数の最適化
ブラウザ版と同程度のテストステップ数を実現しようとすると実行時間がかかりすぎるため、重要な機能に絞ったテストケースを作成しました。
-
ブラウザ版で対応できなかった機能のテスト
アプリ版のみにある「フリーハンドで図形を描画」コマンドを使用して、スタディングの「問題文への書き込み」機能のテストを実現しました。

書き込んだ内容が保持されるかの確認は「UI要素の画像が一致するか確認」コマンドを使用しています。
4. 運用開始
テストケース作成後は、以下を実現しました。
- リリース前のリグレッションテスト:開発者がMagicpodを使ってテストを実施
- 定期実行:毎日定時にテストをスケジュール実行
- 結果共有:Slack通知でチーム全体にフィードバック
まとめ
今回のMagicpodモバイルアプリ版導入では、ブラウザ版では対応できなかった機能を自動化し、品質保証のレベルを一段引き上げることができました。これから導入を検討する方は、まずクリティカルな機能に絞り、運用しながら改善していくアプローチをおすすめします。
当社でも、今後はさらなる高速化やテスト範囲の拡大に向けて改善を続けていきます。
KIYOラーニング株式会社について
当社のビジョンは『世界一「学びやすく、分かりやすく、続けやすい」学習手段を提供する』ことです。革新的な教育サービスを作り成長させていく事で、オンライン教育分野でナンバーワンの存在となり、世界に展開していくことを目指しています。
プロダクト
- スタディング:「学びやすく・わかりやすく・続けやすい」オンライン資格対策講座
- スタディングキャリア:資格取得者の仕事探しやキャリア形成を支援する転職サービス
- AirCourse:受け放題の動画研修がついたeラーニングシステム(LMS)
KIYOラーニング株式会社では一緒に働く仲間を募集しています