|
記載レベルが「エラーとなること」や「期待した通り処理されること」などバラバラのため要件/仕様に応じて読み替えること |
クライアント観点 (フロントエンド、画面)
表示
文字化け
-
文字化けが発生していないこと
表示桁数、表示方法、フォーマット
| 日時 |
日時に関して期待した通り表示されていること。以下は例
|
| 郵便番号 |
郵便番号に関して期待した通り表示されていること。以下は例
|
| 電話番号 |
電話番号に関して期待した通り表示されていること。以下は例
|
| 金額 |
金額に関して期待した通り表示されていること。以下は例
|
| 負数 |
負数に関して期待した通り表示されていること。以下は例
|
テーブル表示
| 項目(カラム)(列) |
テーブル項目に不足がないこと |
| 件数(行) |
期待した件数だけ表示されていること |
| 0件 |
テーブルの表示件数が0件の場合は期待した通り表示されていること |
ページング
ページング不可(0件の場合)
-
ページング対象の一覧の表示件数が0件の場合は期待した通り表示されていること
ページング不可(1Pのみの場合)
| 範囲 |
ページングができない場合(1ページのみの場合など)はページャーの番号が期待した通り表示されること |
| 前へボタン |
ページングができない場合(1ページのみの場合など)は前へボタンが期待した通り表示されること |
| 次へボタン |
ページングができない場合(1ページのみの場合など)は次へボタンが期待した通り表示されること |
ページング可(複数ページの場合) / 最小値(1~10Pであれば1P)
| 範囲 |
ページングができる、かつ中間値が選択されている場合にはページャーの番号が期待した通り表示されること |
| 前へボタン |
ページングができる、かつ中間値が選択されている場合には前へボタンが期待した通り表示されること |
| 次へボタン |
ページングができる、かつ中間値が選択されている場合には次へボタンが期待した通り表示されること |
ページング可(複数ページの場合) / 中間値(1~10Pであれば5P)
| 範囲 |
ページングができる、かつ最小値が選択されている場合にはページャーの番号が期待した通り表示されること |
| 前へボタン |
ページングができる、かつ最小値が選択されている場合には前へボタンが期待した通り表示されること |
| 次へボタン |
ページングができる、かつ最小値が選択されている場合には次へボタンが期待した通り表示されること |
ページング可(複数ページの場合) / 最大値(1~10Pであれば10P)
| 範囲 |
ページングができる、かつ最大値が選択されている場合にはページャーの番号が期待した通り表示されること |
| 前へボタン |
ページングができる、かつ最大値が選択されている場合には前へボタンが期待した通り表示されること |
| 次へボタン |
ページングができる、かつ最大値が選択されている場合には次へボタンが期待した通り表示されること |
ソート
| 昇順 |
昇順にソートされること |
| 降順 |
降順にソートされること |
フォーム要素
デフォルト表示
| テキストボックス |
テキストボックスに期待したデフォルト値が表示されていること。以下は例
|
| テキストエリア |
テキストエリアに期待したデフォルト値が表示されていること。以下は例
|
| チェックボックス |
チェックボックスに期待したデフォルト値が設定されること。以下は例
|
| ラジオボタン |
ラジオボタンに期待したデフォルト値が設定されること。以下は例
|
| セレクトボックス(ドロップボックス) |
セレクトボックス(ドロップボックス)に期待したデフォルト値が設定されること。以下は例
|
プレースホルダ
-
テキストボックスのプレースホルダが期待した通り表示されていること
セレクトボックスの内容
-
セレクトボックスの一覧が期待した通り表示されていること
制御
| 入力値の保持 |
各種入力欄に入力し次画面へ進んだのち、試験該当画面へ戻った場合には入力した値が保持されていること |
| ロール/権限 |
ロールや権限に応じてフォームが表示されていること
|
帳票
| レイアウト |
帳票のレイアウトに関して期待した通り表示されていること |
ウィンドウ
| ページタイトル |
ウィンドウのページタイトルが期待した通り表示されていること |
| favicon |
ウィンドウのfaviconが期待した通り表示されていること |
Copyright(コピーライト)
-
Copyright(コピーライト)が期待した通り表示されていること
処理(ボタン押下後など)
| 画面遷移 |
期待通りの画面遷移が行われること |
| 画面更新 |
処理に伴う画面更新において、更新後の各種内容が期待した通りに表示されていること。以下は例
|
| メッセージ |
処理結果に対するメッセージが期待した通り表示されていること |
画面制御
| ポップアップウィンドウ |
期待した通りポップアップウィンドウが表示され、また内容が期待した通りの内容であること |
| モーダルウィンドウ |
期待した通りモーダルウィンドウが表示され、また内容が期待した通りの内容であること |
| タブオーダー |
タブまたはEnterキーでの項目遷移が期待した通り行われること |
レスポンシブ
| PC(大) (1200px以上) |
1200px以上のサイズにて検証を行い画面崩れがないこと |
| PC (992~1119px) |
992~1119pxのサイズにて検証を行い画面崩れがないこと |
| タブレット (768~991px) |
768~991pxのサイズにて検証を行い画面崩れがないこと |
| スマートフォン (767以下) |
767px以下のサイズにて検証を行い画面崩れがないこと |
| 画面サイズ変更 |
画面サイズを変更しても画面崩れがないこと |
| 境界値は bootstrap の値を参照 |
推奨ブラウザ
バージョン
| 最新 |
指定されたバージョン内で最も新しいバージョンにて検証を行い画面崩れがないこと |
| 最古 |
指定されたバージョン内で最も古いバージョンにて検証を行い画面崩れがないこと |
ブラウザ
| google chrome |
google chromeで検証を行い画面崩れがないこと |
| fire fox |
fire foxで検証を行い画面崩れがないこと |
| ie |
internet explorerで検証を行い画面崩れがないこと |
| edge |
edgeで検証を行い画面崩れがないこと |
| safari |
safariで検証を行い画面崩れがないこと |
| opera |
operaで検証を行い画面崩れがないこと |
セキュリティ
| エスケープ処理 |
入力値を表示するさいなどにはエスケープ処理が施されて表示されていること。以下は例
|
入力
入力チェック
| 必須 |
必須項目が未入力の場合はエラーとなること |
| 最小値(または桁数や文字数) |
下記の観点より期待した通り処理されること
|
| 最大値(または桁数や文字数) |
下記の観点より期待した通り処理されること
|
| 指定値(画像認証など) |
入力値が期待値以外の場合はエラーとなること |
| メールアドレス |
フォーマットに違反している場合はエラーとなること |
| URL |
フォーマットに違反している場合はエラーとなること |
| 電話番号(固定電話、携帯電話など) |
フォーマットに違反している場合はエラーとなること |
| 郵便番号(3桁-4桁など) |
フォーマットに違反している場合はエラーとなること |
| 日時 |
フォーマットに違反している場合はエラーとなること |
| 存在しない日時 |
存在しない日時を入力した場合はエラーとなること |
| うるう年 |
うるう年を入力した場合は期待した通り処理されること |
| 期間外の日時 |
期間外の日時を入力した場合はエラーとなること |
| 日時の前後関係 |
開始日時と終了日時が逆転している場合はエラーとなること |
| クレジットカード |
フォーマットに違反している場合はエラーとなること |
| ファイル指定 |
指定外のファイルをアップロードした場合はエラーとなること |
| ファイルサイズ |
ファイルサイズの指定を超過したファイルをアップロードした場合はエラーとなること |
文字チェック
| 全角(カナ、英数字、記号含む) |
禁止されている場合はエラーとなること ( |
| 半角(記号) |
禁止されている場合はエラーとなること ( |
| 半角(カタカナ) |
禁止されている場合はエラーとなること ( |
| 環境依存文字 |
禁止されている場合はエラーとなること ( |
| UTF-8とEUCでマッピングに差がある文字 |
禁止されている場合はエラーとなること ( |
| サロゲートペア |
禁止されている場合はエラーとなること ( |
| 絵文字 |
禁止されている場合はエラーとなること ( |
| EUCのサーバで文字化けする文字 |
禁止されている場合はエラーとなること ( |
| javascript |
入力欄へjavascriptの入力が禁止されている場合はエラーとなること ( |
| HTML |
入力欄へHTMLの入力が禁止されている場合はエラーとなること ( |
| HTML特殊文字 |
入力欄へHTML特殊文字の入力が禁止されている場合はエラーとなること ( |
| データベースに対するインジェクション |
入力欄へSQLの入力が禁止されている場合はエラーとなること ( |
| 改行 |
禁止されている場合はエラーとなること |
| 空白文字(半角、全角) |
禁止されている場合はエラーとなること |
| NULL(空、未入力) |
禁止されている場合はエラーとなること |
入力パターン
| 小数 |
小数を入力し期待した通り処理されること |
| 負数 |
負数を入力し期待した通り処理されること |
| 検索条件/前方一致 |
対象の有無に応じて期待した通り処理されること |
| 検索条件/後方一致 |
対象の有無に応じて期待した通り処理されること |
| 検索条件/部分一致 |
対象の有無に応じて期待した通り処理されること |
| 検索条件/完全一致 |
対象の有無に応じて期待した通り処理されること |
| 検索条件/期間指定 |
対象の有無に応じて期待した通り処理されること。また時刻に関しては時分秒まで考慮すること |
| 検索条件/検索条件の組み合わせ |
複数の検索条件を組み合わせることができる場合には組み合わせたパターンを作成し、それぞれのパターンで期待した通り処理されること |
フォーム要素の制御
| ボタン押下によるリクエスト二重送信 |
確定ボタン押下後は二度押しができない、もしくは二度目がエラーとなること |
| パスワード入力欄 |
パスワード入力欄の入力値は隠ぺいされて表示されること |
| セレクトボックス |
下記の観点より期待した通り処理されること
|
| チェックボックス |
下記の観点より期待した通り処理されること
全選択が可能な場合はシナリオを考慮し期待した通り処理されること。以下は例
|
| フォーム要素の有効化 |
特定の条件を満たすことで有効となる要素がある場合には、条件を満たしたタイミングで要素が有効化されること |
| フォーム要素の無効化 |
条件を満たすことで有効化した要素がある場合には、条件を満たしていない状態とすることで無効化されること |
ブラウザ操作
| ブラウザバック後の再送信 |
確定ボタン押下後の完了画面などにてブラウザバックし、再度確定ボタン押下した場合に再度リクエストが送信されないこと |
| マルチウィンドウ(タブ)からの送信 |
画面Aで確定ボタン押下直前まで処理を進め、その後画面Bを開き画面Aと同様の処理を進めて確定ボタン押下。その後、画面Aの確定ボタンを押下した場合にはリクエストが送信されないこと |
| リロードによる再リクエスト送信 |
処理完了後にリロードした場合に再度リクエストが送信されないこと |
| 未ログイン状態によるアクセス |
未ログイン状態にてURL指定でアクセスした場合はエラーとなること |
| 不正遷移 |
登録→確認→完了といった画面遷移が必要な場合に、完了画面のURL指定でアクセスした場合はエラーとなること |
| ディレクトリトラバーサル |
|
サーバー観点 (バックエンド)
リクエスト
|
基本的にはクライアント/入力の観点と同様 |
入力チェック(CSV/TSV ファイル)
CSV ファイルや TSV ファイルなどのチェック観点。
| 項目(カラム)数境界 |
下記の観点より期待した通り処理されること
|
| 項目(カラム)の桁数(文字数)境界 / 最小値(桁数) |
下記の観点より期待した通り処理されること
|
| 項目(カラム)の桁数(文字数)境界 / 最大値(桁数) |
下記の観点より期待した通り処理されること
|
| Key(Unique)項目の重複 |
Keyとなる項目値が重複している場合はエラーとなること |
| データ件数(レコード数)境界値 / 最小数 |
下記の観点より期待した通り処理されること
|
| データ件数(レコード数)境界値 / 最大数 |
下記の観点より期待した通り処理されること
|
| ヘッダの有無 |
ヘッダがない場合はエラーとなること |
| トレーラ(フッタ)の有無 |
トレーラがない場合はエラーとなること |
| ヘッダ/データ/トレーラ(フッタ)の順序 |
ヘッダ/データ/トレーラの順序がバラバラの場合はエラーとなること |
| 空行 |
空行がある場合はエラーとなること |
| デリミタの有無 |
デリミタ(区切り文字)がない場合はエラーとなること |
| 空ファイル |
空ファイルの場合はエラーとなること |
| 指定文字(prefixなど)の有無 |
値に指定文字(prefixなど)がない場合はエラーとなること |
| ダブルクォーテーション |
ダブルクォーテーションの有無で期待した通り処理されること |
| ダブルクォーテーション内の改行 |
ダブルクォーテーション内の改行の有無で期待した通り処理されること |
入力チェック(固定長ファイル(マルチフォーマット))
| レコード長境界値 |
下記の観点より期待した通り処理されること
|
|
上記以外は CSV/TSV のチェックと同様 |
レスポンス
HTTP ステータスコード
-
期待した HTTP ステータスコードを返していること
レンダリング
-
期待した HTML を返していること
算術演算
| 日時 |
日時の計算結果が期待した通りであること(うるう年、存在しない日時、タイムゾーン、サマータイムなどの観点より) |
| 金額 |
金額の計算結果が期待した通りであること(消費税などの観点より) |
ファイル出力
帳票
| レイアウト |
レイアウトが期待した通り表示されていること |
デリミタ区切りファイル(CSV/TSV ファイルなど)
| デリミタ |
デリミタが期待した通り出力されていること |
| ダブルクォーテーション |
ダブルクォーテーションで囲まれている or いないこと |
| ヘッダ/トレーラ(フッタ) |
ヘッダ/トレーラが期待した通り出力されていること |
| エンコーディング(UTF-8やShift_JISなど) |
エンコーディングが期待した通りであること |
固定長ファイル(マルチフォーマット)
| レコード長 |
レコード長が期待した通り出力されていること |
| ヘッダ/トレーラ(フッタ) |
ヘッダ/トレーラが期待した通り出力されていること |
| エンコーディング(UTF-8やShift_JISなど) |
エンコーディングが期待した通りであること |
ログ
| 機密情報 |
機密情報が含まれていないこと |
| 個人情報 |
個人情報が含まれていないこと |
| 暗号化 |
機密情報、個人情報が暗号化されていること |
メール送信
| 送信元 |
送信元に関して期待した通りの内容であること |
| 宛先(To, Cc, Bcc) |
宛先に関して期待した通りの内容であること |
| 複数宛先へ一括送信 |
複数宛先へ一括送信する場合はBCCを用いて宛先が隠ぺいされていること |
| 件名 |
件名に関して期待した通りの内容であること |
| 本文 |
本文に関して期待した通りの内容であること |
|
文字の表示に関してはクライアント観点の表示を参照。 |
ストレージ観点 (DB)
入力
登録、更新
| 一意制約 |
登録(更新)する情報が、すでに登録済みの場合はエラーとなること (メールアドレスなど) |
| 主キー制約 |
登録(更新)する情報が、すでに登録済みの場合はエラーとなること (ユニークなIDなど) |
| 外部キー制約 |
登録(更新)する情報が別途管理されている情報に依存する場合、その情報が存在しない(管理されていない)場合はエラーとなること |
| 外部キー制約(CASCADE 観点) |
外部キー制約が CASCADE で設定されている場合、親のレコードを更新した場合は期待した通り処理されること |
| 外部キー制約(RESTRICT 観点) |
外部キー制約が RESTRICT で設定されている場合、親のレコードを更新した場合は期待した通り処理されること |
| ロールバック |
複数の情報を一括で登録(更新)したさいに、途中でエラーとなった場合には期待した通りロールバックされていること |
| データが存在しない |
更新対象のデータが存在しない場合は期待した通り処理されること |
| 暗号化 |
機密情報や個人情報が暗号化されていること |
削除
- 外部キー制約(CASCADE 観点)
-
外部キー制約が CASCADE で設定されている場合、親のレコードを削除すると依存している子のレコードが削除されること
- 外部キー制約(RESTRICT 観点)
-
外部キー制約が RESTRICT で設定されている場合、親のレコードを削除すると依存している子の状態に応じて期待した通り処理されること
- ロールバック
-
複数のデータを一括で削除したさいに、途中でエラーとなった場合には期待した通りロールバックされていること
- データが存在しない
-
削除対象のデータが存在しない場合は期待した通り処理されること