この記事はレコチョク Advent Calendar の12日目です。 株式会社レコチョクのNX開発推進部Androidアプリ開発グループの寺島です。
最近はハコニワリリィさんの曲をよく聴いてます。 とくにコガネゾラという曲が好きです。
はじめに
新しい機能を開発するとき、少なからず既存のコードに変更が生じます。その際、これまで正常に動作していた機能が動かなくなることもあります。この現象をデグレード(以下、デグレ)と呼びます。タイトルにも挙げたMagicPodは、自動でUIテストを実行できるツールです。MagicPodを使うことで、期待のユーザーシナリオ通りの動作をするか確認し、デグレを検知できます。
先日、私ははじめてWebサイト(以下Web)と iOS / Android スマートフォン向けアプリ(以下アプリ)が連携する機能のテストをMagicPodで作成しました。今回は、そのナレッジを共有したいと思います。
MagicPodとは?

まずはじめに、MagicPodの概要を説明します。
MagicPodは、モバイルアプリテスト、ブラウザ(ウェブアプリ)テストの両方に対応したAIテスト自動化クラウドサービスです。 豊富な機能と高いメンテナンス性でリリースサイクルの高速化を支援します。
上記がMagicPodのサイトでの説明です。MagicPodは、実際のアプリやWebの画面を操作するテストを作成できます。ユーザーが実際に行う操作を再現することで、機能の不具合を検知できます。
何をテストしたかったか?
具体的に何をテストしたいか説明する前に、開発しているアプリとその機能について説明します。
- Eggsアプリ
- テストしたい機能について
Eggsアプリ

Eggsは、インディーズのアーティストが楽曲をアップロードすることができて、リスナーが楽曲を聴くことのできるサービスです。Eggsは、Webとアプリでサービスを展開しています。
今回の記事の中で出てくるEggsにある機能は以下の3つです。
- 楽曲のアップロード(Webからしかできない)
- 任意のアーティストのフォロー(アプリ・Webどっちでもできる)
- フォローしたアーティストの楽曲を新着順で表示(アプリのみ)
テストしたい機能について
次に、テストしたいEggsアプリの機能について説明します。Eggsにはサービスに登録されているアーティストをフォローできる機能があります。さらにアーティストをフォローすることで、フォローしたアーティストの楽曲を新着順に表示する機能があります。
具体的に説明します。機能を1人のユーザーが使うまでの登場人物は以下の2人です。
- 楽曲をアップロードするアーティストAさん
- アーティストAさんをフォローしているユーザーBさん
細かく機能の流れを図示すると、以下のようになります。

2のアーティストAが「楽曲アップロード」をWeb側で行っていて、1と3の「フォローする」と「新着楽曲表示」をアプリ側で行います。3の新着楽曲表示はユーザーが自分でアプリを触って、新着楽曲一覧を開く必要があります。
作成したテストケース
今回はWebとアプリでそれぞれテストケースを作成する必要があります。正確に言うと、iOSとAndroid、Webの3つに対して、それぞれテストケースを作成しました。AndroidとiOSは、ほぼ同様のテストになるため、Webとアプリの観点でテストケースについて説明します。
前述したように新着楽曲一覧の機能をユーザーが使う流れは以下のようになります。
- 任意のアーティストをフォローする
- 1でフォローしたアーティストがWebで楽曲をアップロードする
- フォローしているアーティストの新着楽曲を確認する
この流れをWeb側とアプリ側でテストケースを作成すると、自動テストを行えます。
今回はMagicPodでのテストケース作成の方法は細かくは説明しません。
Web側のテストケース
まず、アーティストが楽曲を新たにアップロードした事を再現するために、MagicPod側でサービスに楽曲を登録します。
実際に作ったテストケースの流れは以下のようになります。
- EggsのWebサイトTopページに遷移する
- ログインした状態にする
- アーティストAのアカウントでログイン
- 楽曲アップロード
- 楽曲のジャケットを指定
- 楽曲の音源を指定
- 楽曲名を指定
寺島広
レコチョクの寺島です。
Android アプリ開発に携わっています。
アニメ、ゲームなどが好きです。