デバッグ人工知能も成長中、MovaTesting- クラウド実機で自動テストできる神サービス 【@maskin】

App, Deploy, 人工知能MovaTesting

 モバイルウェブ/アプリ開発においてデバッグ(不具合を発掘して改善すること)は鬼門だ。ただ、避けられるものでもなく、むしろユーザーとの接点を磨きあげる最重要プロセスといってもいいだろう。どんなに素晴らしい企画でも、たった一つのバグで評価を下げるばかりか、事業そのものが立ちゆかなくなることだってある。

 しかしながら、多くの開発現場においてデバッグはないがしろにされている。デバッグ担当が不在。開発者や関係のない社員までもが狩り出されるも、専門的な能力が必要なデバッグでは効力を発揮できず、結局プロデューサーやディレクターといった全体を把握している人が他の仕事そっちのけでデバッグに当たるという(あるある)。エミュレータでは確認し切れない機種ごとの差異を確認するために、ローンチ間際になって新端末を購入に走るなんてことも、実にあるあるである。

 実機テストという意味では、クラウドに接続された実機をレンタルできるサービスがいくつか存在する。動作確認や障害対応などその活用の幅は拡まっている段階だが、ムーバクラウドの「MovaTesting」はその先をゆく。クラウド経由の実機検証はもちろん、複数の実機でテストを自動で実行することが可能。デバッグ作業を大幅に省力化してくれるのだ。

実際に操作した流れを複数実機で自動テスト

 現時点で対応しているのはAndroid用アプリ。2016年夏にiOS/Andoid用ウェブブラウザ上のテストが可能になる。その後、2016年冬にはiOS用ネイティブアプリにも対応する予定。価格は、エントリープランの場合、月額1万円で、端末利用が10時間分、ログや画面等を保存するストレージは2GB、全ての機種から5機種を選択して自動テストすることが可能。

 例えばAndroidアプリの場合、apkファイルを「MovaTesting」に読み込ませるだけで準備オーケー。クラウド上に用意された実機を選択し、すぐにその上でアプリの操作をすることが可能になる。

機能テスト

 ただ、実機でアプリが立ち上がったからOKかというとそうではない。実機で動作テストをしなければ、バグを回避するのは不可能。そういった場合でも「MovaTesting」なら、簡単にテスト用スクリプトを作成し、クラウド上の複数の実機で一斉にテストできる。テストスクリプトは、いろいろなタイプがあるが「MovaTesting」ではJavaを採用。アプリがインストールされたスマートフォンで実際に操作をするだけで、自動でテストスクリプトが生成されるため、いちいちコードを書く必要がない。もちろん、スクリプトをカスタマイズすることも可能だ。(将来リリースされるウェブテストではRubyが使用される)

testcode

 テストを実行すると、すべての端末の実行結果が記録されてゆく。スクリーンショットや動画、各種ログなどデバッグに必要な情報はもちろん、UI等の確認もここでおこなえる。

スクリーンショット 2016-07-01 14.26.27

 また「MovaTesting」では、そのテストスクリプトが、全コードのどれくらいをテストしたのかをカバレッジとして比率で表示してくれる。

コードカバレッジ

実機端末ごとのUI際を一斉比較

 興味深かったのが、同じ画面を複数の実機でテストした結果だ。ここまで違うのかというほど差が出てくる。これらを一気に実際に実行して調べられることはなかなかないのではないだろうか。

テスト結果ー比較・自動判定

 最終的に、テストをした端末で、どれくらいの確率でクラッシュが発生したか、また、どれくらいのメモリーを消費し、どれくらいCPUパワーを消費したかといった結果が見えるわけだが、それ以外も膨大なデータを蓄積している。

ダッシュボード

人工知能がバグを発見してくれる

 テストで蓄積されたバグの情報は「MovaTesting」の頭脳となる。デバッグ人工知能がすでに稼動中で、その知識を活用してバグが発生しやすい領域を自動でテストしてくれるのだ。

 まだ、利用者数が少ない状態なので、人工知能の精度が十分とはいえないが、ゆくゆくはアプリを登録してテストを実行するだけで、バグを的確に発見してくれるようになるとのことだ。



【関連URL】
・MovaTesting – Androidアプリ・サイトの実機検証と自動テスト
https://www.movatesting.com

蛇足:僕はこう思ったッス
maskin-bit-2016 ガラケー時代ほどではないにしても、モバイル端末の機種毎の差異は依然として問題になる。それよりも、テストを自動化することで、効率よく、かつローリング方式でバグをつぶしていけるわけで、アプリの品質は格段に向上すると思う。

ただ、やはりテストの方法が問題だ。大きなゲープアプリなんかでは数百人の人員てテスト作業をするというが、素人にテストスクリプトを実行させても効率も精度も悪いという問題がある。その点、MovaTestingでは、スクリプトに処理を組み込むことが可能で、より高度で高精度のテストを自動化できる可能性がある。

そしてこうして、有効なテストが実行されればされるほど、「MovaTesting」のデバッグ人工知能はかしこくなっていくだろう。アプリリリース前に、全自動でデバッグしてくれるサービスなんて、まさに夢のようだ。

なお、「MovaTesting」はアプリ万博 にも出展の予定です。

maskin
Follow me

maskin

Editor In Chief at TechWave.jp
1990年代初頭から国内外のソフトからハードまで50以上のスタートアップ立ち上げを経験。平行して雑誌ライターとして疾走。シリコンバレーでガレージベンチャーに参画後は、ネットエイジを筆頭にスタートアップに多数関与。ブログやSNSの国内啓蒙、ソニーの社内イノベーション事業など関与。直近では通信キャリアのニュースポータルの立ち上げ期の編集デスクとして数億PV事業に育てた後、TechWaveにジョイン。世界最大のIT系メディアであるスペインの「Softonic」に参加後、2016年からTechWave第三章として新興メディアの開発を再スタート。国内最大規模のスタートアップ&B2Bイベント「アプリ博」のオーガナイザー。
maskin
Follow me

この記事が気に入ったら
いいね ! しよう

Twitter で

App, Deploy, 人工知能MovaTesting

Posted by maskin


PAGE TOP