unoh.github.com

WEBアプリテストのチェック項目リスト

Tue Jul 31 02:16:49 -0700 2007

こんにちは!やまもと@テスト番長です。

TestingGeek
という耳障りの良い名前のサイトをご存知でしょうか?
総合的にテストの話を取り扱っており、それでいて読みやすいサイトです。

そこのTemplatesのコーナーにWeb Application Testing Checklist という便利そうなものがありましたので、日本語にしてみました。
ちょっとそのままだと物足りない感がありますが、テストポリシー作成の叩き台に使ってみるのも良さそうですね。
この手のリストを他にもご存知の方がいらっしゃれば、是非ご一報ください。

1. 機能テスト

1.1 リンク

1.1.1 記載された通りの先に遷移するか
1.1.2 どこからもリンクされないページは存在しないか
1.1.3 全ての外部リンク
1.1.4 参照しているサイトおよびメールアドレスはハイパーリンクになっているか?
1.1.5 廃止したページはユーザーにアクセスされないように、404レスポンスを返してHOMEページ(または検索ページ)へリダイレクトするようにしているか
1.1.6 全てのmailtoリンクは届く宛先になっているか確認する

1.2 フォーム

1.2.1 無効な入力を受容しないか
1.2.2 任意項目と必須項目
1.2.3 入力可能な文字列長
1.2.4 ラジオボタンの動作
1.2.5 ページを読み込み/再読み込みした時のデフォルト値(条件・状態は無効になっているべき)
1.2.6 コマンドボタンはハイパーリンクと続行ボタンに割り当てられているか?
1.2.6 コンボ/リストボックスの全ての中身は年代順に整頓されているか?
1.2.7 テーブルやフォームは全て表示されているか?適切なサイズに広げられているか?適切な位置のテキストがフォーカスされているか
1.2.8 必要なスクロールバーが表示されているか?

1.3 データの確認と検証

1.3.1 プライバシーポリシーが制定されており、読みやすい場所にあるか
1.3.2 無効なデータが与えられた時、システムがぎこちなくなる箇所はないか
1.3.3 サイト閲覧中にユーザーがCOOKIEを削除したらどうなるか
1.3.4 サイト訪問後にユーザーがCOOKIEを削除したらどうなるか


2. アプリケーションの固有の機能要件

2.1 データの調整

2.1.1 文字列が断ち切られないように、最大のフィールド長をチェックする
2.1.2 数字フィールドが負の数を受容するなら、データベースに格納することができるか?フィールドに負の数が入る合意が取れているか?
2.1.3 特定のデータがデータベースに保存されるなら、各値がデータベースに完全に保存されるのをチェックする。 すなわち、 文字列のトランケーションと数値の桁落ちに注意する。


2.2 日付フィールドのチェック

2.2.1 うるう年が正しく考慮されていて、誤り/誤算を引き起こさないことを確認する
2.2.2 2月28, 29, 30日が正しく考慮されていて、誤り/誤算を引き起こさないことを確認する
2.2.3 全てのサイトの著作権表示はヤフー相互ブランドサイトの更新を反映しているか

↑思いっきり直訳しましたが、どうやら「co-branded(相互ブランド)」とは
「ユーザーがある企業のサイトを訪れ、リンクを辿って提携企業のページへ進んだときに、そのリンク元の企業のロゴやブランドがそのままブラウザ上に残すことをいう。」らしいので、
フレームで異質なサイトを組み合わせて表示する際、コピーライトの日時がずれないように、ということのようです。



2.3 数字入力フィールドのチェック

2.3.1 最小値、最大値が正しく取り扱われることを確認する
2.3.2 空白が先頭にある数字フィールドは、エラーとして処理または報告されるか確認する
2.3.3 空白が末尾にある数字フィールドは、エラーとして処理または報告されるか確認する
2.3.4 プラス、マイナスの値が正しく処理されることを確認する
2.3.5 ゼロの割り算が起こらないことを確認する
2.3.6 すべての計算にゼロを含めてみる
2.3.7 範囲の上限値、下限値が正しく扱われることを確認する。
#原文には(Using BVA)とあるのですが、BVAって何でしょう?ビットバレー・アソシエーション?w


2.4 英数字入力フィールドのチェック

2.4.1 空白及び空白ではないデータを試す
2.4.2 最大値、最低値を入れる
2.4.3 無効な文字や記号を入れる
2.4.4 有効な文字を入れる
2.4.5 データの最初の文字に空白を入れる
2.4.6 データの最後の文字に空白を入れる


3. インタフェースとエラー処理

3.1 サーバインタフェース

3.1.1 ウェブサーバ・アプリケーションサーバ間、アプリケーションサーバ・データベースサーバー間で正しく交信できることを確認する。逆も同様に確認する。
3.1.2 サーバソフトウェア、ハードウェア、ネットワーク接続の互換性

3.2 外部のインタフェース

3.2.1 推奨するブラウザは全てテストしたか?
3.2.2 関係する外部のアプリケーションやサーバが使用できなくなった場合を考慮してテストしたか?


3.3 内部のインタフェース

3.3.1 サイトがプラグインを使用する場合、それなしでも動作するか?
3.3.2 リンクした文書は全てのプラットフォームで利用可能か?(マイクロソフトのワードファイルはソラリスで閲覧出来るか?)
3.3.3 ダウンロードが失敗した場合、失敗の処理が行われるか?
3.3.4 ユーザーはコピー&ペースト機能を使用出来るか?パスワード/暗証番号/クレジットカード番号フィールドでは許容されるか?
3.3.5 暗号化していないデータを送信するようになっていないか?


3.4 内部のインタフェース

3.4.1 システムが異常終了した場合、リブートと回復はスムーズに行われるか?
3.4.2 操作を途中で止めてサイトを去るなら、それは取り消されるか?
3.4.3 インターネットの接続が切れた場合、処理は取り消されるか?
3.4.4 ブラウザクラッシュの可能性を考慮しているか?
3.4.5 アプリケーションサーバとウェブサイト間でのネットワーク異常があった場合を考慮しているか?
3.4.6 あなたは(クッキー無効などに対して)知的なエラー処理を実装したか?


4. 互換性

4.1 ブラウザ

4.1.1 使用しているHTMLのバージョンは推奨するブラウザバージョンと適合しているか?

4.1.2 画像は対象ブラウザで正しく表示されているか?
4.1.3 フォントはいずれのブラウザでも表示可能か?
4.1.4 スクリプトはテスト対象のブラウザで正しく動作しているか?
4.1.5 アニメーションGIFはどのブラウザでも問題なく表示されるかテストしたか?

4.2 画面表示設定

4.2.1 様々な解像度(1024x768, 600x800, 640x480ピクセルなど)でチェックする(テキストとグラフィックの配置が乱れない、フォントの可読性など)
4.2.2 色数を変えてチェックする(256色、16ビット, 32ビット)

4.3 接続(表示)速度

4.3.1 サイトは閲覧者のブラウザで8秒以内に表示されるくらい軽くなっているか?

4.4 印刷

4.4.1 テキストと画像の並びが乱れないか
4.4.2 テキスト、フォアグランド、およびバックグラウンドの色は適切か
4.4.3 紙サイズに合う大きさになっているか
4.4.4 テーブルと枠線は表示されるか
4.4.5 テキストを分断せずに読みやすく印刷出来るか?