恵子Tweet「実践現場から学ぶモバイル開発の勘所とビジネスへのインパクト」をテーマとしたセミナーが、2015年10月に開催された。後半の講演の概要を紹介する。モバイルアプリケーションの継続的テストを実践するために、自動テストだけではなく手動テスト、性能テスト、テスト管理、仮想化を利用したテスト環境までをCIツールと連携し実行していくためのフレームワークを紹介した。計画と開発フェーズの課題を解決するツールモバイルアプリのデリバリ課題として、計画と開発、テスト、運用という3つのフェーズがある。石坂氏のセッションでは、計画と開発フェーズの解決策としてアジャイルが挙げられた。アジャイルプロセスは小規模であれば導入しやすいが、大規模システムや地理的分散チームでは導入しにくい。アジャイル開発手法として最も浸透しているSCRUMでは、スケールをもったプロセス実行が難しいからだ。そのため、企業が求めるスケールに答えるためのプロセスとして、SAFe、DAD、Lessといったものが登場している。コンプライアンスのための管理フレームワークで、Portfolio、Program、Teamの3層でアジャイルのスケールに対応する。Teamレベルでは、機能からユーザーストーリーに落として開発。Programレベルではエピックを実現する機能の管理と各チーム割り当てを管理する。Portfolio層では、戦略テーマから企業や事業部門で取り組むべき要望を管理し、経営層が投資効果を測定できる。Manager」である。バックログ、不具合テスト結果まで含めたアジャイルプロジェクトの進捗管理を可視化する。開発にはテストがつきものだが、最もシンプルなテスト管理は、スプレッドシートによるものだろう。スマートフォンの場合は複数バージョンのOSや多種多様なデバイスがあるため、モバイルアプリの場合はWebシステムなどにくらべてテストケースが肥大化する傾向にある。このため、スプレッドシートでの管理は限界にきている。ALM/QualityCenter」である。要件、テストケース&結果、不具合情報を構造的に管理でき、品質状況にかかる管理コストを削減できる。各種レポーティングおよびKPIにより、品質状況をリアルタイムに把握、プロアクティブな対応が可能になる。アジャイルで開発していると、タスクのひとつとしてテストが入っているが、QAチームは別という場合がある。この時、テストというタスクを管理するのはアジャイル進捗管理ツール、テストケースそのものを管理するのはテスト管理ツールというように、異なるツールを使っていることだろう。ALM/QualityCenter」に分かれている。これらは連係し、QAチームは早い段階から参加することが推奨される。プランニングの段階で、QAチームがアドバイスすることが重要だ。QAチームの積極的なSCRUMチームへの参加テストフェーズの課題を解決するツールモバイルアプリのテストでは、エミュレーターを使った単体テスト、実デバイスによる動作検証、UXテストやベータテスト、グローバルテストなどを含む統合フレームワークのテストの4つのレベルがある。モバイルに固有の問題として、実際のユーザーに近い通信環境でのテストが必要だ。社内のWiFi環境でのテストでは問題がなくても、3GやLTEなどの通信環境ではうまく動作しないなどのケースがある。最終テストの段階で通信環境に依存する問題が見つかると、アーキテクチャの見直しから必要になることもあるため、できるだけ早い段階で通信環境を含めたテストをするのがお勧めだ。ヒューレット・パッカードの考えるモバイルアプリケーションテスト環境の構成は以下のようになる。Center」は、モバイルテスト管理とラボの機能を提供する。数百台のテスト用デバイスを複数のプロジェクトで共有でき、機能テストの自動化だけでなく、手動テストや性能テストの効率化も可能。ライフサイクルを通して必要とされる機能を、センター化して提供する。機能テストは自動化が必須だが、手動テストが完全になくなるわけではない。従来は、テスターがテストのステップをスプレッドシートに記入し画面キャプチャーを貼り付けるといった管理方法が多かったが、手間がかかるうえすべてのステップを記憶しておくのも難しい。Sprinter」と連係することで、バックエンドでステップを記録し、画面キャプチャーを保存する。性能テストは、実デバイスで行うのはナンセンスなので、以下の4つの要素を仮想化する。実ユーザーの操作をエミュレートし、大量ユーザーがアクセスしている状況を作って動作を確認する。サービス外部サービスと連係したアプリケーションでは、テストでそのサービスを使えない、あるいは使うとコストが発生するなどの状況がある。これを解決するため、ある種のスタブを作ってシミュレーションする。ネットワーク想定されるモバイルアクセス(3GやLTEなど)、クラウドアクセス時のネットワーク品質をシミュレーションできる。データキャッシュを使うとテストの意味がないので、実データに近いデータを利用する。Virtualizationと呼び、以下のようなソリューションで構成する。Virtualizationポートフォリオまた、性能テストでは、負荷をかけるためのマシンを大量に用意する必要があるため、せっかくアジャイルで迅速に開発しようとしているのに、テスト準備に時間がかかるという課題がある。LoadRunner」は、AzureやAWSといったパブリッククラウド上に構築することで時間短縮が可能だ。Load」も提供している。開発チームとQAとチームが分かれている場合、異なるツールを使っていてやりとりがわずらわしい。開発チームが使っているツールは、開発者以外には理解しづらいという課題がある。LeanFT」である。StudioやEclipse)のUnitテストフレームワークでGUI機能テストを可能にし、TDDやCucumberを利用したBDD、ATDDフレームワーク上で機能テストを実現する。これにより、DevOpsフレームワークへの統合が可能になる。あなたのスマホアプリをユーザーはどう評価している?スマホアプリへの評価が自社サービス全体の評価につながるモバイルの時代には、リリースしたアプリがユーザーにどう評価されているかを正確に知る必要がある。鉾木敦司氏が解説した。鉾木敦司氏サービスの価値とスマホアプリの品質の関係モバイルサービスは、顧客接点の拡大(いつでも、どこでも)を実現し、ユーザーを自社サービスに繋ぎとめる絶好の手段となっている。一方で、モバイルアプリの品質が悪いと、アプリが悪いと思うだけでなく、サービス全体が悪いと感じてしまう。アプリの品質が、顧客離れや売上げに影響するということだ。スマホアプリの品質とは何だろう。機能や操作性、バグがない、定期的な機能追加や改善が見込めるなども評価基準になるが、最低限必要なのは瞬時に動くことだ。モバイルサービス浸透により「いつでも、どこでも」が定着したことで、「必要な時に、必要なことができる」ことが期待されるようになった。逆に言うと、それができなければダメなアプリということになる。モバイルユーザーがそれを判断するのは、ほんの一瞬のことだ。鉾木氏は、ユーザーがスマホアプリを評価する瞬間、逆に言えばアプリを見限る瞬間について、市場調査の数字をいくつか挙げた。スマホアプリが4秒以内に起動することを期待する人の割合は、61%スマホアプリが2秒以内に反応することを期待する人の割合は、49%バッテリ消費の激しいことを理由にアプリの使用をやめる人の割合は、36%「応答なし」または「クラッシュ」が起きたらそのアプリを削除する人の割合は、53%「起動に4秒」、起動したアプリを操作したら「反応に2秒」がユーザーの期待だ。不安定なアプリに遭遇した時の、ユーザー行動の上位4つは「アップデートやバージョンの有無のチェック」「そのアプリはもう使わない」「別の代替アプリを探す」「そのアプリを削除」である。アップデートをチェックしてくれるのはかなり寛容なユーザーで、ユーザーの本音は無慈悲だ。瞬時に動くかどうかというハードルを突破しないアプリは、門前払いされる危険性が高い。自社サービスの価値はスマホアプリの品質で決まり、それは一瞬の満足度で決まる。AppPulseMobile:UXの定量的計測方法のご提案ユーザー体験として測定すべき項目は、以下の6つだ。起動時間(4秒以内)画面反応時間(2秒以内)アプリのクラッシュエラー発生バッテリ使用量データ通信量これらは、性能、安定性、リソース消費の3つの分野にカテゴライズできる。測定項目と端末環境の組み合わせまた、快適だったアプリが、ある日突然使いにくくなることがある。それは、端末を買い換えた、OSやアプリをバージョンアップしたなど、きっかけが分かりやすいものもあれば、ユーザー数が増えたためなど、ユーザー側ではコントロール不可能な理由もある。いった情報を多面的に、かつ継続的に解析する必要がある。それを提供するのが、「AppPulseMobile」だ。仕組みは、以下の図のようになる。AppPulseMobileのアーキテクチャ「AppPulseMobile」は、iOSとAndroidに対応している。iOSのアプリはIPA、AndroidのアプリはAPKという形式だが、そのオリジナルのアプリに対して、まず「AppPulseMobile」のSDKでラッパー加工する。Storeで配布する。ダウンロードしたユーザーは、ラッパー加工されているアプリを使っていると意識することはない。ラッパー加工の手順は、「AppPulseMobile」のWebポータルにアクセスし、OSを選択、アプリ名を入力する。次の画面でアプリケーションキーが発行されるので、専用SDKをダウンロードする。それを解凍するとフォルダができるので、そこにオリジナルのアプリを入れると、ラッピング加工できる。オリジナルのソースコードにタグを追加するなどの変更は必要ない。Cloud上の「AppPulseMobile」に逐次転送する。それをリアルタイム集計して、インターネット経由で開発者や運用管理者に提供する仕組みだ。ダッシュボードでは、以下のような情報が見られる。AppPulseMobileのダッシュボード画面83というのは、100点満点中の得点。2段目が3つに分かれているのは、性能、安定性、リソース消費の3つのカテゴリである。図の例では、性能で5点マイナス、安定性で10点マイナス、リソース消費で2点マイナス、合計17点マイナスで、83点という評価になっている。このスコアは、測定対象期間とバージョンを選ぶことができる。深掘りする以下のような情報を可視化できる。ユーザーフロー分析どの画面遷移を何ユーザーが推移したかを自動的に可視化。遅延の発生箇所、離脱したユーザー数とその原因、どの箇所に手を加えるべきかどこから改善すべきかの指針を得ることができる。発生時の端末状態やクラッシュトレールを見ることができる。バッテリ消費分析OSバージョンごと、端末機種ごとのバッテリ消費やユーザー数などをバブルチャートやグラフで可視化。(データ通信が一番多い)の影響度合い、バックグラウンド通信の影響度合い、通信先ドメインごとの通信量比較などを可視化。「AppPulseMobile」は、擬似的なユーザー体験を測定するツールではなく、実ユーザーの体験を測定する。コード変更やタグ追加が不要で導入が容易という点も特長だ。価格は、ひとつのアプリケーションを1万スマホユーザーに、12カ月使って20万円と、導入しやすい価格で、継続的品質改善でビジネスに貢献する。スマホアプリの品質が自社サービスの価値に直結する時代、スマホアプリ品質の継続的改善によるビジネス寄与はますます大事になっている。ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。IT会員サービスの概要とメリットをチェック他にもこの記事が読まれていますキャリア・人材イベント正社員でも大丈夫。Summit上海、楽天モバイルのフル仮想化ネットワークに注目2020/1/20フリーランス/起業イベントスキルアップ、キャリアアップ、自分らしい働き方を実現。2016レポートアプリケーションライフサイクルの最適化がモバイルアプリの企業価値を高めるモバイルアプリのテスト時における5つの課題とHPEが考えるテスト自動化とその先HPが提唱するDevOps実現の確実な切り口はテストツールの革新からアプリの差別化を図るにはインフラ監視だけでは不十分。VeloCloudが選ばれる理由SD-WANとはなにか。Linuxエンジニア育成への思いF5とNGINXの組み合わせで、サービス公開をよりセキュアに。ITがお届けするポッドキャストです。