WEBアプリの品質とテストについてメモ
WEBアプリの品質とテストについて、ちょっと学んだのでメモしておく。
品質モデル
ISO/IEC 9126-1 にて Quality model が定義されている。
これを和訳してJIS規格として制定されたのが JISX0129-1のようだ。
以下に項目を引用する。
- 外部品質及び内部品質のための品質モデル
- 機能性
- 信頼性
- 使用性
- 効率性
- 保守性
- 移植性
- 利用時の品質のための品質モデル
- 有効性
- 生産性
- 安全性
- 満足性
品質に関して語る必要が出た時は、これを参照して網羅性をチェックしよう。
参考サイト
品質向上の方法 W字モデル開発手法
W字モデルは、テストの実施を待たずに、テスト計画書やチェックリストの作成に上流工程から取り掛かる手法だ。チェックリストを作成する過程で要件の矛盾や漏れを見つけ、受け入れテストでの手戻りを減らすのが狙いだ。
A-1 東証の現場責任者が明かす、「手戻り」と「バグ」を無くす開発手法 | 日経 xTECH(クロステック)
テスト設計の際に仕様や設計の漏れを見つけることが多い。それなら、要件定義や設計の段階でテスト設計することで早期に漏れを発見すれば、手戻りが少なくなる!ってわけか。
性能テスト
昔は8秒ルールと言われていたが、今は3秒ルールとされているWEBアプリのレスポンスタイム。
システムの利用者が行うであろう操作、頻度を要件定義段階で詰めた上で、それを実現可能なアーキテクチャを選択することが、プロジェクトの失敗予防の一つの方法となる。
性能テストの指標は下記の通り。
- スループット:ページビュー数/時間
- レスポンスタイム:表示に要する時間/ページ
スループットとレスポンスタイムの負荷関係は下記のサイトが非常に参考になる。
負荷テスト
負荷テストには下記のような観点がある。
- 処理数/時間
- データ量
- 連続稼働時間
もちろん、オンライン(受付けて即処理)とバッチ(受付けだけ行って夜間に一気に処理)で、重視される観点は異なってくる。
セキュリティ
経済産業省のセキュリティ政策ポータルが網羅性の参考になる?
メニュー>調査報告書等など。
今更だが、入力値に対するセキュリティ対策は大きく分けて以下の2種類。
- バリデーション:不正値の拒否
- サニタイジング:不正値の無害化