Android開発の上層テストで失敗しないためのポイントとは

Android開発の上層テストで
失敗しないためのポイントとは


第2回Androidテスト祭りレポート

Androidテスト部
太田健一郎
2012/6/6

「受け入れテストガイドライン」はユーザーに役立つのか

 Android Bazaar and Conference 2012 Springでテスト部の生路氏より提案のあったユーザーとベンダの合意事項となる「受け入れテストガイドライン」だが、果たしてベンダの視点から見た場合、どのように映るのだろうか。ユーザーとベンダに別れて討論するのが、今回の企画「ユーザーとベンダで生討論! みんなでつくる『受入れテストガイドライン』」である。

 ユーザー側は、電通プラットフォーム・ビジネス局開発部所属の廣田周作氏、上原拓真氏、千代裕介氏、電通イーマーケティングワン所属の徳田哲司氏の4名。ベンダとしては、テスト部所属の生路茂太氏、松木晋裕氏の2名が登壇し、本音をぶつけ合った。

電通プラットフォーム・ビジネス局開発部所属 廣田周作氏、上原拓真氏、千代裕介氏、電通イーマーケティングワン所属 徳田哲司氏

 初めに、テスト部の生路氏が「受け入れテストガイドライン」の作成の経緯を説明。Androidアプリを作ったは良いが、「動かない」(さまざまな端末での動作を保証できない)、「売れない」(アプリ単価が安いために大量のマーケティングが必要)となり、「Androidアプリは、もうからない」とユーザーとベンダの間で認知されてしまっている。両者が合意できる「もうかる」Androidアプリを開発するのにはどうしたらよいかという中で、ユーザーのアプリの合意事項として「受け入れテストガイドライン」を提案したという。

- PR -

 続いて、ユーザー側から、一般消費者にはなじみが浅い電通のAndroidアプリに関する事業内容と、開発したAndroidアプリが紹介された後、ベンダ側から3つ質問があり、それをユーザー側が答える形で討論が始まった。

【1】すべての機種でアプリの動作保証

 「Androidアプリ開発では、未来の機種も含めてすべての機種でアプリが正しく動作することを保証できない」というベンダ側の主張に対して、ユーザー側からは、「できる限り端末に依存しない機能を使う」「ユーザービリティは現状では定量化が難しく、ガイドラインレベルのものを作るのは難しい」と回答があった。

 また、運用を考慮したビジネスを実現するには、「ビジネスモデルそのものを再検討する必要がある」という現在の受発注開発に対して限界を示唆する説明もなされた。

【2】アプリを使う側の問題意識

 続いて、ベンダ側から「発注側のAndroidアプリの受け入れ現場には、そもそもどんな問題意識があるのか」と質問。これに対してユーザー側からは、「やはりユーザービリティ要件が高いので、明確な要求を作成してから作成するのではなく、ざっくりとしたコンセプトベースで企画して、個別機能は作っていきながらとならざるを得ない」と回答があった。

 さらに、発展途上のAndroidという存在は、提案型営業として「まずは顧客と夢を共有できなければ先に進めない」というマーケット側の現実の説明があった。

【3】受け入れテストやRFPのこれまで

 ベンダ側から「これまで、受け入れ試験や、その基となるRFP(Request For Proposal)や、機能/非機能要件の定義はどのようにしてきたのか」と質問。これに対してユーザー側からは、「要件定義としては、マーケティングとエンジニアリングの言葉の相違が課題である“魅力性”のような非機能要件については、現状参考となる指標がない」と回答があった。

 全体を通して、ユーザービリティ要件や“魅力性”などが重視されるAndroidアプリ開発では、「受け入れテストガイドライン」でも、そのような領域を取り込み、指標化していく努力が必要となる印象を受けた。

Androidアプリ開発にはCIツール「Jenkins」が効果的

 続いて、テスト部のh.suehiro氏が、Jenkinsを使ったライブ形式で、開発者による下層テストと上層テストにまたがったCIを解説した。

日本Androidの会テスト部 h.suehiro氏

 h.suehiro氏によるとCIには、開発中のバグの早期発見、フルリグレッションテストの自動化などのメリットがあるが、端末バリエーションが多く、OSのバージョンアップが速いAndroidでは、さらにCIの重要性が高まっているという。

 また本セッションでは、JenkinsでAndroidアプリをCIするために以下の3つのポイントが解説された。

  1. JenkinsへのAndroid SDKの導入
  2. Antファイル(build.xml)がないAndroidプロジェクトの取り扱い
  3. 複数デバイスを接続する場合のJenkinsジョブの設定

 1つ目のJenkinsへのAndroid SDKの導入については、エミュレータプラグインを導入すれば、自動的にAndroid SDKも導入されると解説。

 2つ目については、Jenkins用のAntファイルがなくても、「android update project」コマンドでAntファイルを生成できるという。

 3つ目については、Jenkinsの「マルチ構成プロジェクト」でパラメータ設定をすることにより、複数のデバイスを同時にテスト実行できるとのことだ。

 最後に、テスト結果の整形や画面キャプチャなどについて、会場からの質疑応答に答え、ライブは終了した。ライブの実演でも分かる通り、Android特有のポイントは存在するが、「Jenkins自体の導入は非常に容易で使いやすいので、積極的に現場でも導入してほしい」とのこと。講演の詳細は、以下の資料で確認してほしい。

 また、この講演と同等の内容は、すでに@ITに掲載済みのテスト部の連載記事に詳しく書かれているので、興味を持った方は下記を参照してほしい。

JenkinsでCIすればAndroidアプリ開発はもう怖くない
Androidアプリ開発テスト入門(6)
 Androidアプリ開発における継続的インテグレーションの重要性やJenkinsの利点を解説し、環境構築の仕方や使い方の手順を紹介します
Smart & Social」フォーラム 2012/5/23

LT【1】Jenkins+コードレビュー「Geritt」がさらに効果的

 LT(Lighting Talks)はITのイベントや勉強会で行われることが多い短時間(通常5〜10分)でのセッションである。第2回テスト祭りでは2本の発表があった。

 h.suehiro氏のライブセッションに続き、JenkinsによるCIに「Geritt」によるレビューを組み合わせた相乗効果についてKazushige TAKEUCHI氏が解説した。

Kazushige TAKEUCHI氏

 Gerritは、グーグルが開発したレビュー管理システムであり、 Gitレポジトリを対象にしたコードレビューと、その管理をWeb上で実現できる。

 JenkinsとGerritを組み合わせた場合の効果としては、CIのもともとの効果を高めることに加え、コミット忘れやデグレードの防止、コードレビューアの負担低減(静的検証やテストが合格したコードを対象にレビューするようワークフローを強制できる)などが挙げられた。

 テスト部での検証アプリである「Testter」へのJenkins/Gerrit導入は、これからであり、協力者を絶賛募集中という。興味のある方は、テスト部に入って、Testterプロジェクトへ参加してみてはいかがだろうか。講演の詳細は、以下の資料で確認してほしい。

2/3

 INDEX
第2回Androidテスト祭りレポート
Android開発の上層テストで失敗しないためのポイントとは
  Page1
今回は、上層にフォーカス
セキュリティ設計は開発の初期段階から検討すべし
Page2
「受け入れテストガイドライン」はユーザーに役立つのか
Androidアプリ開発にはCIツール「Jenkins」が効果的
LT【1】Jenkins+コードレビュー「Geritt」がさらに効果的
  Page3
LT【2】Androidテストの効率化ノウハウ
増加するAndroid端末にはリモートテストが有効か
Androidテストの課題は、まだまだ山積み


 Smart&Social フォーラム トップページへ



Smart & Social フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Smart & Social 記事ランキング

本日 月間