読者です 読者をやめる 読者になる 読者になる

iOSエンジニアが選ぶβテスティングサービス

多くのiOSエンジニアが愛用していたβテスティングサービスのTestFlightですが、2015年2月26日をもってtestflightapp.comが閉鎖になるという公式アナウンスがありました。

TestFlightを運営するBurstly社がApple社に買収され、現在ではiTunes Connectから
TestFlightが利用出来るようになっています。今後は後継となるTestFlight Beta Testingの使用が推奨されていますが、従来のTestFlightと異なる制約が多々あるため、別サービスを検討している方も多いのではないでしょうか。
今回はTestFlightに変わるβテスティングサービスを紹介したいと思います。 

 

TestFlight Beta Testingの問題点

TestFlight Beta Testingには、公式で提供されているからこそのメリットも多々あります。 しかし、多くのプロダクトでネックになるとても重要なことがあります。それは「iOS 8以上のデバイスでなければTestFlight Beta Testingのアプリを使えない」ということです。 まだまだiOS 7をサポートしているプロダクトは多いはずです。この理由だけで代替サービスを探そうと思う方は多いと思います。

代替サービスの選定基準

代替サービスに移行するのであれば、より自分たちのプロダクトに適したβテスティングサービスを選定したい気持ちがあります。今回は「 TestFlight Beta Testing 」「 Fabric Beta 」「 DeployGate 」の3つのテスティングサービスを比較してみました。比較の観点は6つあり、50名程度の社内テスターに、アプリケーションのバージョンアップ毎に配信することを想定しています。

 

・ iOS7をサポートしているか

・ 導入が容易か

・ テスターの追加が容易か

・ 安価であるか

・ 配信時に手間がかからないか

・ CIとの連動が容易であるか testing_matrix.png

上記結果だけを見ると「TestFlight Beta Testing」については時期尚早だと感じて頂けると思います。 しかし、メリットが無い訳でもありません。次に各サービスのメリット・デメリット、使用感についてまとめます。

TestFlight Beta Testing

testflight.jpg

https://itunesconnect.apple.com/ 本記事でも何回も登場しているオフィシャルのテスティングサービスです。

【メリット】

・ Releaseビルドでアプリを確認できる

・ 最大1000人まで外部テスターを招待でき、フィードバックを得ることができる

・ SDKが不要

【デメリット】

・ iOS 7に対応していない

・ 外部テスターの登録に手間がかかる

・ 内部テスターの権限に融通がきかない

・ 端末のAppleIDと紐づくため、TestFlightアカウントの切り替えが非常に面倒

・ CIとの連動が簡単ではない Releaseビルドでアプリが確認出来るのは素晴らしいメリットだと思います。 少なくとも開発者数名がテストを行うという意味では積極的に使用するべきだと感じました。

DeployGate

deploygate.jpg

https://deploygate.com/ 国産の配信サービスです。元々はAndroidアプリのテスティングサービスでしたが、今ではiOSもサポートされています。mixi社が運営していましたが、2015年2月28日を持ってデプロイゲート社に事業譲渡されます。

【メリット】

・ 国産なので日本語のドキュメントがしっかりしている

・ 配信だけならSDK不要 ・ CIとの連携もしやすい

【デメリット】

・ 有料 弊社の場合はAndroidでDeployGateを使用しているため、テスティングサービスの統一や、すでに知見があるというのは大きなメリットです。Androidですでに使っている企業も多いと思うので、料金面が問題無いのであれば選定されるプラットフォームだと思います。 SDKを導入すればテスティング以外にも活用できます。

Fabric Beta

fabric.jpg

https://get.fabric.io/ Crashlytics, Twitter , MoPubが統合されたプラットフォームです。Tiwtter社が運営しています。Crashlyticsがテスト配信機能(Beta)をもっており、Crashlyticsを使っているアプリケーションは導入の手間をかけずにそのまま使えます。 【メリット】

・ Crashlyticsを使用しているプロダクトであればBetaの導入が楽

・ ビルドから配信までシームレスであり、グループ機能により配信範囲の選択も楽

・ APIが公開されており、CI連携も可能 ・ ダッシュボードが見やすい

【デメリット】

・ Crashlyticsを使用していない場合はSDKの導入が面倒 CrashレポートサービスにCrashlyticsを採用していたため、非常に簡単に「Fabric Beta」を使うことができました。ダッシュボードがとても優れており、テスターのインストール状況など直感的に分かりやすいUIが提供されています。

まとめ

今回は元々Crashlyticsを使っていたこともあり「Fabric Beta」を採用しました。 Crashレポートサービスとしても非常に優秀なので、未導入のサービスはこのタイミングでSDKの導入を検討してはいかがでしょうか。 先日TestFlight Groupsが発表されたりと、βテスティングサービスの選定は時代とプロダクトによって柔軟にしていく必要がありそうです。今回は比較対象に上げませんでしたが、以下のようなサービスもありますのでご紹介します。

HockeyApp

http://hockeyapp.net/features/ 昨年Microsoft社が買収しました。 HockeyAppをMicrosoft社の製品に統合する計画らしいですが、引き続きサービスは提供される予定のようです。今後に流れに注目です。

EMLauncherv

https://github.com/KLab/emlauncher http://www.klab.com/jp/press/140304.html KLab社が公開しているオープンソースです。 Burstly社が買収された際に、Androidエンジニアが試していることが多かったようです。

終わりに

今回のエントリをみて「こんなサービスもあるよ」「それでも◯◯というメリットがあるから××に乗せ変えた方がオススメ!」といったご意見もあると思います。そんな方、ぜひ情報交換させてください。 ご興味があればVASILYに遊びにきて頂ければと思います。 また、VASILYではエンジニアを募集しておりますので応募お待ちしております。 https://www.wantedly.com/projects/7595 連絡先:info[at]vasily.jp