📖 読了目安 約9分
この記事の目次

試験仕様書の読み方

試験仕様書(テスト仕様書)は、テストの内容と手順を定義したドキュメントです。テスト実施や品質確認で使います。

試験仕様書とは

役割

  • テスト観点(何を確認するか)を定義
  • テストケース(具体的な確認項目)を定義
  • テスト手順(操作方法)を定義
  • 期待結果(正しい動作)を定義

いつ使うか

場面 使い方
テスト実施時 テスト手順・期待結果の確認
テスト設計時 テストケースの作成
実装時 動作確認の指針として
品質確認時 何をテストしたかの記録

試験仕様書の構成

テストレベル

レベル 別名 内容 担当
単体テスト UT 関数・メソッド単位 開発者
結合テスト IT 機能間の連携 開発者/テスター
システムテスト ST システム全体 テスター
受入テスト UAT お客様視点での確認 お客様

よくある構成要素

項目 内容 確認ポイント
テスト対象 何をテストするか 機能ID、画面ID
テスト観点 どんな観点で確認するか 正常系、異常系
前提条件 テスト実施前の状態 データ、環境
テスト手順 操作の手順 入力値、操作順序
期待結果 正しい動作 表示内容、状態変化
結果 実施結果 OK/NG、エビデンス

テスト観点

正常系と異常系

種類 内容
正常系 正しい操作での動作 正しいパスワードでログインできる
異常系 エラー時の動作 間違ったパスワードでエラーになる
境界値 境界条件での動作 8文字ちょうど、7文字、9文字
準正常系 正常だが特殊なケース 空のカートで注文を押す

よくあるテスト観点

観点 確認すること
機能 機能が正しく動作するか
表示 画面表示が正しいか
入力チェック バリデーションが正しいか
状態遷移 画面遷移が正しいか
データ データが正しく登録/更新されるか
排他 同時操作で問題ないか

【サンプル】試験仕様書の実例

ユーザー登録機能の試験仕様書サンプルです。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
試験仕様書
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

■ 基本情報
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
テスト対象      : ユーザー登録機能
関連設計書      : SCR-001(画面設計書)、API-001(処理設計書)
テストレベル    : 結合テスト
作成日          : 2024/02/01
バージョン      : 1.0

■ テスト環境
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
環境            : 開発環境(dev.example.com)
ブラウザ        : Chrome 最新版
テストデータ    : 既存ユーザー「test@example.com」が登録済み

テストケース一覧

No 大項目 観点 テスト内容
1 正常系 登録成功 必須項目をすべて入力して登録
2 正常系 任意項目 電話番号を空欄で登録
3 異常系 必須チェック メールアドレス未入力
4 異常系 形式チェック メールアドレス形式不正
5 異常系 重複チェック 登録済みメールアドレス
6 異常系 桁数チェック パスワード7文字
7 境界値 桁数境界 パスワード8文字(ちょうど)
8 異常系 形式チェック パスワード英字のみ
9 異常系 一致チェック パスワード確認不一致

テストケース詳細

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【TC-001】正常系:必須項目をすべて入力して登録
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

■ テスト観点
正しい入力で正常に登録できることを確認する。

■ 前提条件
- ユーザー登録画面(SCR-001)を表示
- 入力するメールアドレスは未登録であること

■ テストデータ

| 項目 | 入力値 |
|------|--------|
| メールアドレス | newuser@example.com |
| パスワード | Password123 |
| パスワード(確認) | Password123 |
| 氏名 | テスト太郎 |
| 電話番号 | 03-1234-5678 |

■ テスト手順
1. メールアドレス欄に「newuser@example.com」を入力
2. パスワード欄に「Password123」を入力
3. パスワード(確認)欄に「Password123」を入力
4. 氏名欄に「テスト太郎」を入力
5. 電話番号欄に「03-1234-5678」を入力
6. 「登録」ボタンをクリック

■ 期待結果
1. 登録完了画面(SCR-002)に遷移する
2. 「登録が完了しました」メッセージが表示される
3. DBにユーザー情報が登録される

■ 確認ポイント
- [ ] 画面遷移が正しいか
- [ ] メッセージが表示されるか
- [ ] DBにデータが登録されているか

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【TC-003】異常系:メールアドレス未入力
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

■ テスト観点
必須項目が未入力の場合、エラーになることを確認する。

■ 前提条件
- ユーザー登録画面(SCR-001)を表示

■ テストデータ

| 項目 | 入力値 |
|------|--------|
| メールアドレス | (空欄) |
| パスワード | Password123 |
| パスワード(確認) | Password123 |
| 氏名 | テスト太郎 |

■ テスト手順
1. メールアドレス欄を空欄のまま
2. パスワード欄に「Password123」を入力
3. パスワード(確認)欄に「Password123」を入力
4. 氏名欄に「テスト太郎」を入力
5. 「登録」ボタンをクリック

■ 期待結果
1. 画面遷移しない
2. メールアドレス欄に「メールアドレスを入力してください」が表示される

■ 確認ポイント
- [ ] エラーメッセージが正しいか
- [ ] エラー箇所が分かるか
- [ ] 他の入力値が保持されているか

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【TC-007】境界値:パスワード8文字(ちょうど)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

■ テスト観点
境界値(最小桁数ちょうど)で正常に登録できることを確認する。

■ テストデータ

| 項目 | 入力値 | 備考 |
|------|--------|------|
| パスワード | Abcde123 | 8文字(最小) |

■ 期待結果
- 正常に登録できる
- エラーにならない

読み方のポイント

1. テスト観点を理解する

  • 正常系:まず動くことを確認
  • 異常系:エラーハンドリングを確認
  • 境界値:ギリギリの値を確認

2. 前提条件を確認する

テストを実施する前の状態を確認。前提条件が整っていないとテストできません。

3. 期待結果を正確に把握する

  • 何が表示されるか
  • どこに遷移するか
  • データはどう変わるか

4. テストデータを準備する

事前に必要なデータを準備。テストケースに書かれた値を使用します。

テスト実施時の注意点

エビデンス(証跡)を残す

エビデンス 取得方法
画面キャプチャ スクリーンショット
DBデータ SELECT結果のスクリーンショット
ログ ログファイルのコピー
リクエスト/レスポンス 開発者ツールのNetwork

NGの場合

  1. 詳細な状況を記録
  2. 再現手順を明確に
  3. 開発者に報告
【不具合報告】
テストケース:TC-005
現象:重複チェックが動作しない
期待:「このメールアドレスは既に登録されています」が表示
実際:そのまま登録完了画面に遷移
再現手順:TC-005の手順通り
環境:開発環境(dev.example.com)
日時:2024/02/15 14:30

テスト設計に参加する場合

テストケース作成の観点

  1. 正常系:基本的な操作で動作するか
  2. 異常系:エラー時に適切な対応ができるか
  3. 境界値:境界条件で正しく動作するか
  4. 組み合わせ:条件の組み合わせで問題ないか

網羅性の確認

確認項目 チェック
画面設計書の入力チェックをすべてテストしているか
処理設計書のエラー処理をすべてテストしているか
画面遷移のパターンを網羅しているか

1年目エンジニアとしての関わり方

場面 やること
テスト実施時 手順通りに実施、結果を正確に記録
不具合発見時 詳細な報告、再現手順の明確化
テスト設計時 設計書から観点を抽出、ケース作成

ポイント:テストは「動くことの確認」ではなく「品質の証明」です。厳密に実施しましょう。

関連ドキュメント