Android O対応に備えて、Googleの品質ガイドライン(Quality guidelines)を改めて見てみた

Android Oの公式資料(Migrating Apps to Andriod O)見てたら、既存アプリのAndroid O互換検証について「品質ガイドラインを再確認するいい機会ですね」みたいな事が書いてあったので、実際に見てみました。

●Core app quality

https://developer.android.com/develop/quality-guidelines/core-app-quality.html

「こういう試験観点に対してはこういう手順で試験を実施してください」的な内容がまとまってるんですが、試験手順の表だけざっと自分なりに和訳してみました。

試験種別 試験ID 詳細
Core Suite CR-0 アプリの全部品を表示する – 全ての画面、ダイアログ、設定、その他全てのユーザ操作。
a. アプリ内で何らかの編集やデータ作成ができる場合や、ゲーム、メディア再生ができる場合はそれらの実行やコンテンツ作成・編集も試験する。
b. アプリ動作確認中に通信断、バッテリー残量低下、位置情報変更、OS負荷といった状況が変化するケースも試験する。
CR-1 各画面において、端末のホームボタンを押し、アプリ一覧画面から該当アプリを再起動する。
CR-2 各画面において、他のアプリに切り替え、「最近使ったアプリ」から再度試験対象アプリに戻る。
CR-3 全ての画面、ダイアログで「戻る」ボタンを押す。
CR-5 全ての画面で最低三回、画面の縦横切り替えを行う。
CR-6 他のアプリに切り替え、試験対象アプリをバックグラウンド状態にする。設定を起動し、アプリの設定画面から、バックグラウンドでサービス起動しているか確認する。Android4.0移行の場合は設定の「アプリ」から「実行中」タブを選択して確認可能。
CR-7 電源ボタンで端末をスリープ状態にし、再度電源ボタンを押し、スリープから復帰させる。
CR-8 電源ボタン押下時にロックがかかる設定にする。電源ボタンで端末をスリープ状態にする。再度電源ボタンを押し、スリープから復帰させ、ロックを解除する。
CR-9 スライド式のキーボードが付いている端末の場合は、キーボードをスライドして出し入れを最低一回行う。ドック型のキーボードが付属する端末の場合は端末をドックに接続する。
CR-10 外部ディスプレイ用ポートがある端末の場合は、外部ディスプレイを接続する。
CR-11 アプリが表示可能なNotificationを全て表示し、Notification表示エリア(ノティフィケーションドロワー)を確認する。拡張可能なNotificationの場合は拡張表示を確認し(Android4.1以上)、タップ可能部分を全てタップする。
Install on SD
Card
SD-1 アプリをSDカード上にインストールした状態(アプリがSDカード移動をサポートしている場合)で「Core Suite」試験項目を全て実施する。
アプリをSDカードに移動するには設定の「アプリ」から該当アプリを選択し、「SDカードに移動」で移動が可能。
Hardware
acceleration
HA-1 ハードウェアアクセラレーションを有効にした状態で「Core Suite」試験項目を全て実施する。
ハードウェアアクセラレーションを強制的に有効にするには(端末が対応している場合)、manifestファイルのタグに「hardware-accelerated=true」属性を追加し、アプリを再ビルドする。
Performance
and Stability
SP-1 アプリのmanifestファイルとビルド設定を再確認し、最新のSDK向けにビルドされている事を確認する(targetSdk値及びcompileSdk値)。
Performance
Monitoring
PM-1 StrictModeを有効にした状態で「Core Suite」試験項目を全て実施する。
ガベージコレクションとUX(User eXperience)への影響を注視する。
Battery BA-1 Dozeモード及びApp Standby状態で「Core Suite」試験項目を全て実施する。
Alarm(時間指定起動)、タイマー、Notification、同期などの動作を注視する。
Doze及びApp Standbyのガイドラインは: https://developer.android.com/training/monitoring-device-state/doze-standby.html#testing_doze_and_app_standby
Security SC-1 外部ストレージに保存されるデータを再確認する。
SC-2 外部ストレージから読み込まれたデータがどう処理されるかを再確認する。
SC-3 manifest内に定義された全てのContentProviderを確認し、適切なprotectionLevelが指定されている事を確認する。
SC-4 manifest内に定義されたパーミッションを確認する。端末上で、設定の「アプリ情報」でも権限を確認する。実行時権限チェックも全て確認する。
SC-5 manifest内に定義されている全てのコンポーネントを確認し、適切なexport指定になっている事を再確認する。export属性は全てのコンポーネントに対して明示的に指定されていなければならない。
SC-6 アプリのネットワークセキュリティ構成を再確認し、全ての設定がlintのチェックを通る事を確認する。
ネットワークセキュリティ構成については:https://developer.android.com/training/articles/security-config.html
SC-7 各WebViewで、javascriptを利用したサイトへ遷移する。
SC-8 各WebViewで、外部の(制御下に無い)サイトやコンテンツにアクセスする。
SC-9 アプリのネットワークセキュリティ構成でhttp(httpsでなく)を使用不可に設定し、アプリを使用する。
SC-10 ログの出力を確認しながらアプリを使用し、全ての機能を実行し、機微な情報が出力されない事を確認する。
Google Play GP-1 Google Playデベロッパーコンソールにログインし、開発者のアカウント情報、アプリの詳細、画面キャプチャ、ヘッダー画像(feature graphic)、評価やユーザコメントを確認する。
GP-2 ヘッダー画像(feature graphic)と画面キャプチャをダウンロードし、想定するアプリ利用者層の端末サイズに合った画像サイズに縮小する。
GP-3 アプリ内、もしくは拡張ファイル(追加ダウンロードファイル:Expansion Files)に保持している画像、メディアデータ、文字列、ライブラリ、その他コンテンツを再確認する。
GP-4 Dozeモード及びApp Standby状態における「他のユースケースのサポート」を確認する。
https://developer.android.com/training/monitoring-device-state/doze-standby.html#support_for_other_use_cases
Payments GP-4 アプリの全ての画面に遷移し、利用可能なアプリ内購入(in-app purchase)を全て試す。

「Payments」の試験IDがかぶってるのは資料バグ…?

「他のユースケースのサポート」は、要はホワイトリストでの試験という事ですかね…

DozeとApp Standby導入でやはり試験のパターン結構増えますね…

カテゴリー: Android タグ: , , , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です