Upgrade to Pro — share decks privately, control downloads, hide ads and more …

いまさら聞けない、テスト対象機種の選定方法 (2020年版)

いまさら聞けない、テスト対象機種の選定方法 (2020年版)

いまさら聞けない、テスト対象機種の選定方法
(2020年版)

gen519

July 25, 2022
Tweet

More Decks by gen519

Other Decks in Technology

Transcript

  1. 5 •名前 : 山本 久仁朗(旧姓:村上) 
 •所属 : QA基盤推進室
 •職歴 :
 •

    日本プロセス株式会社 (Sier : SE、TE)  (~’03)
 • アットネットホーム株式会社 (ISP : QA)  (~’05)
 • ソニーデジタルネットワークアプリケーションズ株式会社
 (PC/組込 : TE、SQA) (~’11)
 • NHN Japan 株式会社(現:LINE) (ゲーム : QA)  (~‘13)
 • DeNA 株式会社 (ゲーム/Web : QA)  (~‘15)
 • 株式会社 メルカリ (フリマアプリ : QA)  (~‘16)
 • 株式会社 mediba (Web/アプリ : QA)  (~‘17)
 • 株式会社 アカツキ (ゲーム/Web : QA)  (~‘18)
 • 株式会社 ビズリーチ (Web : QA)  (現職) 
 はじめに ~ 自己紹介 ~
  2. はじめに ~ 質問 ~ • アンチパターン ◦ 何が何でも・・・ 全機種(最大1,000機種!?) ◦

    何といっても・・ 最新機種だけ ◦ 分からないから・最新OSだけ ◦ とりあえず・・・ 手元にある機種だけ ◦ etc 9
  3. より効果的なテストを行うために しかし機種を選定するにしても・・・ 考慮すべき要素として 、下記のようなものがあり、組合せが膨大になります! ・OS バージョン ・メーカー ・解像度 ・メモリー ・CPU

    ・GPU ・GPS ・TV機能 ・ハイレゾ対応 ・各種センサー ・etc プロダクトリスクから、より効率的に動作保証しつつ不具合を検出するために、効果的な テスト対象機種の選定方法を定義しておく必要があります。 14
  4. より効果的なテストを行うために〜 どんな効果があるのか? 〜 2016年の記事ですが、下記のようにプロダクト毎にアプローチを変えて、最適な検証を実 施していたようです。 • 新規アプリの場合 ◦ 起動終了&主要機能 :全機種(レベルA:120端末)

    ◦ 各機能確認 :OS×メーカー(レベルE:16端末) • 既存アプリでWebView関連改修の場合 ◦ 各面・機能確認 :OS×メーカー(×2)(レベルD:32端末)  (各開発コードで、標準ブラウザを網羅する) • 新規Webサイト(ブラウザゲーム等も含む) ◦ 各面・機能確認 :OS × ブラウザ(レベルJ:20端末) 17 「いまさら聞けない、テスト対象機種の選定方法」から抜粋 https://ceblog.mediba.jp/post/154528077152/
  5. より効果的なテストを行うために〜 テスト要求を明確に 〜 • テスト要求について ◦ どのようなサービス・アプリのテストをするのでしょうか? ◦ どれぐらいのユーザーに利用してほしいのでしょうか? ◦

    お客様に届けたい、ユーザー体験(UX)とは、なんでしょうか? ◦ そのためには、どのような機能・非機能が必要なのでしょうか? ◦ どのような、利用シーンを想定しているのでしょうか? ◦ etc 上記のような内容から、テスト要求・要件を検討して、必要なリソースを要素として 抽出します。 21
  6. より効果的なテストを行うために〜 スコープを明確に 〜 • スコープについて 後述する、技術&ビジネスリスクからインパクトを算出・想定して、どの程度の範囲・ 粒度を品質保証範囲としたいのかに応じて、スコープは変わります。 例えば、過去の事例や技術的な要素から、デバイスの考慮が不要でOS Version もメ

    ジャーなものをカバーすれば良いとなるとかなり機種数が絞られると思います。 別の考え方として、毎月の売上が数十億円以上のサービスの場合は・・・ 技術リスクが低くてもビジネスインパクト的にスコープを広げる必要が出てくると思い ます。 25
  7. より効果的なテストを行うために〜 インパクトを明確に 〜 • インパクトについて 下記のような各種シェア&KPIをベースに各要素から対象を選定します。 近年ではユーザー行動などを解析し、データマイニングなどをして、より効果的な要素 を選定している組織も多いのではないでしょうか。 ◦ 各種シェア

    ◦ 端末シェア(製造台数・販売台数・etc) ◦ UU(ユニークユーザー数) ◦ PP(ページビュー数) ◦ DAU(デイリーアクティブユーザー:1日の利用者数) ◦ MAU(マンスリーアクティブユーザー:1ヶ月の利用者数) ◦ ARPU(ユーザー1人あたりの平均売上金額) ◦ CVR(コンバージョンレート:広告参照後に購入・資料請求に至る割合等) ◦ その他 KPI 26
  8. より効果的なテストを行うために〜 優先度を明確に 〜 • 優先順位(リスク)について テクニカル・プロダクトリスクの観点 プロダクト・サービスを実現・継続するために、重要な機能から外せない要素 (SW・HW)を選定する必要があります。 Java Script

    をバリバリ使って実装しているWebサイトや、WebView を多様している アプリの場合、OS Version・ブラウザ 等は、考慮が必須になります。 また、リッチなネイティブアプリの場合は、CPU・GPUや内部メモリの考慮が必須にな ると考えます。 27
  9. より効果的なテストを行うために〜 優先度を明確に 〜 • 優先順位(リスク)について ビジネスリスクの観点 ビジネスリスクとして、利用者の環境・ユースケースを考慮する必要があります。企業 向けのサービスで、社内 Wi-Fi 経由のみでの利用が想定されている場合は、キャリ

    ア回線が対象外になるでしょう。 またサービス対象のキャリアが限定される場合は、対象のキャリア回線での実施が 必須となります。 前述した、ビジネスインパクトとして各種シェア・KPIも観点抽出には重要なファクター になります。 28
  10. 機種選定のポイント 〜 要素選定 〜 • OS バージョン なぜ OS バージョンでの選定・網羅が必要なのか?

    OS のメジャーバージョン・APIレベルに応じてOSの機能が大きく異なり、表示・動作 が異なる場合、プロダクトリスクに応じて、対象OSバージョンの選定が必要になってき ます。 具体的な例として、メジャーバージョンアップした途端に、アプリが起動しなくなったり、 特定の機能が使えなくなったりする場合があります。 その他にも、ウェブサイトの表示において特定のメンテナンスバージョンでのみ、 JavaScript やウェブアプリが動作・表示しないという現象が発生します。 34
  11. 機種選定のポイント 〜 要素選定 〜 • OS バージョン そのOSバージョンですが、iOS・Android の両OSにおいて、下記のように3段階のレ ベルで表記されています。

    【OS バージョン のレベル】 XX.YY.ZZ ▪ XX : メジャーバージョン ▪ YY : マイナーバージョン ▪ ZZ : メンテナンスバージョン(リリース、マイクロ 等と呼ばれる場合もある) 35
  12. 機種選定のポイント 〜 要素選定 〜 • OS バージョン 基本的に、発売時のバージョン、その後アップデート可能な各バージョン、 最新バージョンが各々存在します。 Android

    は、完全初期化を行うことで OS が出荷時のバージョンになる場合もありま す。 iOS は、基本的にアップデートした場合、ダウングレード出来ません。 (ベータ版配信期間は、バックアップから復元することも可能な場合があります) 36
  13. 機種選定のポイント 〜 要素選定 〜 • OS バージョン Android について、多くの日本メーカーのキャリアから発売されている機種の場合 は、キャリアから配信されるバージョンのみに限定されていますが、海外向け・SIMフ

    リー端末の場合はキャリアに依存せずにバージョンアップできる機種があり、最新の メジャーバージョン・APIを試すためには、海外向け・SIMフリー端末を使うことが多い です。 最近ではSIM フリー・格安スマホの台頭により、日本メーカーでも AndroidOne のよ うな適時バージョンアップできる機種が増えています。 37
  14. 機種選定のポイント 〜 要素選定 〜 • OS バージョン また iOS の場合、アップデート可能な機種の場合は

    Apple から配信される タイミングで更新可能になりますので、非常に多くのバージョンが存在します。ただし、 基本的には各機種でアップデート可能な最新のバージョンに アップデート可能なため、OSのシェアとしては Android ほどシェアが分散することは ありません。 特に メジャーバージョンアップが行われた際には、アップデート可能な ユーザーが2週間程度で70%以上アップデートしているそうです。 38
  15. 機種選定のポイント 〜 要素選定 〜 • 画面解像度 なぜ 画面解像度での選定・網羅が必要なのか? Android・iOS の両方で起きる問題として、小さい画面において文字・ボタン・バナー

    等のアイテムが見切れてしまったり、レイアウト全体が崩れてしまったりする場合があ ります。大きい画面においてはスマートフォンでPC版のページを見たときのように、文 字やボタンが小さすぎて見づらい・操作しづらい等の問題が発生します。 39
  16. 機種選定のポイント 〜 要素選定 〜 • 画面解像度 なぜ 画面解像度での選定・網羅が必要なのか? ここ数年 Full

    HD(1,920×1,080)が最も主流になっているために、iPhoneSE(1,136 ×640)や Android4.0系(800×480)でチャット等のコミュニケーション機能を利用する際 にキーボードが表示されるとメッセージ・画面が見えなくなってしまうなどの事象も発 生します。 その他にも、近年、小型化の流れもあり、Rakuten Mini(約3.6インチ / 1,280 × 720) のような機種も発売されています。 40
  17. 機種選定のポイント 〜 要素選定 〜 • 画面解像度 【主要画面解像度】(採用機種数順) ◦ 1,920 ×

    1,080 ◦ 1,280 × 720 ◦ 1,280 × 800 ◦ 1,920 × 1,200 ◦ 2,560 × 1,440 ◦ 800 × 480 ◦ 960 × 540 ◦ 1,136 × 640 41
  18. 機種選定のポイント 〜 要素選定 〜 • CPU・GPU(チプセット) なぜ CPU での選定が必要なのか? アプリなどは

    CPU の性能により動作・ユーザー体験が大きく変わります。 端末によって性能が低すぎてサービス・UXとして成り立たない場合があります。 また最近はほとんど影響がなくなってきていますが、CPUのブランド・アーキテクチャによ る動作の違いもあります。  特に Android 2.x~4.0.x が主流だった時期にスマホのサービスに関わっていた方は、 特定のCPU・チップセットで問題が発生するという現象を経験されていらっしゃるのでは ないでしょうか? 42
  19. 機種選定のポイント 〜 要素選定 〜 • CPU・GPU(チップセット) 現状 Qualcomm・Snapdragon・Mediatek の ARM系アーキテクチャのブランドが非

    常に強いですが、PC系のメーカーは Intel Atom プロセッサーを採用している場合も あります。 ゲームアプリ等は、2D処理はCPU性能、3D処理はGPU性能の影響を受ける場合が 多いので、機種選定とともに、推奨端末の選定にも注意が必要です。 また近年、AI用のチップが搭載されたものもあり、端末全体の動作としてどのような影 響が出るか、今後注目しています。 43
  20. 機種選定のポイント 〜 要素選定 〜 • 内部メモリ容量 なぜ内部メモリ容量での選定が必要なのか? 内部メモリ容量のサイズによっては、特定の機種ではアプリ自体が起動出来ない・使用しているとメモリが枯渇し て落ちる場合があるからです。最近は、スマートフォンの性能が向上していますので、あまり気にならなくなってき ていますが、Android

    2.3 系の端末はほとんどが 512MB という容量だったために、OS と標準アプリが動作すると 100MB 程度しか空きがなくなってしまいました。 メモリ容量が少なければ、初期動作をしても使い続けるうちに動きが遅くなり、時には強制的に終了したりする場 合もあります。そんなこともあってか、Android には多くのタスク管理アプリがあり使っていない、アプリ・メモリ領域 を止めたり開放したりする必要がありました。 【Android OS毎の主流メモリ容量】 ・Android 2.x : 0.5 ~ 1.0 GB ・Android 4.x : 1.0 ~ 3.0 GB ・Android 5.x : 1.0 ~ 3.0 GB ・Android 6.x : 1.0 ~ 3.0 GB ・Android 7.x : 2.0 ~ 4.0 GB ・Android 8.x : 2.0 ~ 8.0 GB ・Android 9.x : 3.0 ~ 8.0 GB ・Android 10.x : 6.0 ~ 12.0 GB 44
  21. 機種選定のポイント 〜 要素選定 〜 • メーカー なぜ メーカーでの選定・網羅が必要なのか? Android 端末は、メーカー毎にさまざまな違いがあり、主に

    HW とSW(アプリ・OS・ ファームウェア)の2つの側面があります。 HW については、アプリの機能によっては大きく影響を受けますが、詳細は後述させ ていただきます。 45
  22. 機種選定のポイント 〜 要素選定 〜 • メーカー なぜ メーカーでの選定・網羅が必要なのか? SW の中でも個人的に

    Web系のサービスにとって特に影響が大きいのは、Android 4.3(4.1-4.3:Jelly Bean)以前の、AOSP Stock Browser (通称 Android標準ブラウザ) をベースの「ブラウザ」アプリの存在です。 「ブラウザ」アプリは、各メーカーで独自実装をしているために、動作が異なる場合が あります。スマートフォン向けのサービスを開発・提供している方々なら、特定の機種・ メーカーのデバイスだけ次ページのような話を聞いたことがあると思います。 46
  23. 機種選定のポイント 〜 要素選定 〜 • メーカー 【標準ブラウザ起因の不具合】 ▪ JavaScript の特定の機能が動かない

    ▪ WebView で画像が表示されない(白画面) ▪ 画面遷移が行われない ▪ etc 【主要メーカー】 Apple、ソニー、京セラ、シャープ、富士通、サムスン、LG、HTC、ファーウェイ、シャオミ 47
  24. 機種選定のポイント 〜 要素選定 〜 • キャリア回線 なぜキャリア回線での選定が必要なのか? とくにキャリア回線のうち、5G・4G(LTE)・3.9G(WiMAX等)と3Gでは、下記のような違いがあり、速度・つながりや すさ等要因で様々な不具合が発生します。 また、メーカーやキャリア回線だけではなく

    Wi-Fi を併用した場合の弊害もあります。 さらに、各キャリア毎に使用量の上限になった場合の制限速度も異なります( 64K ~ 256Kbps )ので、スコープに よっては検討する必要があります。 【5G・4G(LTE) と 3G の違い】 [5G]速度: 100Mbps 〜 10Gbps程度 、 通話・通信可能エリア 全国主要都市の一部地域 [4G]速度: 75Mbps ~100Mbps程度、 通話・通信可能エリア 人口カバー率が、ほぼ100% [3G]速度: 数~14Mbps程度 、 通話・通信可能エリア 人口カバー率が、ほぼ100% 48
  25. 機種選定のポイント 〜 要素選定 〜 • 特殊なデバイス 特殊画面(ノッチあり) 2017年発売の iPhone X

    を代表とする、画面全体を表示領域にするために、ノッチありの端末が主要各社から発 売されています。 ノッチ領域(ほとんどのが画面上部)を表示領域としてどのように取り扱うかはアプリの実装次第になっていますが、 近年 iOSのレギュレーションでは、ノッチ対応が必須になっています。 ノッチ領域の表示だけではなく、 画面の回転(90度・180度・270度)を考慮した、機能・デザインになっていないと、 UXを損なう場合があるので、注意が必要です。 49
  26. 機種選定のポイント 〜 要素選定 〜 • 特殊なデバイス カメラなし端末
 最近はほとんどないと思いますが、Android タブレットの中には、カメラデバイスが存在しない端末もあります。 SNS・ECアプリ等でカメラを起動して画像をアップする機能を有するものもありますが、カメラを認識しないとエラー

    となり、ローカルストレージの画像も取り込めなくなってしまうアプリも幾つか存在しているようです。
 
 SDカードがないと、画像を取れない
 Android 4.0.x 以前の機種に存在しますが、アプリ内でカメラを使用した場合に画像を保存できずにエラーになる場 合があります。
 50
  27. 機種選定のポイント 〜 要素選定 〜 • 特殊なデバイス キーボード付き こちらも最近ほとんど見なくなりましたが、スマートフォンはスライドしてキーボードが出てくるタイプには、テンキー とフルキーボード等があります。 キー入力等をする際に、画面内にキーボードが表示されないことなど、確認できると良いですね。

    2画面・折りたたみ ごく一部のスマートフォン・タブレット端末で2画面を採用して、「折りたためる」ことをコンセプトにしている機種があ ります。また近年「液晶自体を折りたためる」端末での2画面対応や「折りたたんだ」際の動作確認等が気になると ころです。 51
  28. 機種選定のポイント 〜 要素選定 〜 • 特殊なデバイス ハイレゾ対応 ハイレゾとは「ハイレゾリューション・オーディオ」(高解像度音源)の略ですが、音楽再生アプリにおいてハイレゾ音 源データを再生できるかは非常に重要だと思います。 もちろんハイレゾ非対応のスマホでも通常音源データを再生できることも必須だと思います。

    その他 下記のような多くの要素(デバイス・性能)が存在しますが、プロダクト・サービスのテスト目的に応じて必要な要素を 選定してください。 例:GPS・モーションセンサー・ジャイロセンサー・カメラ機能(解像度・感度・シャッター速度   ・望遠・オートフォーカス)・顔認証・指紋認証・NFC・防水・etc 53