モバイルアプリ用テストツールのTestdroidを開発したBitbarが先頃,TestdroidとAtlassian JIRA欠陥追跡システムのインテグレーションを発表した。
Testdroidプラットフォームは,クラウドとプライベートのいずれにもデプロイ可能なデバイスファームのTestdroid Cloudと,ユーザ操作を記録してAndroid JUnitテストケースを生成する,開発者およびテスタ用ツールのTestroid Recorderを備える。JIRAインテグレーションをサポートする最初のTestdroid製品となるのがTestroid Cloudだ。
TestdroidはGitHubでAPIを公開している。GoogleのRobotiumやAppium,ネイティブアプリ用のGoogle uiautomator,Webアプリ用のSeleniumといったテストフレームワークが利用可能だ。
InfoQでは,開発者や企業がTestdroid/JIRAインテグレーションに期待できるメリットについて詳しく知るべく,同社のテクニカルプロダクトマネージャであるVille-Veikko Helppi氏にインタビューした。
Testdoidプラットフォームの簡単な紹介と,おもな特徴の説明をお願いします。メリットを期待できるユーザとしては,どのようなタイプの開発者を想定しているのでしょうか?
Testroid製品ファミリが対象とするのは,モバイルアプリ/ゲーム/サービス開発者です。AndroidおよびiOS用のアプリ/ゲーム/サービスの開発,テスト,動作検証を効率的に行うための,さまざまなデプロイメントオプションを提供します。
-
Testdroid Cloudはパブリックなデバイスファームです。開発者はここにあるすべてのデバイスに対して,手動で,テスト自動化を使って,あるいはAPIを通じてアクセスすることができます。想定されているユーザは,さまざまなデバイスにいつでもすぐにアクセスしたいが,自分でデバイスをホストや実行することは望まない,アプリやゲームの開発者です。デバイスの登録表は常に更新されていて,世界中の最新かつ最高のAndroidデバイス,iOSデバイスが搭載されています。例えば現在,Testroid CloudにおけるさまざまなAndroidデバイスのカバー率は,世界中のAndroidの約95%に達しているのです。
-
Testdroid PrivateCloudは,Testroidチームが提供するデバイスを占有する手段を提供するものです。チームの全員がデバイスにいつでも可能な環境を実現するための,極めて簡単かつ便利な方法です。いつでもデバイスにアクセスしたい,あるいはその必要がある企業,自らデバイスをホストすることを望まない垂直型分散チームなどが,ユーザとして想定されています。
-
Testdroid Enterpriseはユーザ自身のデバイスと接続して,開発とテストのための"インハウス・クラウド"を提供する,オンプレミスなソフトウェアです。パブリッククラウドを利用できない銀行などの企業が,Testdroid Enterpriseの典型的なユーザです。また,デバイスにすでに投資していて,自身のインハウス開発やテストラボを運営したいと考えている,一般的なアプリあるいはゲーム開発者にとっても,Testroid Enterpriseは優れた選択肢になります。
Testdroidをもっとも効率的に使うためには,どのような取り組みが必要なのでしょう?
Testdroidはアジャイルプロセスの一部として,さまざまな配信プロセスをバックアップするように開発されました。そうではあっても,組織が現在使用しているツールやプラクティス,プロセスといったものに依存する部分は当然あります。私たちの理念とフォーカスは当初から,"アジャイルのテスト自動化"にありました。例えば,ひとつのデバイスを使ってテストを作成するだけで,数百という実際のデバイス上でそれを実行して,多くのフィードバック(スクリーンショット,ログ,実行結果)を簡単に入手できるのです。
デバイスのメンテナンス作業を省略したい,地理的に別の場所にいるチームにアクセスしたい,あるいは公開サービスに何かをアップロードしたい,などの要望があれば,Testdroidにはそのようなデプロイメントオプションが用意されています。
JIRAとのインテグレーションについてはどうでしょう?Testdroid/JIRAインテグレーションのメリットを期待できる,基本的なシナリオとユースケースをいくつか紹介して頂けますか?
一例として,モバイルアプリの開発者は,手動操作(login -> upload)あるいはAPI(ビルドシステムからJSON形式で機能呼び出し)を使用して,Testdroid CloudにAPKをアップロードします。それを数百という,さまざまな現実のデバイス上で実行するのです。いくつかのデバイスでは,画面表示やメモリ,パフォーマンス,あるいはアプリケーションの機能に関する問題が発生するでしょう。このような問題が見つかれば,JIRAイシューが,入手可能なすべてのフィードバック(スクリーンショット,ログの項目と詳細,あるいは不正な動作に関する説明)を伴って即時生成されます。このすべてが数分間で起きるのです。アプリケーションの不正な動作やバグ,その他の問題は開発者に即時に伝えられますから,すぐに問題解決に取り掛かることができます。これは開発 – テストの共同作業を,新たなレベルへと導くものです。
モバイルテストプラットフォームは今後,どのような方向に進むと思われますか?
今現在,興味深いことがたくさん起きています。特にモバイルテストの自動化に関しては,そうですね。例えばAppiumのような新しいフレームワークが動き始めて,多くのアプリ開発者がそれを採用します。その一方で,新たな仕様や画面サイズ,メモリ容量,チップセット,OEMによるカスタマイズなどを備えた新しいデバイスも現れていますから,すべてのアプリ開発者にとって,これらのデバイスを使った開発やテストが重要になります。モバイルテストプラットフォームはこの流れに,何としてでも従わなくてはなりません。さらに,近い将来には,ゲーム開発者たちのテスト作業で,これまで以上に画像認識が使われ始めます。これによってモバイルゲームのテスト方法は,今後大きく変わることになるでしょう。