基盤部品のテスト実施項目¶
本節では、UI開発基盤が提供する各種部品に対して実施しているテストの内容について述べる。
ちなみに
- プロジェクト側のカスタマイズに伴うテストの実施について
- 各プロジェクトにおいて、既存の部品を修正もしくは新規に追加した場合は、 その内容にもよるが、基本的に下記に示すものと同等の観点でテストを実施する必要がある。
ちなみに
現状のテスト実施内容は打鍵作業に大きく依存しているが、 今後サポートデバイス増加に伴うリグレッションテストの工数を抑えるために、自動化を進めることを計画している。 このため、以下で述べる作業内容は今後変更される可能性がある。 また、自動化されたテストケースはプロジェクト側でカスタマイズを行った際のリグレッションテストとして流用可能となる予定である。
テスト方針¶
基本的には UI部品ウィジェット に対するブラックボックステスト [1] を実施する。 すなわち、各ウィジェットが UI部品ウィジェット一覧 で定義される外部仕様を満たし、 UI標準 に準拠した表示となることを検証する。
各ウィジェットが内部的に利用する JavaScript UI部品 CSSフレームワーク については 上記のテストの実施によって間接的に検証されるものとし、個別のテストは行わない。
また、上記に加えて、性能テスト、サンプルアプリケーションを用いた結合テストを実施する。
[1] | 以下の事由によりホワイトボックス的なテストケースの抽出は行っていない。
|
テスト実施環境¶
UI開発基盤が提供する各モジュールは、以下の環境でテストを実施している。
端末 | OS | ブラウザ | 表示モード | 実施テストパターン |
---|---|---|---|---|
PC | Windows 7 SP1 | IE8 | ワイド | A |
IE9 | ワイド | A | ||
IE10 | ワイド | A | ||
IE11 | ワイド | A | ||
Firefox | ワイド | A | ||
Chrome | ワイド | A | ||
Macintosh | OSX 10.9 | safari | ワイド | A |
iPhone 5 | iOS 7.1.2 | mobile safari | ナロー(縦、横) | B |
Garaxy S3 | Android 4.3 | Android標準ブラウザ | ナロー(縦) | B |
コンパクト(横) | ||||
iPad (第4世代) | iOS 7.1.2 | mobile safari | コンパクト(縦) | B |
ワイド(横) | ||||
Nexus 7 (2012) | Android 4.4.4 | Chrome | ナロー(縦) | B |
コンパクト(横) |
実施テストパターン | 実施テスト |
---|---|
A |
|
B |
|
実施テスト内容¶
各実施テストの内容は以下のとおり。
UI部品ウィジェット機能テスト¶
UI部品ウィジェット に対し以下の観点による単体テストを行う。
- 各ウィジェットの挙動が UI部品ウィジェット一覧 で記述している外部仕様に準拠していること。
- 各ウィジェットの表示が UI標準 に記載されている対応するUI部品の仕様に準拠すること。
機能テストは、各ウィジェットに定義されている属性値ごとに実施し、少なくとも以下の確認を行う。
- HTMLの属性値が期待通りに設定されていることを、画面ソースコード、もしくはインスペクタを使用して確認する。
- ウィジェットの表示が仕様に従っていることを目視確認する。
なお、一部のテストケースでは前者の確認作業を自動化している。 その場合は後者の表示確認のみを行えばよい。
UI部品ウィジェット性能テスト¶
UI部品ウィジェット を1画面内に非常に多く配置した場合でも問題なく動作することを検証するテストを行う。 具体的には、以下の基準を満たすことを検証する。
画面内に300個のウィジェットを配置した画面について、
- 画面ロードが完了しユーザ操作が可能となるまで1秒以内で完了すること。 (ロード時間は、リクエストの発行からロードイベントの発火までの時間をブラウザのデフォルトプロファイラを用いて計測する。 サーバ処理は単に折り返すのみとし、ローカルサーバを使用する。
- 画面ロード後の画面操作で、JavaScriptスレッドの処理待ち(カーソルが渦巻き型に変化する)が発生しないこと。
ちなみに
性能テストにおける画面項目数の基準値について
一般的に入力項目数が極端に増加すると、ユーザビリティが極端に低下する。 (1ページあたりの入力項目が多いと、ユーザの離脱率が高まる。また、 画面を誤ってクローズした場合などに入力項目が全て消失する危険性がある) このため、 UI標準 では、一画面内の入力項目の上限を100件程度としており、 これに3倍の安全率をかけた数値をテスト基準値としている。
UI部品ウィジェット組み合わせテスト¶
他のUI部品の干渉する可能性のある部品について組み合わせて使用しても問題が発生しないことを検証する。 (例: タブと開閉可能領域、readonly機能とプレースホルダー機能など)
結合テスト¶
Nablarchのサンプルアプリケーションを用いて、サーバーサイドの完全な実装を含んだアプリケーションとしての ストーリーテストを実施する。
ローカル表示テスト¶
業務画面JSPローカル表示機能 によるローカル表示のテストを行う。 テスト内容は UIウィジェット機能テスト のテストJSPをローカル表示し UI部品ウィジェット一覧 で記載されている仕様どおりに動作することを検証する。
表示方向切替えテスト¶
各モバイルデバイスについて、縦持ち、横持ちを切替えた際に 画面の表示モードが UI標準 で定義された表示モードに切り替わることを確認する。