---
title: "モバイルアプリケーション開発における自動テスト"
date: "2016-11-22"
categories: 
  - "development"
  - "mobile"
  - "software"
  - "tools"
tags: 
  - "automated-testing"
  - "mobile-apps"
  - "mobile-development"
  - "mobiletogether"
  - "software-tools"
description: Altova MobileTogetherを使用することで、モバイルアプリ開発における自動テストを効率的に行い、様々なデバイスやバージョンにおけるアプリの動作を検証することができます。
---
Status: #blog

Tags:  #automated-testing #mobile-apps #mobile-development #mobiletogether #software-tools

Categories: [development](/blog/ja/category/development.md) | [mobile-development](/blog/ja/category/mobile-development.md) 
# モバイルアプリケーション開発における自動テスト

堅牢で再現性の高いテストは、あらゆるソフトウェア開発プロジェクトの品質向上に貢献します。もしあなたが [モバイルアプリケーションを開発する](https://www.altova.com/ja/mobiletogether.html), 特に、エンドユーザーが利用するデバイスや場所の多様性が予測できないため、テストは非常に重要です。Altova MobileTogetherには、高度な自動テスト機能が搭載されており、開発者は以下のことが可能になります

- ユーザーの操作を記録し、それをテストケースとして保存します
- MobileTogether Designer シミュレーター環境で、テストケースを再度実行してください
- テストケースをMobileTogetherサーバーに展開し、様々なクライアントデバイスで繰り返し実行できるようにします
- サーバーからテスト実行の結果を取得し、差異を比較します

![モバイルアプリケーションの自動テスト](/blog/images/automated_app_testing.jpg)

このアプリは、バグを修正するために変更を加えることができ、変更後の結果を検証するために再度テストを実行することも可能です。そのため、モバイルアプリ開発プロセスにおいて、このツールは欠かせない品質保証ツールとなります。

<!--more-->

GPS機能を利用するアプリケーションについて、テストケースの実行結果がデザインの決定に影響を与える例を見てみましょう。

MobileTogether Designerの「位置情報追跡（開始）」機能を使用すると、開発者はGPSとネットワークを利用した追跡、またはGPSのみを利用した追跡のいずれかを選択できます。この機能を使ってアプリをテストし、それぞれの結果を比較することができます。

![MobileTogetherでGPSの記録を開始します](/blog/images/Source-GPS-only-trim.png)

以下に、AndroidスマートフォンとiPhoneで動作しているGPSアプリのスクリーンショットを示します

![MobileTogetherを使用して開発された、クロスプラットフォーム対応のGPSアプリケーション](/blog/images/app-running-snaps-2.png)

このアプリの動作は、まずユーザーがGPS追跡機能をオンにすることを待ちます。その後、「位置情報を更新」ボタンを押すと、現在位置が記録されます。アプリは記録された位置情報を保存し、GPS追跡機能を再びオフにします。これは、バッテリー消費とデータ通信量を抑えるためです。ユーザーが次に位置情報を記録したい場合に備えて、GPS追跡はオフのままになります。

テストケースは、MobileTogether Designerのメニュー項目や、デザインウィンドウの上部に配置されたツールバーのボタンを通じて、記録、再生、および管理されます。

![モバイルアプリケーションの自動テスト機能：MobileTogetherデザイナーにおけるボタン操作 ](/blog/images/Test-Case-buttons.png)

GPS機能を有効にするラジオボタンの設定を、GPSによる追跡のみに限定しました。その後、シミュレーターでテストケースを作成し、2つのデータポイントを記録しました。デザイナーのワークステーションには通常、位置情報取得のためのハードウェアが搭載されていないため、最初のテストでは、GPSデータをシミュレートするために座標データファイルを使用しました。

次に、アプリケーションとテストケースをMobileTogetherサーバーに展開しました

![テストケースをMobileTogetherサーバーに展開する](/blog/images/deploy-test-case.png)

その後、MobileTogetherサーバーのWebインターフェースを通じてテストケースを実行し、再生とデータ記録のオプションを選択しました

![モバイル自動テストのための MobileTogether サーバー設定 ](/blog/images/Server-settings.png)

サーバー上でアクティベーションを行うことで、自動テストを実行できるようになり、接続されているクライアントデバイスであれば、どのデバイスでもテストを実行できます。私たちは、AndroidデバイスとiOSデバイス、それぞれ一度ずつテストを実行しました。

### アプリケーションの改訂版に対する自動テスト

定義されたすべてのテストケースは、開発者が修正を行っても、アプリと紐付けられたままです。私たちはアプリを再度開き、GPSラジオボタンの機能を変更し、GPSとネットワークの両方を利用した位置情報追跡を可能にしました。

![MobileTogetherで、GPSとネットワークを利用した位置情報追跡機能を選択します](/blog/images/Source-GPS-plus-network-trim.png)

シミュレーターでテストを再度実行し、新しいバージョンのアプリケーションをMobileTogetherサーバーに展開した後、クライアントデバイスの両方で再度テストを実行しました。現在、テストケース管理ダイアログで確認できるテスト実行結果は6件です

![MobileTogetherデザイナーで完了したテストケース](/blog/images/Completed-test-cases.png)

上記の画像において、赤いタイルで示されている部分は、テスト実行結果の変動を示しています。

2つのAndroidスマートフォンのテスト結果を比較したところ、GPSの設定に関わらず、取得された座標値にわずかな差しか見られませんでした。それぞれの比較ウィンドウでその違いが確認できます

![AndroidデバイスにおけるMobilteTogetherの自動テスト実行結果の比較](/blog/images/Compare-Android.png)

iOS搭載のスマートフォンも、テスト運転中に異なる座標データを記録しました

![iOSデバイスにおけるMobileTogetherの自動テスト実行結果の比較](/blog/images/Compare-iOS.png)

保存されたテストスクリプトを実行することで、アプリケーション開発者は以下のことが可能になります

- データベースのクエリ結果やRESTウェブサービスのリクエストなど、基盤となるデータが変更された場合に、アプリケーションの動作を検証します
- バグ修正が正しく行われたかを確認するために、エラーを引き起こした一連の操作を、修正が組み込まれた新しいバージョンのアプリで再度実行してください
- アプリの新しいバージョンで、予期せぬ動作が誤って導入されないように注意してください
- さまざまなモバイル端末で、ユーザーが同じ操作を行った際の画面表示を事前に確認できます

独自のクロスプラットフォーム対応モバイルアプリの自動テストを始めましょう。MobileTogether Designerは、[無料でダウンロードおよび利用](https://www.altova.com/ja/download/mobiletogether-designer.html)できます！
