📖 読了目安 約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の場合
- 詳細な状況を記録
- 再現手順を明確に
- 開発者に報告
【不具合報告】
テストケース:TC-005
現象:重複チェックが動作しない
期待:「このメールアドレスは既に登録されています」が表示
実際:そのまま登録完了画面に遷移
再現手順:TC-005の手順通り
環境:開発環境(dev.example.com)
日時:2024/02/15 14:30
テスト設計に参加する場合
テストケース作成の観点
- 正常系:基本的な操作で動作するか
- 異常系:エラー時に適切な対応ができるか
- 境界値:境界条件で正しく動作するか
- 組み合わせ:条件の組み合わせで問題ないか
網羅性の確認
| 確認項目 |
チェック |
| 画面設計書の入力チェックをすべてテストしているか |
□ |
| 処理設計書のエラー処理をすべてテストしているか |
□ |
| 画面遷移のパターンを網羅しているか |
□ |
1年目エンジニアとしての関わり方
| 場面 |
やること |
| テスト実施時 |
手順通りに実施、結果を正確に記録 |
| 不具合発見時 |
詳細な報告、再現手順の明確化 |
| テスト設計時 |
設計書から観点を抽出、ケース作成 |
ポイント:テストは「動くことの確認」ではなく「品質の証明」です。厳密に実施しましょう。
関連ドキュメント