目次


正常に動作するモバイル・アプリケーションを構築する

専門家パネリストからの 5 つの助言

Comments

「モバイル・ファースト」は、カスタマー・エンゲージメントを実現する最も確実な手段としてモバイル配信を採用している大企業と中小企業の両方に共通する、新しいキーワードです。モバイル開発者、モバイル・アーキテクト、そしてモバイル戦略家としての私たちは、場合によっては大きなリスクを伴う、クリエイティブな手法を考案しなければならないという課題を抱えています。新しいモバイルのトレンドを予測して利用するためにできる限りのすべてのことを行う過程のなかで、私たちは従来のアプリケーション開発ライフサイクルを変形させて、そのライフサイクルを駆動する前提も優先順位も変更しているところです。この作業は簡単ではありませんが、エキサイティングであることは確かです。幸い、モバイル・エコシステムも拡大しつつあり、開発者たちは今や、統合されて自動化されたコラボレーティブ・モバイル・ソリューションの需要を満たすために、幅広い新しいツールを使えるようになっています。

この記事では、2013年 8月の IBM developerWorks Mobile Frontiers Web キャスト「Mobile testing: Proven techniques to use when apps just have to work」(「参考文献」を参照) で行われたパネル・ディスカッションのキー・ポイントを要約します。私たちは、IBM MobileFirst およびパートナー組織で働くモバイル・スペシャリストとして、お客様が複雑なモバイル・テスト環境を使いこなせるように支援するテクノロジーと手法、チームがテスト統合、テスト自動化、フィールド・テストなどの手法を利用して品質の高いモバイル・アプリケーションを提供する方法、そしてモバイル端末クラウドの増大する価値について話し合いました。

モバイル・アプリケーションでの品質の再定義

モバイル・アプリケーションの品質は、デスクトップ・アプリケーションと Web アプリケーションにも増してユーザー中心の観点で評価されます。この観点からすると、品質が高いということは、もはやバグがないことだけを意味するのではありません。モバイル・アプリケーションの品質を評価するには、まず、多次元の視点で物事を捉える必要があります。ユーザビリティー、パフォーマンス、コンテンツなどのユーザーに直接関係する要素と、機能品質およびセキュリティーなどのバックエンドの問題の両方を考慮する必要があるということです。

アプリケーションの品質は、慎重に評価することが極めて重要です。それは、1 つのアプリケーションがユーザーの期待に応えられなければ、それによってブランド全体に悪影響を及ぼす可能性があるためです。ユーザーからの悪い評判は、モバイル・アプリケーション・ストアやソーシャル・メディアに大量に寄せられます。ユーザーにとって、競合他社のアプリケーションに切り替えるのは簡単なことで、たいした値段にもなりません。

開発者には常に、ユーザー・エクスペリエンスの重要性と他の品質要因のバランスを取ることが求められますが、モバイルの世界では、ユーザー・エクスペリエンスがまさに第一の優先事項です。良かれ悪しかれ、私たちはこれまでとは異なるやり方でアプリケーション品質のトレードオフを比較検討するようになっています。これは必然的に、開発者と経営者両方の「高品質」の意味に対する認識を変えています。

要件の収集はこれまでと変わらず重要です

より多くの企業顧客が、自分たちの組織とのやりとりで使用する手段としてはモバイル・アプリケーションが第一の手段になったことを実感するようになるなか、モバイル・ファーストは転機を迎えています。モバイル・アプリケーションは、もはやサブの商品でも、あったら便利なものでもありません。場合によっては、モバイル・アプリケーションがビジネスを牽引し、企業の顔としての役割を持つこともあります。

モバイル・アプリケーションの数が Web アプリケーションの数を上回るようになった今、開発者はモバイル開発でのアプリケーションの要件収集、要件管理について再考しなければならない時期に来ています。ハードウェアおよびアプリケーションの配布に関する選択肢は豊富にあることから、モバイルは並外れて競争の激しい分野となっており、可能性の限界は常に押し広げられています。モバイル開発者は、新しい機能や特徴的な機能に対するユーザーの要望を極めて迅速に満たさなければなりません。その迅速な対応が、今や新しい基準になりつつあります。

つまり、モバイルの場合の効率的な要件収集プロセスには、ユーザー・ベースが関わってくるということです。将来のユーザーをモバイル・アプリケーション市場の競合他社から誘い出すには、ユーザーが何を求めているかを知っておかなければなりません。

モバイル・アプリケーションのテストは他とは異なります

フラグメンテーションにより、開発者とユーザーの双方に新しいクリエイティブな可能性と選択肢がもたらされています。ただしテストに関しては、その選択肢がマイナスに作用します。現在の市場には、Android 端末だけをとっても 12,000 の異なる選択肢があります。つまり、新しいモバイル・アプリケーションのテスト・マトリックスには、ここまでのレベルのフラグメンテーションを含めなければならないということです。

Web アプリケーションと比べると、モバイル・アプリケーションは規模が小さく軽量であるとは言え、通常はより多くの特徴的な機能、またはより高度な機能が要求されます。例えば、Web 上の航空会社のアプリケーションにはチェックイン機能が必要ですが、そのモバイル・バージョンでは e-チケットの表示や手荷物の追跡などにも対応しなければなりません。これらの特徴的な機能のそれぞれに、追加のテスト・ステップが必要になります。

私たちは、特徴的な機能を豊富に備えたモバイル・アプリケーションを複数のプラットフォームでどのようにテストするかという問題に取り組んでいる一方、モバイル・アプリケーションの作成予算は Web アプリケーションやデスクトップ・アプリケーションよりも低いという問題にも直面しています。傾向として、モバイル・アプリケーションのエンジニアリングとテストの予算は削減されがちです。

モバイル開発のペースは、かなりの速さであるという事実もあります。アプリケーションの配信が、従来の開発者が慣れているペースに従っていないことも珍しくはありません。モバイル開発には、今までよりもアジャイルな手法が必要となります。これは、テストと品質に関して特に言えることです。モバイル・アプリケーションは、Web アプリケーションやデスクトップ・アプリケーションのように徹底的にテストすることはできません。モバイル・アプリケーションで対応しなければならない環境の種類は、Web アプリケーションやデスクトップ・アプリケーションより遥かに多いためです。

テスト戦略を見直す必要があります

モバイル事業で、テスト要件を決定する従来の手法を採用するとしたら、その事業は難航することが予想されます。モバイル事業で成功するには、それを導入する人々がモバイルを異なるものとして捉え、今までの手法を完全に見直す必要があります。その際に重要になるのは、製品化までの時間に関する目標と、利用者が品質に対して許容する範囲の変化とのトレードオフを理解することです。

ベスト・プラクティスとなるモバイル・アプリケーションのテスト戦略は、自動化されたテストと人間による対話型テストのバランスを取ることです。

組織の中でモバイル・アプリケーションのテストを行う担当部門を決めてください。それは、開発チームでしょうか、中核的研究拠点でしょうか、それともこの 2 つを組み合わせたものでしょうか?社内のテスターと社外のテスターの両方を使用する場合は、どこで引き継ぎを行うかを明確に定義します。手順についても明確に定義する必要があります。利用可能なリソースとテストの範囲を査定すると、これらの決定を導くのに役立ちます。

FURPS (Functionality, Usability, Reliability, Performance, Supportability) モデルは、モバイル・アプリケーションをテストするための便利な手段です (「参考文献」を参照)。このモデルを拡張して、セキュリティー、プライバシー、コンテンツを含めてください。この 3 つはいずれも、ユーザーの品質に対する認識で大きな役割を占めるためです。経営者は、ターゲット市場、アプリケーションの目的、そしてアプリケーションのリスク特性についても検討する必要があります。また、開発者、テスター、ユーザーからの明示的および暗黙的な品質フィードバックを常に取り入れてください。

品質と製品化までの時間とのバランス

Twitter、Facebook、Google などの企業で採用しているビジネス・モデルは、新しい特徴的な機能の市場への投入をベースとしています。これらの企業は、マーケティング戦略として無料のアプリケーションを配布しています。このそれぞれの企業は、新しい特徴的な機能が話題になっている間にその機能をローンチするには、重要度の低いバグを受け入れなければならないことを学びました。影響を受けるユーザーが 100,000 人に達しないバグは、修正されることも、修正されないこともあります。過去 5 年から 10 年にわたり、このような変化がソフトウェア開発ライフサイクルの形を変えてきました。

その一方で、製品化までの時間を優先することが、すべての企業に適しているわけではありません。信頼に依存する大企業や事業では、利用者に自分たちのデータの安全性に疑問を抱かせるような機能に関するバグを許容することはできません。そのような企業の場合、セキュリティー上の不備はもちろん、ユーザー・エクスペリエンスや信頼を損ねる原因となるマイナーな機能的欠陥に至るまで、排除することが不可欠となります。

従って、金融サービス・プロバイダーには以下の課題があります。

  • 顧客をモバイル・アプリケーションにエンゲージさせる
  • 他と差別化する新しい特徴的な機能や能力を追加する
  • モバイル・アプリケーションの品質とセキュリティーを極めて高いレベルで維持する

モバイル・テストの成功への鍵

開発プロセス全体にわたって有効なモバイル・テストを行うには、テストを統合して自動化する計画を立て、実際のシナリオと環境でテストしてください。

テストの統合

初期の段階でテストを行うことは、モバイルでも同じく必要です。ただし、モバイル・アプリケーションでの初期テストは、難易度が増す可能性があります。それは、モバイル・アプリケーションは複数の層で構成された分散システム、メインフレーム、ERP システム、およびパッケージ化されたアプリケーション・システムに依存する場合があるためです。しかも、これらの依存関係は一般に、異なるスケジュールと予算で活動する別個のチームによってそれぞれ開発および保守されます。

モバイル・アプリケーションをサポートおよび駆動するすべてのプラットフォームを統合しても、初期テストを妨げる障害にはならないはずです。IBM Rational Test Workbench および Rational Test Virtualization Server などのソリューション (「参考文献」を参照) によるサービス仮想化は、一部のモバイル統合およびテスト・シナリオで実行可能な次善策です。モバイル・アプリケーションが最終的に依存するサービスのテスト・スタブを作成すれば、開発者はスケジュールに従ってアプリケーションに取り組みながら、統合テストを実行することができます。

開発者は Rational Test Workbench を使用して、アプリケーションの基本画面から行う UI の使用を自動化し、パフォーマンスと機能を検証することができます。IBM Rational Test Workbench は、統合テスト、バックエンド・サービスの仮想化、および UI テスト自動化に使用されています。仮想化と UI テストの自動化は、予期しない環境条件をテストする場合にも使用されます。

テスト自動化

私たちのほとんどの顧客にとって、自動化はすでに不可欠なものであるか、または今後不可欠なものになるはずです。手動テストに対応できているテスト・チームでも、自動化を取り入れなければ最終的には途方に暮れてしまうでしょう。モバイルが果たす中心的役割を、組織が強化し、把握するようになるにつれ、現在と将来にわたり、開発とリリースのペースは加速されていくことになります。従って、テストの自動化が必須となってきます。

  1. 自動モバイル・テスト戦略を展開するチームにとって鍵となる質問には、次の 3 つがあります。
  2. 複数の端末上で実行する効率的なテスト自動化を作成するにはどうすればよいか?
  3. バージョン間での変更の数を最小限に抑える効率的な自動化を作成するにはどうすればよいか?

人間が一切介入しない真のテスト自動化を作成するにはどうすればよいか?

これらの質問にチームがどのように答えるかによって、テストからどれだけ効率性を引き出せるか、そしてプロジェクトで目標にできるテスト対象の範囲が決まってきます。

フィールド・テスト

フィールド・テストとは、プロのテスターを雇って、アプリケーションを実際のシナリオと環境でテストすることを意味します。テストは、実際の端末上で行われます。これは、アプリケーションがさまざまな条件下で意図されたとおりに機能することを確実にするためです。フィールド・テストは、テスト・ラボの理想的な条件で行われるテストではなく、アプリケーションのターゲット市場を代表する実際のユーザーがアプリケーションを試して、自分たちが目指している品質標準にアプリケーションが達しているかどうかを判断します。

フィールド・テストは、ラボでのテストを補完するものです。アプリケーションのインターフェースを、局所化されたサービスでテストする場合や、ターゲット市場の実際のユーザーでテストする場合には、フィールド・テストが特に役立ちます。理想的には、フィールド・テストをアプリケーション・ライフサイクル・マネジメント・プロセスに統合し、社内のバグ追跡システムと連携させます。

まとめ

モバイル・アプリケーションのテストと品質管理は、継続的に高品質のモバイル・アプリケーションを提供する必要がある組織にとって、これからも課題であり続けるはずです。近い将来は、さらに次の 3 つの要因がモバイル・テストに影響を与える可能性があります。

  • リリース・デリバリー・パイプラインの一部として、DevOps ライフサイクルにテスト自動化を組み込むこと。
  • セキュリティー、開発、およびその他の要因の標準化を改善して、フラグメンテーションを減らすこと (このことは、初期の頃の Web 用ソフトウェアのテストについて覚えている企業には、聞き覚えがあるはずです)。
  • 現在のモバイルの取り組みを、自動車や TV、冷蔵庫などの新しい「モノのインターネット」環境に対応するように変容させること。

モバイル・アプリケーションのテストと品質保証は IT 業界の新しい分野であり、可能な限り高い品質のモバイル・アプリケーション (つまり、ユーザーに関わって満足させると同時にバックエンド・システムへのアクセスを最適化し、ユーザーが要求するセキュリティーを提供するモバイル・アプリケーション) を提供しようと努力している組織にとって、常に課題となり続けます。


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


関連トピック

  • 「Webcast Relplay: Mobile Testing: Proven techniques to use when apps just have to work」 (The Mobile Frontier、2013年8月): Mobile Global Rational User Community に参加して、リプレイを確認したり、多くの Webcast に参加してリプレイを見たりしてください。
  • FAQ: What is IBM Mobile Quality Assurance?」(IBM developerWorks): 開発者がモバイル・アプリケーションのインスツルメンテーションを行って、テスターおよびライブ・ユーザーのエクスペリエンスを取り込むのを、IBM Mobile Quality Assurance がどのように支援するかを調べてください。
  • How to test mobile applications with Rational Test Virtualization Server」(Manjula Sogi 著、IBM developerWorks、2014年1月): Rational Test Virtualization Server、Rational Test Workbench、Rational Quality Manager を使用した、エンドツーエンドのモバイル・アプリケーション・テストを導入するステップバイステップの手順を学んでください。
  • Add IBM Mobile Quality Assurance to your mobile quality regimen」(Leigh Williamson 著、IBM developerWorks、2014年3月): 開発者が手動でモバイル・アプリケーションのテストを行うのを支援するクラウド・ベースのツール・セット、IBM Mobile Quality Assurance を今すぐ使い始めてください。
  • Mobile testing with IBM Rational Test Workbench」(Pragati Maheshwari 著、IBM developerWorks、2013年8月): IBM Rational Test Workbench を使用して、Android モバイル・アプリケーションをテストするための実践的な入門記事です。
  • From manual to continuous automated deployment of mobile Worklight applications」(Joel Cayne 著、IBM developerWorks、2014年2月): このチュートリアルは、IBM UrbanCode Deploy を使用して IBM Worklight 成果物用の DevOps デプロイメント・ソリューションを定義する方法を紹介しています。
  • Why testing in-the-wild is inevitable」(Jaime Saine 著、uTest Software Development Blog、2013年3月): 社内でのテストは現在でも行われていますが、市場および環境的な要因によって、フィールド・テストがモバイル・アプリケーションのライフサイクルに不可欠なものになっています。
  • IBM developerWorks ブログ「The Mobile Frontier」や Mobile development にアクセスし、この記事と同様の多くの記事を読んでください。
  • IBM Rational Test Workbench: モバイル・アプリケーションの包括的なテスト自動化ソリューションとして、リグレッション・テスト、統合テクノロジー、パフォーマンスおよびスケーラビリティー・テストに対応します。
  • Rational Test Virtualization Server: 単純化された効率的なテストのための仮想化サービス、仮想化ソフトウェア、仮想化アプリケーションのデプロイメントを実現します。

コメント

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

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Mobile development, Rational
ArticleID=975100
ArticleTitle=正常に動作するモバイル・アプリケーションを構築する
publish-date=07032014