目次


モバイル・アプリをテストするために OTA で配布する

テスターやライブ・ユーザーのエクスペリエンス (ログ、バグ、フィードバック) を取り込む上で IBM Mobile Quality Assurance がどのように役立つかを学ぶ

Comments

アプリケーションの配布は、モバイル・アプリケーション開発ライフサイクルの重要な部分です。OTA (Over-The-Air) 配布の方法を用いれば、開発者はネットワーク経由でテスターのモバイル端末にアプリケーションを配布することができます。するとテスターは、自分の端末で画面を何度かタップするだけで、新しいアプリケーションをインストールすることや、アプリケーションの更新を受け取ることができます。

このチュートリアルでは、IBM Bluemix から IBM Mobile Quality Assurance (MQA) を使用して、モバイル・アプリケーションの OTA 配布を実施する方法を紹介します。IBM Bluemix ですぐに利用できるサービスの 1 つとして、MQA サービスはモバイル・アプリケーションのテスターやライブ・ユーザーのエクスペリエンス (ログ、バグ、フィードバックを含む) を取り込むのに役立ちます。このチュートリアルでは、インスツルメント化されたアプリケーションの配布に焦点を当て、以下の方法をステップ・バイ・ステップで説明します。

  • インスツルメント化されたアプリケーション・バイナリーを作成する
  • アプリケーション・バイナリーを MQA サーバーにアップロードする
  • アプリケーションをテスターの端末に配布する
  • テスターの端末にアプリケーションをインストールしてテストする

また、Bluemix の MQA サービスに備わっている他の機能についても触れます。

このチュートリアルでは、デモンストレーションを行うための例として、サンプル・アプリケーションを使用します。サンプル・コードは、ADT バンドルをインストールした Eclipse IDE で開発した単純な Android アプリケーション・プロジェクトです。このサンプル・アプリケーションは、すでに IBM MQA Android SDK によってインスツルメント化されています。このアプリケーションを皆さん独自のバージョンとして使用する場合は、アプリケーション・キーを皆さんのアプリケーション・キーに置き換えてから、アプリケーションをコンパイルしてバイナリーを生成してください。すべてのステップを完了すると、MQA サービスを利用して、Bluemix から皆さん独自のアプリケーションの OTA 配布を実施できるようになります。

必要となるもの

  • ADT (Android Development Tools) プラグインがインストールされた Eclipse IDE。既存の Eclipse インスタンスに ADT をインストールするのでも、以下のように Eclipse ADT バンドルをダウンロードして、ご使用のシステムにインストールするのでも構いません。
    1. Eclipse ADT バンドル・パッケージをダウンロードします。
    2. パッケージを C:\ に解凍して、フォルダー名を C:\EclipseADT に変更します (Eclipse ADT がこれとは別の場所にインストールされている場合は、このチュートリアルのサンプル・アプリケーション・プロジェクトをインポートした後に追加の構成を行う必要があります)。
    3. C:\EclipseADT\SDK Manager.exe を実行して、Android SDK Tools、Android SDK Platform-tools、Android SDK Build-tools (17、18.x、19.x、20)、および Android API (17、18、19、20) をインストールします。
  • Android 4.2.2 またはそれ以降のバージョンを実行している Android フォンまたは Android タブレット。Google Play 以外のソースからのアプリケーションのインストールを許可するように端末を設定してください (「Settings (設定)」 > 「Security (セキュリティー)」 > 「Unknown sources (不明なソース)」)。「Unknown sources (不明なソース)」が選択されていない場合、MQA サンプル・アプリケーションをインストールする際にエラー・メッセージを受け取ることになります。
  • 端末に設定されている e-メール・アカウント
  • Bluemix アカウントと IBM DevOps Services アカウント。両方とも自身の IBM ID に関連付けられている必要があります。

テスターは、ビルドの通知を受け取った後、そのアプリケーションを簡単な操作で直接端末にインストールすることができます。ビルドの配布は、有効な e-メール・アドレスを持っている誰に対しても行うことができます。テスターが MQA に登録済みである必要も、Bluemix アカウントを持っている必要もありません。

ステップ 1: Bluemix の中で MQA サービス・インスタンスを作成する

  1. Bluemix にログインします。ログインすると、自分の組織 (organization) のダッシュボードのデフォルト・スペースとして dev が表示されます。このチュートリアルでは、この dev スペースを使用します。
  2. 「ADD A SERVICE (サービスの追加)」ボタンをクリックして、カタログにアクセスします。
  3. カタログの「Mobile (モバイル)」セクションで、「MobileQualityAssurance」アイコンをクリックします。 Bluemix に表示される MQA サービス・アイコンのスクリーンショット
  4. 「Add Service (サービスの追加)」ダイアログ・ボックスで、サービス名として「MYMQASERVICE」と入力します。他のフィールドはすべてデフォルトのままにして、「CREATE (作成)」をクリックします。これで、新規 MQA サービス・インスタンスが作成されます。 「Add Service (サービスの追加)」ダイアログ・ボックスのスクリーンショット
    「Add Service (サービスの追加)」ダイアログ・ボックスのスクリーンショット

「Getting Started Help (入門ヘルプ)」セクションと「New MQA App (新規 MQA アプリ)」ボタンが表示されます。

「Getting Started Help (入門ヘルプ)」ページのスクリーンショット
「Getting Started Help (入門ヘルプ)」ページのスクリーンショット

ステップ 2: Bluemix の中で MQA アプリケーションを作成する

Bluemix の MQA サービス・タイルでは、MQA ユーザーが Bluemix UI を利用して MQA 機能にアクセスすることができます。このタイルでは、異常終了、バグ、ユーザーからのフィードバック、ユーザーの感情などに関する情報をはじめとする、品質メトリックの概要を表示することができます。アプリケーションに関するこの情報を表示することで、特定の問題について詳しく調査する必要があるかどうかを判断することができます。この機能を利用するには、まずはアプリケーションを作成する必要があります。

  1. 「New MQA App (新規 MQA アプリケーション)」ボタンをクリックします。
  2. アプリケーションの名前を入力して、Enter キーを押します。
  3. アプリケーションが作成されたら、続いてプラットフォームを作成します。
    1. 「Add Platforms (プラットフォームの追加)」ボタンをクリックします。
    2. Android アイコンをクリックします。
    3. 「Submit (送信)」をクリックします。
    これで Android プラットフォームが作成されて、MQA サーバーに新規 Android アプリケーションが作成されます。 MQASampleApp サービス・タイルのスクリーンショット
    MQASampleApp サービス・タイルのスクリーンショット
  4. 「MQA App key (MQA アプリ・キー)」リンク (例えば、「Pre-production (本番前)」列にあるリンク) をクリックします。
  5. 表示されるアプリケーション設定ページで、アプリケーション・キーをクリップボードにコピーします。 アプリケーション・キーのスクリーンショット
    アプリケーション・キーのスクリーンショット

ステップ 3: アプリケーション・コードをダウンロードし、変更を加えて、コンパイルする

  1. このチュートリアルの上のほうにある「コードを入手する」ボタンをクリックします。私の DevOps Services プロジェクトの「OVERVIEW (概要)」ページが表示されるので、「EDIT CODE (コードの編集)」をクリックし、皆さんの DevOps Services 資格情報を入力します。左側のナビゲーション領域にある MQASampleSaaSPPAndroidApp_workspace.zip ファイルをクリックし、メニューから「File (ファイル)」 > 「Export (エクスポート)」 > 「Download (ダウンロード)」の順にクリックします。
  2. ダウンロードしたファイルを C:\ ドライブに解凍し、C:\MQASampleSaaSPPAndroidApp 内に配置されていることを確認します。
  3. C:\MQASampleSaaSPPAndroidApp をワークスペースとして使用して、Eclipse IDE を起動します。
  4. このアプリケーション・プロジェクト内にあるアプリケーション・ソース・コード Page1.java を開きます (「IBMMQASample-PreProd」 > 「src」 > 「com.example.ibmmqasamplepreprod」 > 「Page1.java」)。リソースがファイル・システムと同期していないというメッセージが表示されたら、更新を実行してください。
  5. アプリケーション・コード内のアプリケーション・キーを置き換えるために、前にクリップボードに保存したアプリケーション・キーを貼り付けて、ソース・コードを保存します。ソース・コード内で変更するアプリケーション・キーを示す画面のスクリーンショット
    ソース・コード内で変更するアプリケーション・キーを示す画面のスクリーンショット
  6. プロジェクト・ツリーから AndroidManifest.xml ファイルを開き、「Manifest (マニフェスト)」タブをクリックします。「Manifest (マニフェスト)」ビューで、アプリケーションのバージョン・コード (Version code) を「1」に、バージョン名 (Version name) を「1.0 IBM MQA-SaaS」に設定します。 「Manifest (マニフェスト)」ビューのスクリーンショット
    「Manifest (マニフェスト)」ビューのスクリーンショット
  7. アプリケーションを保存してコンパイルします (保存すると、アプリケーションは自動的に再コンパイルされます)。

ステップ 4: アプリケーション・バイナリー・ファイルを生成する

  1. Eclipse で、MQASampleApp プロジェクトを右クリックして「Android Tools (Android ツール)」 > 「Export Signed Application Package (署名付きアプリケーション・パッケージのエクスポート)」の順にクリックします。
  2. 「Project checks (プロジェクトの確認)」ページで、現在選択している MQA プロジェクト (IBMMQASample-PreProdand) を指定してから「Next (次へ)」をクリックします。
  3. 「Keystore selection (キーストアの選択)」ページで、「Create new keystore (新規キーストアを作成する)」ラジオ・ボタンを選択し、キーストアの場所と名前を指定して、パスワードを入力します。名前とパスワードは自由に設定することができます。入力したら、「Next (次へ)」をクリックします。
  4. 「Key Creation (鍵の作成)」ページで、必要な情報 (エイリアスとパスワードを含む) を入力します。パスワードは、キーストアのパスワードと同じにしても、別のものにしても構いません。エイリアスには好きな名前を付けることができます。「Next (次へ)」をクリックします。
  5. 「Destination and key/certificate checks (宛先と鍵/証明書の確認)」ページで、アプリケーション・バイナリー・ファイルの名前とパスを入力します。この例では、アプリケーション・プロジェクトの名前にちなんだバイナリー・ファイル名を指定して、アプリケーションのプロジェクト・フォルダー (C:\MQASampleSaaSPPAndroidApp\IBMMQASample-PreProd.apk) に配置しました。これとは別のファイル名やパスを指定しても構いません。「Finish (完了)」をクリックします。「Destination and key/certificate check (宛先と鍵/証明書の確認)」ページのスクリーンショット
    「Destination and key/certificate check (宛先と鍵/証明書の確認)」ページのスクリーンショット

これで、アプリケーション・バイナリーである apk ファイルが生成されて、指定した場所に保存されます。

ステップ 5: アプリケーション・バイナリーを MQA サーバーにアップロードする

アプリケーションを MQA サーバーにアップロードしなくても、アプリケーションをモバイル端末でテストすることはできますが、ビルドを MQA サーバーにアップロードしたほうが、e-メールや FTP サーバーを使って配布する場合に比べて以下のメリットがあります。

  • バージョンを管理して (バージョンの有効化/無効化、ログのオン/オフ、現在のバージョンの設定)、他のテスターに配布することができます。
  • テスターが自分の端末に直接アプリケーションをインストールすることができます。
  • アプリケーションが検出されて、そのアプリケーションのバージョンがテスターの端末にインストールされているアプリケーションのバージョンとは異なる場合、新規アプリケーションが使用可能になったという通知がテスターの端末に表示されます。

アプリケーション・バイナリー (ビルド) を開発環境から MQA サーバーにアップロードするのは簡単です (以下の手順を参照)。

  1. Bluemix のダッシュボード (DASHBOARD) に表示されている MQA サービス・インスタンスの UI から「Upload Builds (ビルドのアップロード)」ボタンをクリックして、MQA サーバー・アプリケーションのビルド・ページを開きます。
  2. ファイル・システムからアプリケーション・バイナリー・ファイル (apk ファイル) を見つけて、そのファイルを「Drop your build here (ここにビルドをドロップ)」領域へドラッグ・アンド・ドロップします (または、「Choose File (ファイルの選択)」をクリックして apk ファイルを参照します)。「Drop your build here (ここにビルドをドロップ)」領域のスクリーンショット
    「Drop your build here (ここにビルドをドロップ)」領域のスクリーンショット
  3. ビルドのアップロードが完了すると、「Add new build (新規ビルドの追加)」ウィンドウに「Installer updated successfully (インストーラーが正常に更新されました)」というメッセージが表示されます。オプションで、リリース・ノートを追加したり、そのバージョンを現在のバージョンとして設定したりすることができます。「Save (保存)」をクリックします。
  4. アップロードされたビルドに関する情報が表示されます。現在のビルドに関する情報のスクリーンショット
    現在のビルドに関する情報のスクリーンショット

上記のスクリーンショットの例には、アップロードされた Android アプリケーション (apk ファイル) に関する情報が表示されています。「Current build (現在のビルド)」セクションに、ビルド・バージョンとして「1.0 IBM MQA SaaS」と示されています。これは、ステップ 3.6 で指定したバージョン名とバージョン・コードに対応します。このセクションには、作成日、バイナリー・ファイルの名前とサイズ、ビルドをアップロードしたユーザー ID (MQA では e-メール・アドレスがユーザー ID として使用されます) も示されます。「Set current build (現在のビルドの設定)」のドロップダウン・リストには、アップロード済みのすべてのビルドのリストが含まれています。このリストから、任意のビルドを選択して現在のビルドとして設定することができます。「Versions (バージョン)」セクションには、これまでに作成したビルドのリストが表示されます。「Record logs (ログを記録)」スイッチをオンまたはオフに切り替えることで、アプリケーションの各バージョンを有効または無効にすることができます。

現時点で、このアプリケーションに新しくテスターを追加すると (MQA サーバーの「Management (管理)」 > 「Team (チーム)」ビューを使用)、追加されたテスターには、現在のビルドへのリンクと最新リリースのビルドへのリンクが記載された「Subscribed to MQASampleApp (MQASampleApp に登録されました)」というタイトルの e-メール通知が送信されます。

新規ビルドに登録されたことをテスターに通知するメッセージのスクリーンショット
新規ビルドに登録されたことをテスターに通知するメッセージのスクリーンショット

この e-メール通知の受信者は、テスト対象としてダウンロード/インストールするビルドを選択することができます。ビルドがアップロードされていない場合は、通知にリンクは記載されません。代わりに、受信者は「There are currently no testing builds of this application. (現在、このアプリケーションのテスト用ビルドはありません。)」というメッセージを見ることになります。

ステップ 6: アプリケーションをテスターに配布する

テスターを新しく追加することで通知を生成するだけでなく、MQA 配布プロセスによってアプリケーションをテスターに配布することもできます。ビルド配布は、テスターが通知を受け取った後、そのアプリケーションを簡単な操作で直接端末にインストールできるようにすることを目的に設計されています。ビルドの配布は、有効な e-メール・アドレスを持っている誰に対しても行うことができます。テスターが MQA に登録済みである必要も、Bluemix アカウントを持っている必要もありません。

  1. Bluemix のダッシュボード (DASHBOARD) に表示されている MQA サービスの UI から「Distribute to Testers (テスターに配布)」ボタン 「Distribute to Testers (テスターに配布)」ボタンのスクリーンショット をクリックします。
  2. MQA サーバーのアプリケーション配布ページにある「Select build (ビルドの選択)」セクションで、前のセクションでアップロードしたビルドを選択します。「Select build (ビルドの選択)」セクションのスクリーンショット
    「Select build (ビルドの選択)」セクションのスクリーンショット
  3. 「Notify users (ユーザーへの通知)」セクションで、配布リストに含めるユーザーを既存ユーザーのリストから選択します。オプションで追加ユーザーをリストに加えることもできます。「Notify users (ユーザーへの通知)」セクションのスクリーンショット
    「Notify users (ユーザーへの通知)」セクションのスクリーンショット
  4. 既存ユーザーとは、MQA に登録済みで、このアプリケーションのユーザーとして追加されているユーザーのことです。追加ユーザーは、MQA に登録されていなくても構いません。誰がテストを実行しているのかを把握しておきたい場合は、リストから既存ユーザーを選択してください。それらのユーザーがアプリケーションを実行すると、MQA がそれぞれのユーザー ID を識別します。アプリケーションを実行しているユーザーを把握する必要がなければ、追加ユーザーのリストからテスターを追加することができます。MQA は匿名ユーザーを追跡しません。匿名ユーザーは MQA のアプリケーション・データを表示することができませんが、登録済みの MQA ユーザーはこのデータを表示することができます。
  5. オプションで、「Additional message (追加メッセージ)」セクションでユーザーとテスターへのメッセージを追加します。
  6. 「Distribute (配布)」ボタンをクリックして、ビルドを配布します。ページの最上部に「Application version has been distributed successfully (アプリケーション・バージョンが正常に配布されました)」というメッセージが表示されます。それと同時にテスターは「New Build Available (新規ビルドが使用可能です)」という件名の e-メールを受信します。

ステップ 7: アプリケーションをインストールする

ビルドはテスター (選択されたユーザーと追加されたユーザー) に配布されたので、インストールを行う準備ができました。

  1. モバイル端末で、e-メール・メッセージを開き、「Install (インストール)」ボタンをクリックします。 通知 e-メール・メッセージのスクリーンショット
    通知 e-メール・メッセージのスクリーンショット
  2. 表示されたブラウザー・ページ (使用している端末によってページの外観は異なります) で、「IBMMQASample-PreProd.apk」をタップします。タップするアプリケーション・リンクのスクリーンショット
    タップするアプリケーション・リンクのスクリーンショット
  3. 次のページで「Install (インストール)」ボタンをタップします。「Install (インストール)」ボタンが表示された画面のスクリーンショット
    「Install (インストール)」ボタンが表示された画面のスクリーンショット
  4. 「App installed (アプリケーションがインストールされました)」というメッセージが表示されたら、「Open (開く)」をタップしてアプリケーションを起動するか、「Done (完了)」をタップして「Install (インストール)」ページを閉じます。これで、端末のホーム画面からアプリケーションにアクセスできるようになりました。

ステップ 8: アプリケーションを実行してバグを報告する

  1. 端末からアプリケーションを起動します (それには、インストールの直後に表示される 「Open (開く)」 ボタンをタップするか、端末のホーム画面でアプリケーション・アイコンをタップします)。
  2. 表示されるリストに、アプリケーションに登録済みのユーザーが示されます。自分の ID を選択して、アプリケーションにログインします。ユーザー・リストのスクリーンショット
  3. アプリケーションで、右上隅にあるメニューをタップします。
    アプリケーション UI のスクリーンショット
    アプリケーション UI のスクリーンショット

    端末の画面スペースによっては、「Report bug (バグを報告)」および「Crash the app (アプリケーションを異常終了)」ボタンが「Paris (パリ)」および「Home (ホーム)」ボタンの横に表示される場合があります。
  4. バグ・レポートを送信するには、「Report bug (バグを報告)」ボタンをタップするか、端末をシェイクします。すると、スクリーンショット・エディターが表示されます。このエディターで、アプリケーションのスクリーンショットに注釈を付けることができます。
  5. ナイアガラの滝の写真に X 印を付けてから、画面右上隅にあるチェック・マークをタップして「Report a Problem (問題の報告)」テキスト・エディターを開きます。「Report a Problem (問題の報告)」UI のスクリーンショット
    「Report a Problem (問題の報告)」UI のスクリーンショット
  6. 問題に関する説明を入力し、画面右上にある右矢印アイコンをタップしてバグ・レポートを送信します。
  7. 今度は「Crash the app (アプリケーションを異常終了)」ボタンをタップしてください。これにより、アプリケーションの任意の時点で発生する可能性のある異常終了がエミュレートされます。アプリケーションを異常終了させた後、アプリケーションが停止したというメッセージが端末のホーム画面に表示されます。

Bluemix のダッシュボード (DASHBOARD) には、1 個のバグ (Bugs) と 1 回の異常終了 (Crashes) がレポートされているはずです。

Bluemix MQA サービス・タイルのスクリーンショット
Bluemix MQA サービス・タイルのスクリーンショット

これで、OTA 配布のサイクルと、アプリケーションの最初のバージョンでのテストが完了しました。セッション (Sessions)、異常終了 (Crashes)、バグ (Bugs) の詳細を表示するには、MQA サービス・タイルに表示されているそれぞれの数字をクリックします。また、アプリケーションの「Overview (概要)」ページで、セッション、バグ、異常終了などのすべてを 1 つのビューで確認することもできます。「Overview (概要)」ページを開くには、MQA サービスの UI の左上隅にある「Overview (概要)」タブをクリックします。

アプリケーションの「Overview (概要)」ページのスクリーンショット
アプリケーションの「Overview (概要)」ページのスクリーンショット

ステップ 9: バグを修正してアプリケーションを更新し、OTA 配布を再び行う

  1. Bluemix UI の MQA サービス・タイル内で、バグ・カウントをクリックして MQA サーバーのバグ詳細ビューを開きます。このビューから、表内のセッションをクリックすることで、セッション詳細ビューにアクセスしてスタック・トレースを表示することもできます。
  2. コードの問題を特定して修正した後、アプリケーションのバージョン・コードを更新して (ステップ 3 を参照)、新規バージョンを前のバージョンと区別します (メジャー・リリースを 1.0 から 2.0 に変更するまでは、バージョン名を変更する必要はありません)。新規バージョン・コードまたはバージョン名を変更すると、そのたびに別の独立したエントリーがビルド・リストに追加されます。バージョン・コードやバージョン名が変更されていなければ、前のバージョンと同じグループに新しいビルドが追加されます。この場合、個々のビルドを制御すること (有効/無効にしたり、ロギングをオン/オフにしたりすること) はできません。
  3. アプリケーション・バイナリーを再び生成して (ステップ 4 を参照)、C:\MQASampleSaaSPPAndroidApp\IBMMQASample-PreProd-v1.2.apk に保存します。
  4. 新しいアプリケーション・バイナリーを MQA サーバーにアップロードします。その際は、デフォルトの設定を使用してください。つまり、「Set as current version (現在のバージョンとして設定)」チェック・ボックスが選択されたままにします (ステップ 5 を参照)。
  5. 新規ビルドをテスターに配布します (ステップ 6 を参照)。
  6. ここで、端末上で以前にインストールした、アプリケーションのバージョンを起動します。すると、新規ビルドが使用可能であることを通知するメッセージがアプリケーション・ウィンドウに表示されます。古いバージョンであるという通知が表示されたアプリケーションのスクリーンショット
    古いバージョンであるという通知が表示されたアプリケーションのスクリーンショット
  7. 「Update available (更新が使用可能です)」(使用している端末によって、画面の最上部または通知リストに表示されます) をタップします。アプリケーションの新規バージョンをインストールして、それを実行し、バグを報告します (ステップ 7 およびステップ 8 を参照)。前のバージョンのアプリケーションをインストール済みのテスターには、新規ビルドが使用できるようになったことが通知されます。新規ビルドは、明示的な配布ステップを踏まずにインストールすることができます。これが、アプリケーションを MQA サーバーにアップロードする大きな利点です。

これで、OTA 配布のループを完全に一周したことになります。このプロセス (ステップ 4 からステップ 8) は、大きな問題が見つからなくなるまで、そしてアプリケーションが本番用にリリースされるまで、何度でも繰り返すことができます。

まとめ

アプリケーション・ビルドの OTA 配布によってテスターに最新のビルドを提供することで、新規ビルドをテスターの端末に配布するプロセスが簡素化され、時間も短縮されます。OTA 配布を利用しない場合、このプロセスには手作業でのステップが数多く伴います。OTA 配布が特に重要となるのは、アプリケーションが頻繁に変更されて、繰り返しテストを行わなければならない開発段階です。OTA 配布は、アプリケーションの開発およびテスト・サイクルを大幅に短縮するだけでなく、正確さに貢献することでアプリケーションの品質を向上させることにもなります。


ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Mobile development, Cloud computing
ArticleID=992773
ArticleTitle=モバイル・アプリをテストするために OTA で配布する
publish-date=12182014