SlideShare une entreprise Scribd logo
1  sur  67
Télécharger pour lire hors ligne
Androidは、Google Inc.
      これだけはやっておきたい                             の⽶米国およびその他の国に
                                               おける登録商標です。
      スマートフォンを成功に導く                            iOS, iPhoneは、Apple
                                               Inc.の⽶米国およびその他の
                                               国における登録商標です。
      テストの極意                                   その他すべての会社名・製
                                               品名・サービスネームは、
                                               それぞれ各社の商標または
      多機種対応の勘所や                                登録商標もしくはサービス
                                               マークです。
      品質向上効果の高い
      ツール活用のヒント

      株式会社エクサ/ユビキタスPCMソリューション部
      安藤幸央
      2012.7.13 14:35∼15:15
      @yukio_andoh yukio-ando@exa-corp.co.jp
                                                  all images : Flickr (CC)



2012年7月13日金曜日                                                                1
アジャイル
      スマートフォン 使ってますか?




2012年7月13日金曜日           2
一人約200アプリ。よく使うのは10個


2012年7月13日金曜日                    3
いつでも、どこでも使うもの


2012年7月13日金曜日    4
品質向上

                  ≒
                いかにテスト
                するか?

2012年7月13日金曜日            5
プロトタイピング        設計        開発・実装        テスト




      Webサービス




    スマートフォン




                 0         25        50           75         100




2012年7月13日金曜日                                                      6
多様な機種
                多様な利用者
                多様な状況



2012年7月13日金曜日            7
2012年7月13日金曜日   8
2012年7月13日金曜日   9
2012年7月13日金曜日   10
テストの段階とアプローチ
     1. 設計/UIデザイン/プロトタイピングの初期段階におけるテスト

     2. 開発中のテスト(実機とシミュレータ/エミュレータの違いを知るのが
        重要)

     3. 機能実装後の動作テスト

     4. 実機にテスト用アプリを入れて実際に使ってみるフィールドテスト

     5. 一般の方々に試用してもらうパブリックベータテスト

     6. リリース向けテスト(長期安定テスト/モンキーテストなど)

     7. リリース後、バグフィックス後の、アップデート版リリース時のテスト


2012年7月13日金曜日                              11
テスト計画
     1. テストにどれくらいの手間と費用、時間をかけるか?

     2. テストに関わる人員(選任、開発者、試用ユーザー)

     3. 不具合発見∼報告へのながれを構築。不具合情報の共有

     4. バグ修正後の再確認

     5. テスト機器の確保や分担

     6. 既知のバグ(対応を見送るものの判断)

     7. リリース基準(品質の確保)


2012年7月13日金曜日                       12
バグトラッカーでの管理
        通し番号              不具合修正の担当者

        ビルド番号             修正完了したビルド番号

        不具合報告者            不具合修正の確認/承認者

        不具合の再現方法          バグ収束曲線

        不具合発生時の機種/OS環境    バグ発生率

        不具合の種類(見栄え、動作
        不良、文字の間違い)
                        ※テストアプリにビルド番号表記

2012年7月13日金曜日                             13
客観視
     テストのアプローチ
     1. テスト計画、テスト項目を早めの段階で作成

     2. 具体的な利用シーンを想定したユースケースに応じたテスト

     3. 開発の初期段階でできるだけ多くの不具合を洗い出す

     4. 不具合が見つかって、その対応が複雑な場合は、シンプルに

     5. 一人で長時間テストするよりも、多くの人数で、網羅的に

     6. 開発者は「正しく動く」ことをテストするのには向いている

     7. 手順の定常化。常に工夫し続ける。慣れを過信しない。


2012年7月13日金曜日                         14
チェック項目




2012年7月13日金曜日            15
指

      タッチパネルを指で操作


      指で触れるサイズのもの


      触ったものは指で隠れる




2012年7月13日金曜日       16
見た目・バージョン
        メニュー項目、画面上の文言に間違いがないか複数の目で
        紙でチェック(多言語の場合は特に念入りに, 日英以外も)

        各メニューの項目がそれぞれ動作するか、画面フローをも
        とに網羅的にチェック。フォーム入力域に様々な値を入れ
        てチェックする。(ソフトウェアキーボードで画面の半分
        くらい隠れるため、念入りに)

        将来的にアプリをバージョンアップする予定がある場合、
        データの永続性や、バックアップ方法を確認しておく


2012年7月13日金曜日                          17
使いやすさ・ふるまい
        電話としての様々な機能と共存しているのかチェックする。
        SMS着信、電話着信、音量調整、ボイスコントロールなど

        バックグラウンドでの動作、バックグラウンドからの再開、
        画面ロック後、ロック解除後のふるまい

        キー入力関連のテスト。不要な文字、絵文字、間違った数
        値、多言語入力のチェック

        画面の縦向き、横向きでのチェック。左手右手での操作。



2012年7月13日金曜日                         18
センサ・ネットワーク
        マナーモードでの音声、バイブレーションの振る舞いの確認

        3G携帯電話網での利用、WiFiでの利用でのチェック。特に
        データ流量や待ち時間に注意。

        地下鉄などの電波が遮断される環境を想定してのチェック。
        都心の地下鉄の場合は2∼3分の遮断時間。アルミホイルで!

        GPS位置情報機能のチェック。GPS OFF時の振る舞い。バッ
        テリーの消費量も重要な確認項目



2012年7月13日金曜日                             19
パフォーマンス
        ネットワークが極端に遅い、または頻繁に断絶するような環
        境を考えたチェック。データが失われずリカバリできるよう

        利用メモリが少ない状況での動作チェック。Webブラウザで
        複数画面を開いているような場合が該当します。

        バッテリーが少ない状況。アプリ利用中にバッテリーがなく
        なった場合でもデータ等が失われたり壊れたりしないよう。

        長時間利用における安定度テスト、ストレステスト

        大量に新規データを作成したり大量に入力したり限界点確認

2012年7月13日金曜日                          20
セキュリティ
        サインイン(ログイン)、サインアウト(ログアウト)など
        の確認。わざと間違えた時の振る舞いの確認など

        内部データの保存形式などをソースコードレベルで確認する

        セキュリティの専門家に脆弱要素を指摘してもらい確認する

        そもそも脆弱要素のあるサービスにしない(個人情報は持た
        ずに Twitter, Facebook によるログイン形式にするなど)

        Android アプリの脆弱性に関するレポート(IPA)が役立つ



2012年7月13日金曜日                                  21
多機種対応の
                  勘所




2012年7月13日金曜日            22
ターゲットを設定
     1. リファレンスとなる1∼2機種を規定

        (ブランド、キャリア、ターゲットにするユーザー層により)

     2. 多くのキャリアでは2年契約:現行機種から二年前の機種まで

     3. 発売時に搭載されていた OS (そのまま使い続けている人)

     4. 現在の最新OS環境(バグが少なく理想的な環境)

     5. 古い機種/古いOSがそろえられない場合が多い

     6. テストラボ(キャリア、専門企業が提供する機器借用環境)


2012年7月13日金曜日                           23
多機種対応の範囲
     1. リファレンス機での 100% のテスト

     2. それ以外の機種で必要な最低限のテスト(10∼20%程度)

     3. 対応機種と、対応外の機種を明確に設定

     4. 一般リリース後に報告をもらう体制、不具合機種への対応策

     5. ハードウェア固有の要素を重点的に

        画面サイズ、カメラ機能、動画再生

        ハードウェアキー、各種センサー、GPS位置情報


2012年7月13日金曜日                          24
多機種対応の実際
     1. まっさらな状況から、インストール確認

     2. 起動確認(ネットワークの有無に影響される場合もあり)

     3. 画面サイズの違いによる表示のずれがないか?

     4. 文字サイズの設定の違いによる表示のずれがないか?

     5. 画面の色味の違いが無いか?(青っぽい?屋外での見え方)

     6. 動作スピードの違い、アニメーション、滑らかな動きか?




2012年7月13日金曜日                         25
守秘義務

     多機種対応の作戦                      前提


     1. まずは開発者当人らが長時間いろいろな場面で使い込む

     2. 多くの周りの関係者にベータテストユーザーになってもらう

     3. 家族や知り合いなどにベータユーザーになってもらう

     4. 一般ユーザーを募集して、初期試用してもらう

     5. 初期リリース時、可能であれば、利用人数に制限を設ける

     6. リリース時に大々的に宣伝・告知せず様子を見る。ある程度
        安定し、初期ユーザーが満足してからリリースでも遅くない


2012年7月13日金曜日                           26
リリース後が本番
     1. リリース時にデバッグ用の何かが残っていないように

     2. デバッグ用の何かを削除したために不具合がおきないように

     3. バグゼロは難しい。既知のバグを把握した上でリリースする

     4. 一般ユーザーからバグ報告を受ける時用にバージョン表記

     5. メールやWebによるサポート体制(比較的小規模で良い)

     6. スマートフォンアプリの利用者コミュニティーを構築する

     7. 利用している外部APIのバージョンアップに目を光らせる


2012年7月13日金曜日                         27
Tools
                  &
                Books



2012年7月13日金曜日           28
Android Design Preview                       画面を転送
                                                  実機確認
     http://code.google.com/p/android-ui-utils/




2012年7月13日金曜日                                             29
Adobe Shadow                                 複数機種を
                                                  一度に確認
     http://labs.adobe.com/technologies/shadow/




2012年7月13日金曜日                                             30
iScreen                                 画面を転送
    http://www.drahtwerk.biz/EN/Home.aspx   実機確認




2012年7月13日金曜日                                       31
リモートスマホレンタル                 遠隔地の
                                 実機を試用
     http://www.katomakku.com/




2012年7月13日金曜日                            32
Android
      開発者メニュー

      テストやデバッグの
      助けとなる各種機能




2012年7月13日金曜日     33
GORILLA
      LOGIC
      http://www.gorillalogic.com/

      iOS用。機能テストを自動
      化するツール。操作記録、
      再生、自動テスト用のスク
      リプト記述ができる。モン
      キーテストにも利用可。



2012年7月13日金曜日                        34
TestFlight(iOS)
      https://testflightapp.com/

      ベータ版のテストアプリを
      多くのベータユーザーに平
      易に届け、的確なフィード
      バックを得られる仕組み




2012年7月13日金曜日                     35
iPhoneアプリ設計の極意

      思わずタップしたくな
      るアプリのデザイン

      http://www.oreilly.co.jp/
      books/9784873115023/




2012年7月13日金曜日                     36
Android Application
      Testing Guide

      http://www.packtpub.com/
      android-application-testing-
      guide/book




2012年7月13日金曜日                        37
ソフトウェアテスト
      293の鉄則



      http://ec.nikkeibp.co.jp/item/
      books/P81540.html




2012年7月13日金曜日                          38
Resources




2012年7月13日金曜日               39
公式資料を参照
        Android 標準のガイドライン

           http://developer.android.com/design/index.html


        iOS ヒューマンインターフェイスガイドライン

           https://developer.apple.com/jp/devcenter/ios/library/documentation/
           MobileHIG.pdf
        Windows Phone ユーザエクスペリエンスガイドライン

           http://msdn.microsoft.com/ja-jp/library/hh202915(v=vs.92).aspx



2012年7月13日金曜日                                                                    40
まとめ

                実機テスト最重要
                 すべてを疑う
                あらゆる状況を想像




2012年7月13日金曜日               41
モバイルアプリの
      初期バージョンは
      必ず失敗する
                Dave Morin (Path CEO)


      User Experience 重要
      行動パターンの見極め
      シンプル/フォーカス
      テーマ設定で意思統一
      膨大なデザイン修正


2012年7月13日金曜日                           42
Q&A
2012年7月13日金曜日         43
Thank you !

                yukio-ando@exa-corp.co.jp




2012年7月13日金曜日                               44
2012年7月13日金曜日   45
2012年7月13日金曜日   46
それが革新的で無い限り標準にしたがうべきである
                ヤコブ・ニールセン




2012年7月13日金曜日                  47
ルールは破ってもよいが無視してはならない
                ティモシー・マサラ




2012年7月13日金曜日               48
Design Patterns(公式)
     http://developer.android.com/design/




2012年7月13日金曜日                               49
Design Principles
                原理/原則/法則




2012年7月13日金曜日                        50
驚くような方法で




2012年7月13日金曜日   51
リアルなオブジェクトで




2012年7月13日金曜日      52
自分のものに感じられる




2012年7月13日金曜日      53
教えてあげる




2012年7月13日金曜日   54
シンプルな文言で




2012年7月13日金曜日   55
文字より画像(印象)




2012年7月13日金曜日     56
決定はユーザーに




2012年7月13日金曜日   57
メニューは必要項目だけ




2012年7月13日金曜日      58
現在位置がわかるように




2012年7月13日金曜日      59
データは消して無くさない




2012年7月13日金曜日       60
同じように見えるものは
     同じ動きをする




2012年7月13日金曜日      61
余計な通知はしない
     中断させない




2012年7月13日金曜日    62
使い方を覚えるきっかけを




2012年7月13日金曜日       63
失敗した時は、
     なぜかではなく回避方法を




2012年7月13日金曜日       64
複雑な作業を小さなステップに
     ステップごとに達成感を




2012年7月13日金曜日         65
エキスパートに
     なったかのような気分に




2012年7月13日金曜日      66
重要なものは素早く使える
     すべての操作が平等では無い




2012年7月13日金曜日        67

Contenu connexe

Tendances

プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1Hiroki Toyokawa
 
【16-D-1】UI のこれまでの10年とこれから
【16-D-1】UI のこれまでの10年とこれから【16-D-1】UI のこれまでの10年とこれから
【16-D-1】UI のこれまでの10年とこれからKen Azuma
 
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
2015年のAndroidアプリ開発入門 - ABCD 2015 KanazawaKeiji Ariyama
 
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!智治 長沢
 
【16-B-7】TIDAコンソーシアム
【16-B-7】TIDAコンソーシアム【16-B-7】TIDAコンソーシアム
【16-B-7】TIDAコンソーシアムDevelopers Summit
 

Tendances (6)

プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1
 
【16-D-1】UI のこれまでの10年とこれから
【16-D-1】UI のこれまでの10年とこれから【16-D-1】UI のこれまでの10年とこれから
【16-D-1】UI のこれまでの10年とこれから
 
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
 
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
 
【16-B-7】TIDAコンソーシアム
【16-B-7】TIDAコンソーシアム【16-B-7】TIDAコンソーシアム
【16-B-7】TIDAコンソーシアム
 
Androidアプリケーション開発中級研修 後編
Androidアプリケーション開発中級研修 後編Androidアプリケーション開発中級研修 後編
Androidアプリケーション開発中級研修 後編
 

En vedette

Urban Computing Symposium 20100704
Urban Computing Symposium 20100704Urban Computing Symposium 20100704
Urban Computing Symposium 20100704Yukio Andoh
 
Google glass ui guidelines
Google glass ui guidelinesGoogle glass ui guidelines
Google glass ui guidelinesYukio Andoh
 
HybridDesign2009
HybridDesign2009HybridDesign2009
HybridDesign2009Yukio Andoh
 
HDIfes 02 UI animations
HDIfes 02 UI animationsHDIfes 02 UI animations
HDIfes 02 UI animationsYukio Andoh
 
WebGL (Three.js) Code Lab - Intro. [ GTUG Girls 10th]
WebGL (Three.js) Code Lab - Intro. [ GTUG Girls 10th]WebGL (Three.js) Code Lab - Intro. [ GTUG Girls 10th]
WebGL (Three.js) Code Lab - Intro. [ GTUG Girls 10th]Yukio Andoh
 
BPStudy #87 (iOS8 & iPhone6)
BPStudy #87 (iOS8 & iPhone6)BPStudy #87 (iOS8 & iPhone6)
BPStudy #87 (iOS8 & iPhone6)Yukio Andoh
 
Tokyo Cloud Yukio Ando 20090409
Tokyo Cloud Yukio Ando 20090409Tokyo Cloud Yukio Ando 20090409
Tokyo Cloud Yukio Ando 20090409Yukio Andoh
 
3Dプリンタ関連論文(SIGGRAPHより)
3Dプリンタ関連論文(SIGGRAPHより)3Dプリンタ関連論文(SIGGRAPHより)
3Dプリンタ関連論文(SIGGRAPHより)Yukio Andoh
 

En vedette (8)

Urban Computing Symposium 20100704
Urban Computing Symposium 20100704Urban Computing Symposium 20100704
Urban Computing Symposium 20100704
 
Google glass ui guidelines
Google glass ui guidelinesGoogle glass ui guidelines
Google glass ui guidelines
 
HybridDesign2009
HybridDesign2009HybridDesign2009
HybridDesign2009
 
HDIfes 02 UI animations
HDIfes 02 UI animationsHDIfes 02 UI animations
HDIfes 02 UI animations
 
WebGL (Three.js) Code Lab - Intro. [ GTUG Girls 10th]
WebGL (Three.js) Code Lab - Intro. [ GTUG Girls 10th]WebGL (Three.js) Code Lab - Intro. [ GTUG Girls 10th]
WebGL (Three.js) Code Lab - Intro. [ GTUG Girls 10th]
 
BPStudy #87 (iOS8 & iPhone6)
BPStudy #87 (iOS8 & iPhone6)BPStudy #87 (iOS8 & iPhone6)
BPStudy #87 (iOS8 & iPhone6)
 
Tokyo Cloud Yukio Ando 20090409
Tokyo Cloud Yukio Ando 20090409Tokyo Cloud Yukio Ando 20090409
Tokyo Cloud Yukio Ando 20090409
 
3Dプリンタ関連論文(SIGGRAPHより)
3Dプリンタ関連論文(SIGGRAPHより)3Dプリンタ関連論文(SIGGRAPHより)
3Dプリンタ関連論文(SIGGRAPHより)
 

Similaire à smartphone test (know how & tools)

STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テストSTFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テストToshiyuki Hirata
 
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Kenichi Kambara
 
勘違いだらけのAndroid UIデザイン
勘違いだらけのAndroid UIデザイン勘違いだらけのAndroid UIデザイン
勘違いだらけのAndroid UIデザインNobuya Sato
 
20120630 android ics in Yokohama
20120630 android ics in Yokohama20120630 android ics in Yokohama
20120630 android ics in YokohamaKenichi Ohwada
 
Androidが起こしたオープン・イノベーション
Androidが起こしたオープン・イノベーションAndroidが起こしたオープン・イノベーション
Androidが起こしたオープン・イノベーションKoji Shigemura
 
ABC2012Spring 20120324
ABC2012Spring 20120324ABC2012Spring 20120324
ABC2012Spring 20120324Tak Inamori
 
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~SEGADevTech
 
コードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Androidコードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x AndroidToshiyuki Hirata
 
Droidcon London2012 Speaker Experience
Droidcon London2012 Speaker ExperienceDroidcon London2012 Speaker Experience
Droidcon London2012 Speaker ExperienceKenichi Kambara
 
iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~
iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~
iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~一法 山崎
 
はてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテストはてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテストYu Nobuoka
 
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -Toshiyuki Hirata
 
20120520 App Inventor in user meeting
20120520 App Inventor in user meeting20120520 App Inventor in user meeting
20120520 App Inventor in user meetingKenichi Ohwada
 
モノづくりのススメ
モノづくりのススメモノづくりのススメ
モノづくりのススメcat kaotaro
 
【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック智治 長沢
 
アプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のことアプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のことleverages_event
 
組込み技術とモバイル技術
組込み技術とモバイル技術組込み技術とモバイル技術
組込み技術とモバイル技術Tomo Watanabe
 

Similaire à smartphone test (know how & tools) (20)

STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テストSTFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テスト
 
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)
 
勘違いだらけのAndroid UIデザイン
勘違いだらけのAndroid UIデザイン勘違いだらけのAndroid UIデザイン
勘違いだらけのAndroid UIデザイン
 
20120630 android ics in Yokohama
20120630 android ics in Yokohama20120630 android ics in Yokohama
20120630 android ics in Yokohama
 
Androidが起こしたオープン・イノベーション
Androidが起こしたオープン・イノベーションAndroidが起こしたオープン・イノベーション
Androidが起こしたオープン・イノベーション
 
ABC2012Spring 20120324
ABC2012Spring 20120324ABC2012Spring 20120324
ABC2012Spring 20120324
 
Androidとは何か
Androidとは何かAndroidとは何か
Androidとは何か
 
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
 
コードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Androidコードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Android
 
Androidアプリ開発
Androidアプリ開発Androidアプリ開発
Androidアプリ開発
 
Droidcon London2012 Speaker Experience
Droidcon London2012 Speaker ExperienceDroidcon London2012 Speaker Experience
Droidcon London2012 Speaker Experience
 
iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~
iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~
iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~
 
はてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテストはてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテスト
 
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
 
20120520 App Inventor in user meeting
20120520 App Inventor in user meeting20120520 App Inventor in user meeting
20120520 App Inventor in user meeting
 
デスクトップアプリを『一歩前へ』進める方法
デスクトップアプリを『一歩前へ』進める方法デスクトップアプリを『一歩前へ』進める方法
デスクトップアプリを『一歩前へ』進める方法
 
モノづくりのススメ
モノづくりのススメモノづくりのススメ
モノづくりのススメ
 
【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック
 
アプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のことアプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のこと
 
組込み技術とモバイル技術
組込み技術とモバイル技術組込み技術とモバイル技術
組込み技術とモバイル技術
 

Plus de Yukio Andoh

デザインのリファクタリング (慣れを大切に)
デザインのリファクタリング (慣れを大切に)デザインのリファクタリング (慣れを大切に)
デザインのリファクタリング (慣れを大切に)Yukio Andoh
 
SIGGRAPH ASIA 2020 みどころ紹介
SIGGRAPH ASIA 2020 みどころ紹介SIGGRAPH ASIA 2020 みどころ紹介
SIGGRAPH ASIA 2020 みどころ紹介Yukio Andoh
 
UX MILK All Night 2020 (Yukio Andoh)
UX MILK All Night 2020 (Yukio Andoh)UX MILK All Night 2020 (Yukio Andoh)
UX MILK All Night 2020 (Yukio Andoh)Yukio Andoh
 
Ethical UX / uxmilk fukuoka 2019/12/17
Ethical UX / uxmilk fukuoka 2019/12/17Ethical UX / uxmilk fukuoka 2019/12/17
Ethical UX / uxmilk fukuoka 2019/12/17Yukio Andoh
 
SIGGRAPH 2019 preparation
SIGGRAPH 2019 preparationSIGGRAPH 2019 preparation
SIGGRAPH 2019 preparationYukio Andoh
 
SIGGRAPH ASIA 2018 : BOF : SIGGRAPH ASIA 2018の歩き方
SIGGRAPH ASIA 2018 : BOF : SIGGRAPH ASIA 2018の歩き方SIGGRAPH ASIA 2018 : BOF : SIGGRAPH ASIA 2018の歩き方
SIGGRAPH ASIA 2018 : BOF : SIGGRAPH ASIA 2018の歩き方Yukio Andoh
 
VoiceUIのデザインと音声サービスの勘所
VoiceUIのデザインと音声サービスの勘所VoiceUIのデザインと音声サービスの勘所
VoiceUIのデザインと音声サービスの勘所Yukio Andoh
 
VUIテクノロジーアップデート& VUIビジネストレンド紹介
VUIテクノロジーアップデート& VUIビジネストレンド紹介VUIテクノロジーアップデート& VUIビジネストレンド紹介
VUIテクノロジーアップデート& VUIビジネストレンド紹介Yukio Andoh
 
Voice UI Designer Meetup Tokyo 「 VUIデザインの勘所」
Voice UI Designer Meetup Tokyo 「 VUIデザインの勘所」Voice UI Designer Meetup Tokyo 「 VUIデザインの勘所」
Voice UI Designer Meetup Tokyo 「 VUIデザインの勘所」Yukio Andoh
 
Voice UI/UX Design Guideline
Voice UI/UX Design GuidelineVoice UI/UX Design Guideline
Voice UI/UX Design GuidelineYukio Andoh
 
Design JP vol2 (Motion Design & Animation)
Design JP vol2 (Motion Design & Animation)Design JP vol2 (Motion Design & Animation)
Design JP vol2 (Motion Design & Animation)Yukio Andoh
 
UX Jam x UX Sketch 2017 HD
UX Jam x UX Sketch 2017 HDUX Jam x UX Sketch 2017 HD
UX Jam x UX Sketch 2017 HDYukio Andoh
 
Shin UX 2017 - UX strategy - UX review
Shin UX 2017 - UX strategy - UX reviewShin UX 2017 - UX strategy - UX review
Shin UX 2017 - UX strategy - UX reviewYukio Andoh
 
BPStudy #111 iOS 10 and iPhone 7
BPStudy #111 iOS 10 and iPhone 7BPStudy #111 iOS 10 and iPhone 7
BPStudy #111 iOS 10 and iPhone 7Yukio Andoh
 
DesignJP prototyping 20160825
DesignJP prototyping 20160825DesignJP prototyping 20160825
DesignJP prototyping 20160825Yukio Andoh
 
UX Strategy 2016/06/18
UX Strategy  2016/06/18 UX Strategy  2016/06/18
UX Strategy 2016/06/18 Yukio Andoh
 
UX milk (UX Jam) 20160108
UX milk (UX Jam) 20160108UX milk (UX Jam) 20160108
UX milk (UX Jam) 20160108Yukio Andoh
 
Google Cardboard and VR Tips (at KL)
Google Cardboard and VR Tips (at KL)Google Cardboard and VR Tips (at KL)
Google Cardboard and VR Tips (at KL)Yukio Andoh
 
google cardboard and VR tips
google cardboard and VR tipsgoogle cardboard and VR tips
google cardboard and VR tipsYukio Andoh
 

Plus de Yukio Andoh (20)

デザインのリファクタリング (慣れを大切に)
デザインのリファクタリング (慣れを大切に)デザインのリファクタリング (慣れを大切に)
デザインのリファクタリング (慣れを大切に)
 
SIGGRAPH ASIA 2020 みどころ紹介
SIGGRAPH ASIA 2020 みどころ紹介SIGGRAPH ASIA 2020 みどころ紹介
SIGGRAPH ASIA 2020 みどころ紹介
 
UX MILK All Night 2020 (Yukio Andoh)
UX MILK All Night 2020 (Yukio Andoh)UX MILK All Night 2020 (Yukio Andoh)
UX MILK All Night 2020 (Yukio Andoh)
 
Ethical UX / uxmilk fukuoka 2019/12/17
Ethical UX / uxmilk fukuoka 2019/12/17Ethical UX / uxmilk fukuoka 2019/12/17
Ethical UX / uxmilk fukuoka 2019/12/17
 
Ethical UX
Ethical UXEthical UX
Ethical UX
 
SIGGRAPH 2019 preparation
SIGGRAPH 2019 preparationSIGGRAPH 2019 preparation
SIGGRAPH 2019 preparation
 
SIGGRAPH ASIA 2018 : BOF : SIGGRAPH ASIA 2018の歩き方
SIGGRAPH ASIA 2018 : BOF : SIGGRAPH ASIA 2018の歩き方SIGGRAPH ASIA 2018 : BOF : SIGGRAPH ASIA 2018の歩き方
SIGGRAPH ASIA 2018 : BOF : SIGGRAPH ASIA 2018の歩き方
 
VoiceUIのデザインと音声サービスの勘所
VoiceUIのデザインと音声サービスの勘所VoiceUIのデザインと音声サービスの勘所
VoiceUIのデザインと音声サービスの勘所
 
VUIテクノロジーアップデート& VUIビジネストレンド紹介
VUIテクノロジーアップデート& VUIビジネストレンド紹介VUIテクノロジーアップデート& VUIビジネストレンド紹介
VUIテクノロジーアップデート& VUIビジネストレンド紹介
 
Voice UI Designer Meetup Tokyo 「 VUIデザインの勘所」
Voice UI Designer Meetup Tokyo 「 VUIデザインの勘所」Voice UI Designer Meetup Tokyo 「 VUIデザインの勘所」
Voice UI Designer Meetup Tokyo 「 VUIデザインの勘所」
 
Voice UI/UX Design Guideline
Voice UI/UX Design GuidelineVoice UI/UX Design Guideline
Voice UI/UX Design Guideline
 
Design JP vol2 (Motion Design & Animation)
Design JP vol2 (Motion Design & Animation)Design JP vol2 (Motion Design & Animation)
Design JP vol2 (Motion Design & Animation)
 
UX Jam x UX Sketch 2017 HD
UX Jam x UX Sketch 2017 HDUX Jam x UX Sketch 2017 HD
UX Jam x UX Sketch 2017 HD
 
Shin UX 2017 - UX strategy - UX review
Shin UX 2017 - UX strategy - UX reviewShin UX 2017 - UX strategy - UX review
Shin UX 2017 - UX strategy - UX review
 
BPStudy #111 iOS 10 and iPhone 7
BPStudy #111 iOS 10 and iPhone 7BPStudy #111 iOS 10 and iPhone 7
BPStudy #111 iOS 10 and iPhone 7
 
DesignJP prototyping 20160825
DesignJP prototyping 20160825DesignJP prototyping 20160825
DesignJP prototyping 20160825
 
UX Strategy 2016/06/18
UX Strategy  2016/06/18 UX Strategy  2016/06/18
UX Strategy 2016/06/18
 
UX milk (UX Jam) 20160108
UX milk (UX Jam) 20160108UX milk (UX Jam) 20160108
UX milk (UX Jam) 20160108
 
Google Cardboard and VR Tips (at KL)
Google Cardboard and VR Tips (at KL)Google Cardboard and VR Tips (at KL)
Google Cardboard and VR Tips (at KL)
 
google cardboard and VR tips
google cardboard and VR tipsgoogle cardboard and VR tips
google cardboard and VR tips
 

smartphone test (know how & tools)

  • 1. Androidは、Google Inc. これだけはやっておきたい の⽶米国およびその他の国に おける登録商標です。 スマートフォンを成功に導く iOS, iPhoneは、Apple Inc.の⽶米国およびその他の 国における登録商標です。 テストの極意 その他すべての会社名・製 品名・サービスネームは、 それぞれ各社の商標または 多機種対応の勘所や 登録商標もしくはサービス マークです。 品質向上効果の高い ツール活用のヒント 株式会社エクサ/ユビキタスPCMソリューション部 安藤幸央 2012.7.13 14:35∼15:15 @yukio_andoh yukio-ando@exa-corp.co.jp all images : Flickr (CC) 2012年7月13日金曜日 1
  • 2. アジャイル スマートフォン 使ってますか? 2012年7月13日金曜日 2
  • 5. 品質向上 ≒ いかにテスト するか? 2012年7月13日金曜日 5
  • 6. プロトタイピング 設計 開発・実装 テスト Webサービス スマートフォン 0 25 50 75 100 2012年7月13日金曜日 6
  • 7. 多様な機種 多様な利用者 多様な状況 2012年7月13日金曜日 7
  • 11. テストの段階とアプローチ 1. 設計/UIデザイン/プロトタイピングの初期段階におけるテスト 2. 開発中のテスト(実機とシミュレータ/エミュレータの違いを知るのが 重要) 3. 機能実装後の動作テスト 4. 実機にテスト用アプリを入れて実際に使ってみるフィールドテスト 5. 一般の方々に試用してもらうパブリックベータテスト 6. リリース向けテスト(長期安定テスト/モンキーテストなど) 7. リリース後、バグフィックス後の、アップデート版リリース時のテスト 2012年7月13日金曜日 11
  • 12. テスト計画 1. テストにどれくらいの手間と費用、時間をかけるか? 2. テストに関わる人員(選任、開発者、試用ユーザー) 3. 不具合発見∼報告へのながれを構築。不具合情報の共有 4. バグ修正後の再確認 5. テスト機器の確保や分担 6. 既知のバグ(対応を見送るものの判断) 7. リリース基準(品質の確保) 2012年7月13日金曜日 12
  • 13. バグトラッカーでの管理 通し番号 不具合修正の担当者 ビルド番号 修正完了したビルド番号 不具合報告者 不具合修正の確認/承認者 不具合の再現方法 バグ収束曲線 不具合発生時の機種/OS環境 バグ発生率 不具合の種類(見栄え、動作 不良、文字の間違い) ※テストアプリにビルド番号表記 2012年7月13日金曜日 13
  • 14. 客観視 テストのアプローチ 1. テスト計画、テスト項目を早めの段階で作成 2. 具体的な利用シーンを想定したユースケースに応じたテスト 3. 開発の初期段階でできるだけ多くの不具合を洗い出す 4. 不具合が見つかって、その対応が複雑な場合は、シンプルに 5. 一人で長時間テストするよりも、多くの人数で、網羅的に 6. 開発者は「正しく動く」ことをテストするのには向いている 7. 手順の定常化。常に工夫し続ける。慣れを過信しない。 2012年7月13日金曜日 14
  • 16. タッチパネルを指で操作 指で触れるサイズのもの 触ったものは指で隠れる 2012年7月13日金曜日 16
  • 17. 見た目・バージョン メニュー項目、画面上の文言に間違いがないか複数の目で 紙でチェック(多言語の場合は特に念入りに, 日英以外も) 各メニューの項目がそれぞれ動作するか、画面フローをも とに網羅的にチェック。フォーム入力域に様々な値を入れ てチェックする。(ソフトウェアキーボードで画面の半分 くらい隠れるため、念入りに) 将来的にアプリをバージョンアップする予定がある場合、 データの永続性や、バックアップ方法を確認しておく 2012年7月13日金曜日 17
  • 18. 使いやすさ・ふるまい 電話としての様々な機能と共存しているのかチェックする。 SMS着信、電話着信、音量調整、ボイスコントロールなど バックグラウンドでの動作、バックグラウンドからの再開、 画面ロック後、ロック解除後のふるまい キー入力関連のテスト。不要な文字、絵文字、間違った数 値、多言語入力のチェック 画面の縦向き、横向きでのチェック。左手右手での操作。 2012年7月13日金曜日 18
  • 19. センサ・ネットワーク マナーモードでの音声、バイブレーションの振る舞いの確認 3G携帯電話網での利用、WiFiでの利用でのチェック。特に データ流量や待ち時間に注意。 地下鉄などの電波が遮断される環境を想定してのチェック。 都心の地下鉄の場合は2∼3分の遮断時間。アルミホイルで! GPS位置情報機能のチェック。GPS OFF時の振る舞い。バッ テリーの消費量も重要な確認項目 2012年7月13日金曜日 19
  • 20. パフォーマンス ネットワークが極端に遅い、または頻繁に断絶するような環 境を考えたチェック。データが失われずリカバリできるよう 利用メモリが少ない状況での動作チェック。Webブラウザで 複数画面を開いているような場合が該当します。 バッテリーが少ない状況。アプリ利用中にバッテリーがなく なった場合でもデータ等が失われたり壊れたりしないよう。 長時間利用における安定度テスト、ストレステスト 大量に新規データを作成したり大量に入力したり限界点確認 2012年7月13日金曜日 20
  • 21. セキュリティ サインイン(ログイン)、サインアウト(ログアウト)など の確認。わざと間違えた時の振る舞いの確認など 内部データの保存形式などをソースコードレベルで確認する セキュリティの専門家に脆弱要素を指摘してもらい確認する そもそも脆弱要素のあるサービスにしない(個人情報は持た ずに Twitter, Facebook によるログイン形式にするなど) Android アプリの脆弱性に関するレポート(IPA)が役立つ 2012年7月13日金曜日 21
  • 22. 多機種対応の 勘所 2012年7月13日金曜日 22
  • 23. ターゲットを設定 1. リファレンスとなる1∼2機種を規定 (ブランド、キャリア、ターゲットにするユーザー層により) 2. 多くのキャリアでは2年契約:現行機種から二年前の機種まで 3. 発売時に搭載されていた OS (そのまま使い続けている人) 4. 現在の最新OS環境(バグが少なく理想的な環境) 5. 古い機種/古いOSがそろえられない場合が多い 6. テストラボ(キャリア、専門企業が提供する機器借用環境) 2012年7月13日金曜日 23
  • 24. 多機種対応の範囲 1. リファレンス機での 100% のテスト 2. それ以外の機種で必要な最低限のテスト(10∼20%程度) 3. 対応機種と、対応外の機種を明確に設定 4. 一般リリース後に報告をもらう体制、不具合機種への対応策 5. ハードウェア固有の要素を重点的に 画面サイズ、カメラ機能、動画再生 ハードウェアキー、各種センサー、GPS位置情報 2012年7月13日金曜日 24
  • 25. 多機種対応の実際 1. まっさらな状況から、インストール確認 2. 起動確認(ネットワークの有無に影響される場合もあり) 3. 画面サイズの違いによる表示のずれがないか? 4. 文字サイズの設定の違いによる表示のずれがないか? 5. 画面の色味の違いが無いか?(青っぽい?屋外での見え方) 6. 動作スピードの違い、アニメーション、滑らかな動きか? 2012年7月13日金曜日 25
  • 26. 守秘義務 多機種対応の作戦 前提 1. まずは開発者当人らが長時間いろいろな場面で使い込む 2. 多くの周りの関係者にベータテストユーザーになってもらう 3. 家族や知り合いなどにベータユーザーになってもらう 4. 一般ユーザーを募集して、初期試用してもらう 5. 初期リリース時、可能であれば、利用人数に制限を設ける 6. リリース時に大々的に宣伝・告知せず様子を見る。ある程度 安定し、初期ユーザーが満足してからリリースでも遅くない 2012年7月13日金曜日 26
  • 27. リリース後が本番 1. リリース時にデバッグ用の何かが残っていないように 2. デバッグ用の何かを削除したために不具合がおきないように 3. バグゼロは難しい。既知のバグを把握した上でリリースする 4. 一般ユーザーからバグ報告を受ける時用にバージョン表記 5. メールやWebによるサポート体制(比較的小規模で良い) 6. スマートフォンアプリの利用者コミュニティーを構築する 7. 利用している外部APIのバージョンアップに目を光らせる 2012年7月13日金曜日 27
  • 28. Tools & Books 2012年7月13日金曜日 28
  • 29. Android Design Preview 画面を転送 実機確認 http://code.google.com/p/android-ui-utils/ 2012年7月13日金曜日 29
  • 30. Adobe Shadow 複数機種を 一度に確認 http://labs.adobe.com/technologies/shadow/ 2012年7月13日金曜日 30
  • 31. iScreen 画面を転送 http://www.drahtwerk.biz/EN/Home.aspx 実機確認 2012年7月13日金曜日 31
  • 32. リモートスマホレンタル 遠隔地の 実機を試用 http://www.katomakku.com/ 2012年7月13日金曜日 32
  • 33. Android 開発者メニュー テストやデバッグの 助けとなる各種機能 2012年7月13日金曜日 33
  • 34. GORILLA LOGIC http://www.gorillalogic.com/ iOS用。機能テストを自動 化するツール。操作記録、 再生、自動テスト用のスク リプト記述ができる。モン キーテストにも利用可。 2012年7月13日金曜日 34
  • 35. TestFlight(iOS) https://testflightapp.com/ ベータ版のテストアプリを 多くのベータユーザーに平 易に届け、的確なフィード バックを得られる仕組み 2012年7月13日金曜日 35
  • 36. iPhoneアプリ設計の極意 思わずタップしたくな るアプリのデザイン http://www.oreilly.co.jp/ books/9784873115023/ 2012年7月13日金曜日 36
  • 37. Android Application Testing Guide http://www.packtpub.com/ android-application-testing- guide/book 2012年7月13日金曜日 37
  • 38. ソフトウェアテスト 293の鉄則 http://ec.nikkeibp.co.jp/item/ books/P81540.html 2012年7月13日金曜日 38
  • 40. 公式資料を参照 Android 標準のガイドライン http://developer.android.com/design/index.html iOS ヒューマンインターフェイスガイドライン https://developer.apple.com/jp/devcenter/ios/library/documentation/ MobileHIG.pdf Windows Phone ユーザエクスペリエンスガイドライン http://msdn.microsoft.com/ja-jp/library/hh202915(v=vs.92).aspx 2012年7月13日金曜日 40
  • 41. まとめ 実機テスト最重要 すべてを疑う あらゆる状況を想像 2012年7月13日金曜日 41
  • 42. モバイルアプリの 初期バージョンは 必ず失敗する Dave Morin (Path CEO) User Experience 重要 行動パターンの見極め シンプル/フォーカス テーマ設定で意思統一 膨大なデザイン修正 2012年7月13日金曜日 42
  • 44. Thank you ! yukio-ando@exa-corp.co.jp 2012年7月13日金曜日 44
  • 47. それが革新的で無い限り標準にしたがうべきである ヤコブ・ニールセン 2012年7月13日金曜日 47
  • 48. ルールは破ってもよいが無視してはならない ティモシー・マサラ 2012年7月13日金曜日 48
  • 49. Design Patterns(公式) http://developer.android.com/design/ 2012年7月13日金曜日 49
  • 50. Design Principles 原理/原則/法則 2012年7月13日金曜日 50
  • 61. 同じように見えるものは 同じ動きをする 2012年7月13日金曜日 61
  • 62. 余計な通知はしない 中断させない 2012年7月13日金曜日 62
  • 64. 失敗した時は、 なぜかではなく回避方法を 2012年7月13日金曜日 64
  • 65. 複雑な作業を小さなステップに ステップごとに達成感を 2012年7月13日金曜日 65
  • 66. エキスパートに なったかのような気分に 2012年7月13日金曜日 66
  • 67. 重要なものは素早く使える すべての操作が平等では無い 2012年7月13日金曜日 67