こんにちは! cloudpack広報の羽鳥愛美です。

勝手に始めた新連載『cloudpack特捜部 (`・ω・´)!シリーズ』では、cloudpackの各種サービスを支えるキーパーソンに突撃して、サービス開始の背景・裏話やお役立ち情報などを探りながら、読者のみなさまにお伝えしていきます!

ちなみにcloudpackに『特捜部』という部署はありません(笑)

第1弾は新サービス『devicepack(デバイスパック)』

2016年8月1日より提供を開始した新サービス『devicepack(デバイスパック)』について、cloudpackの鈴木宏康CTOに突撃しました!

devicepack_logo

『devicepack』とは、スマートフォンのアプリケーションを開発する際に必ず行う『動作テストの自動化を支援する』サービスです。

AWSのサービス『AWS Device Farm』を利用して、一度に285種類のスマートデバイスおよびOSに対して、アプリケーションの動作テストを自動実行できるんです。

自動実行のためのテストスクリプト作成支援も行います。

サービスの概要はプレスリリースでご確認ください。

ところで、スマホアプリの動作テストって、どんな風にやるのか知ってますか?
開発のお仕事をされている方以外は、あまり知らないですよね。

私が愛用している身近で便利なスマホアプリに、どんな開発工程があって、どのように動作テストが行なわれているのか、私のようにアプリ開発に携わったことのない人にも理解できるように尋ねてみましょう!

それでは、早速インタビュースタートです!

アプリが私たちの手元に届くまで

かなり基本的なことから。
アプリが世に出るまでの工程を聞かせてください!


どんなアプリにするのかという企画・立案から始まり、
全体の設計を詰めます。

そしてアプリの仕様が固まったら、ソースコードを書いたりしながら開発するというのが、大まかな流れです。
グラフィックまわりの作業もあります。

開発者は、完成したアプリが仕様どおり正常に動くかを確認する『動作テスト』を行います。

動作テストをパスしたら、アプリのストア(Android向けGoogle PlayストアやiOS向けApp Store)に審査の申請を出します。

アプリストアの審査が通れば、みなさんがダウンロードできるようになるわけですね。


その『動作テスト』を自動化するのが『devicepack』であるというプレスリリースを発表しました。

実は自動化のイメージがわかないのですが、動作テストというのは一般的には『手作業』なんですか?

devicepack-5

はい。これまでも今も、動作テストの大半は『手作業』ですね。

開発したアプリは、まず自分の持っているデバイスにインストールして実際に操作をしてみたり、周りの人が持っている別のデバイスを集めたりしながら、正常に動くかを確認します。

例えば、ゲームのアプリなら実際にプレイして、どのステージでも正常に動くかのチェックをしなければいけません。
ゲームはどうしても画面遷移が多いですから、テストにはとても手間がかかるんです。

そんな事情もあって、手元に集められるデバイスだけで、テストを行うことがほとんどです。

世に存在するデバイスの10%くらいしか行えないケースもあると聞いています。

devicepack-2

これが動作テスト用のチェックシートですか。

ここに書いてあるテスト項目に沿って、ひとつひとつ手作業で確認するんですね。

かなり地道な作業ですね。


デバイスだけでも何百種類もあるので、動作テストのために全機種を集めることがそもそも不可能ですね。

仮に集められたとしても、各デバイスに対してアプリを実行して、ひとつずつ確認するのは現実的ではないですね。

何よりも、時間とコストが膨大にかかります。

一方で『devicepack』なら、一度に285種類(2016年6月現在)のデバイスに対して動作テストが実行できるので、アプリ開発の効率化を目指せると考えています。

th_devicepack-11

これがデバイスパックの画面ですね。
テスト結果が一目で確認できて、見やすい!!

ちなみに、実際に動作テストを実行してみて、一発でオールクリア!
なんてことはあるんですか?


一発クリアは、なかなか難しいと思いますよ。
まず不可能と言っても過言ではないです。

バグが見つかったら改善する、という作業を何度も繰り返して、やっと審査に回せるんです。

世に出てから何か問題が発生したら、そのアプリの評価に関わってきますからね。


そう考えると、動作テストってとても大事な工程ですね。

良いアプリの条件とは

宏康さんが考える『良いアプリ』の条件ってなんですか?


『面白さ』と『品質の良さ』の両立が大切だと考えています。

例えば、ゲームのアプリならプレイ中に止まってしまったら、もう次に進もうとも思わないですし、そもそもゲーム自体が面白くなかったら、即削除しちゃいますよね。

いまは利用者も、いろいろなアプリを使っていて、目が肥えていますので!


私も以前にインストールしたアプリが、開いた瞬間に落ちちゃったことがあって。

結局一度も利用しないまま削除したことがあります。


いまはデバイスの画面サイズもバラバラなので、テストは本当に大変です。

さまざまなデバイスにインストールされるわけで、すべてのデバイスで正常に動作することを保証できるのが理想ですね。

それから、アプリは『評価』が命です。

アプリストアで、ユーザーから良い評価を得るために品質の良さは重要ですし、どの企業もカスタマーサポートに力を入れるなど、何かしら工夫をしているようですね。

devicepack-7

私もユーザー評価を確認してから、インストールするかどうか決めることがありますね。

アプリを使っている途中で「評価してください」って通知がでてくることがありますが、つい無視してしまっていました。

これからは開発者の苦労に敬意を表して、ちゃんと評価しなきゃ!と思いました。

なぜ今もテストは手作業なのか

これだけ数多くのアプリが出ていて、技術も日々進歩しているというのに、どうして動作テストは今も手作業なんですか?


『動作テストの自動化』って、日本ではまだメジャーになっていないんですよね。

多くの端末でテストを実行するには手間もコストもかなりかかるので 基本的には予算内で、できる範囲のテストを行うしかないのが現状です。

アプリの精度を上げるには、やはり多くのデバイスで動作テストを行う必要があるだろうと考えます。

それを解決するサービスが『devicepack』なのです。


『devicepack』はアプリ開発者にとって、救世主になるかもしれませんね!

良いアプリの条件の1つ『品質の良さ』のために、数多くのデバイスに対する動作テストが自動実行できるようになるのは便利なはずです!

閑話休題:ご愛用のアプリ

最後になりますが、宏康さんご愛用のアプリって何ですか?


立ち上げて見ている時間が一番長いのは『2ちゃんねる』のまとめアプリですね(笑)
2ちゃんねるを覗いているのは情報収集が目的ですが、メディアの意見だけでなく、一般の人の意見も読めるのでとても面白いです。

devicepack-6

・・・(『2ちゃんねる』の話をする宏康さんが、きょう一番の笑顔!)

インタビューを終えて

SNS、動画、ニュース、位置情報、健康管理、画像編集、ネットショッピングと、私が当たり前のように日常的に利用しているアプリの動作テストの多くが、今も手作業で行われることにとても驚きました。

ズラリと並ぶ多種多様なデバイスをかき集めて、あらゆる動作の確認をしていたらテストの手間がとてもかかるはずだよ、と想像を膨らませながら話を伺いました。

開発者にとって、開発負担が軽減できて、アプリの品質向上につながる『テストの自動化』が1日も早く、日本に定着したらいいのになぁ。

『アプリ開発の手間をもっとなくしたい!』
インタビューを通じて、そんな風に開発者の目線で熱く語る宏康さんがとても印象的でした。

『devicepack』が、開発者の手間を減らす突破口になれば嬉しいです。

最後まで読んでいただき、ありがとうございました!