性能に関する事項
性能に関する事項は政府公開のデジタル・ガバメント推進標準ガイドラインに照らし合わせると以下となります。
情報システムの性能について、応答時間、バッチ処理時間等を記載する。
本項では、このアプリの性能に関する要件として、以下の事項を定義します。
要件内容
- 動作検証端末について
- 応答時間について
- CPU・メモリ使用率について
動作検証端末について
ここでは実機での動作検証で使用する端末の選定基準について記載します。
Android
Androidにおける動作検証で使用する端末の選定基準は以下とします。
- 開発時から4年前に発売されたローエンドおよびミドルエンド端末
- 直近1年で発売されたローエンドおよびミドルエンド端末
スマートフォン端末の買い替えサイクルは内閣府消費動向調査(2021年3月時点)で平均3〜4年であると調査結果が出ています。 またAndroid端末は端末性能で概ね以下に分類されるためボリュームゾーンであるローエンドおよびミドルエンド機種の4年前と直近1年で発売された機種を選定します。
分類 | 機種例 |
---|---|
ロー | moto g8 plus,ZenFone Max |
ミドル | Google Pixel 4a,Galaxy A32 5G |
ハイ | Xperia 1 III,Galaxy S21 Ultra 5G |
ただしアプリが実現したい機能として3Dモデリングや派手なエフェクトを多用するなど、 そもそもハイエンド機が要求される場合は上記要件に限らず動作保証ラインを定めます。
iOS
iOSにおける動作検証で使用する端末の選定基準は以下とします。
- 開発時点でリリース済み最新OSバージョンがサポートする機種のうち発売日基準で最新と最古の機種
- 最新からn世代前まででそれぞれのOSバージョンがサポートする機種のうち発売日基準で最新と最古の機種
iOSについてはOSバージョン毎にサポートする機種が定められています。 そのOSバージョンについては原則最新バージョンを保つことがIPAのセキュリティ対策として推奨されています。 そのため基本的に開発時点最新バージョンがサポートする機種における最新と最古の機種を使用して動作検証を実施します。 その上でアプリとしてサポートする範囲を最新からn世代前のバージョンと定めそのバージョンでの最新と最古の機種を使用して動作検証を実施します。
このアプリがサポートするOSバージョン範囲はAppleが公表するiOSバージョンシェアを参考にシェア3%未満となるか、もしくはその他に分類された場合サポート対象外とします。 またAppleによる端末サポートはOS発表時点からおよそ6年前までに発売された機種が対象になっています。 機種の一例としてiOS15であればiPhone 13(2021年発売)〜iPhone 6s(2016年発売)までがOSサポート範囲になります。 ただしサポート範囲についてAppleが公式にポリシーを定めているわけではないため、必ずしも6年前までの機種が対象となるとは限りません。
企業社内向けアプリ開発の場合、企業毎のセキュリティポリシーなどによって状況が異なります。 そのためAndroid/iOS共に上記の選定基準を踏まえて調整し動作検証で使用する端末を決定します。
応答時間について
応答時間は処理毎に以下の時間内に収まることを目標とします。
- ページ読み込みなどレンダリングにかかる時間:【300~1000ミリ秒程度】
- ページ内でのスライドアニメーション動作などにかかる時間:【0~100ミリ秒程度】
ただしファイルアップロードや一括更新のように、機能として上記の範囲内に収めることが現実的ではないケースもあります。 その場合はバックグラウンド処理や進捗状況表示などの手法を採用し、可能な限りユーザ体験を損なわないよう工夫します。
上記はGoogle社の提唱するRAIL(Response Animation Idle Load)モデルを基に定義しています。 RAILモデルによるとユーザが操作してから結果が表示されるまでの経過時間に応じた反応は以下であると定義されています。
- 経過時間に対するユーザの反応
経過時間(ms) | 反応 |
---|---|
0~16 | とても良い |
0~100 | ページ内動作としては許容範囲 |
100~300 | ページ内動作のレスポンスとしてはやや遅い |
300~1000 | ページの読み込み単位であればスムーズな体験を提供している |
1000以上 | 1秒を超えるとユーザは実行したタスクへの関心を失う |
10,000以上 | ユーザは不満を感じてタスクを中断し、そのまま戻ってこない恐れがあります |
CPU・メモリ使用率について
アプリが使用するCPU・メモリの使用率は公式プロファイラであるAndroid Profiler、 Instruments(iOS)を用いて確認します。 CPU・メモリの使用率で以下のようなことが確認された場合、メモリリークなどアプリのクラッシュにつながる問題が潜在している可能性があるため、調査および解析し、結果を基に対応を実施します。
- 何かしらの操作によって急激に上昇し以降低下することがない
- 操作中緩やかに上昇するが低下することなく上昇し続け高止まりする