Webアプリの単体テストケースのドキュメントへのまとめ方

Webアプリの開発において、単体テストは欠かせない工程です。
しかし「どのようにテストケースをまとめればよいのか」「どんな形式でドキュメント化すればよいのか」と悩む方も多いのではないでしょうか。

この記事では、単体テストをドキュメントとして整理する方法を解説します。入力値バリデーション、データベース処理、計算処理、API連携、画面表示といった代表的な機能ごとの具体的なテストケース例を表形式で紹介し、効率的にテストを管理するためのドキュメント化手法もまとめました。


テストケースを作成する際の基本項目

テストケースは「どんな状況で、どんな入力をしたら、どうなるべきか」を整理したものです。
ドキュメントとしてまとめる際には、以下の項目を入れると分かりやすくなります。

項目説明
テストID一意の識別子(例:VAL-001)
テスト対象テストする機能やメソッド名
前提条件テスト実行の前に必要な条件
入力値実際に与えるデータ
期待結果想定される正しい結果
実行結果実際の結果(成功/失敗)
備考エラーコード、関連チケットなど

この形式を守ることで、誰が見ても理解できるテスト仕様書を作ることができます。


入力値バリデーションのテストケース例

ユーザーが入力するデータは、必ずしも正しい形式とは限りません。バリデーションテストでは正常系・異常系をセットで確認することが重要です。

メールアドレスの形式チェック

テストIDテスト対象前提条件入力値期待結果実行結果備考
VAL-001会員登録フォームユーザー未登録user@example.com正常に登録できる正常系
VAL-002会員登録フォームユーザー未登録userexample.com「不正なメール形式」エラー異常系
VAL-003会員登録フォームユーザー未登録user@@example.com「不正なメール形式」エラー異常系

データベース処理のテストケース例

登録・更新・削除といった処理が正しくデータベースに反映されるか確認します。

ユーザー削除

テストIDテスト対象前提条件入力値期待結果実行結果備考
DB-001ユーザー削除処理ユーザーID=100が存在100該当ユーザーが削除される正常系
DB-002ユーザー削除処理ユーザーID=999が存在しない999「該当ユーザーなし」エラー異常系

計算処理のテストケース例

料金計算や割引処理などの数値ロジックは境界値を含めてチェックすることが大切です。

割引計算

テストIDテスト対象前提条件入力値期待結果実行結果備考
CAL-001割引計算関数価格5000円価格=5000, 割引率=10%4500円正常系
CAL-002割引計算関数価格5000円価格=5000, 割引率=150%エラー異常系

API連携のテストケース例

外部サービスとのやり取りは成功だけでなく失敗時の動作も確認が必要です。

天気情報API

テストIDテスト対象前提条件入力値期待結果実行結果備考
API-001天気API呼び出しAPI稼働中正常リクエストJSONレスポンスが正しく整形される正常系
API-002天気API呼び出しAPIダウン正常リクエスト「サービス利用不可」エラー異常系

画面表示ロジックのテストケース例

UIの切り替えが正しく動作するかを確認することも単体テストの一部です。

ログイン状態での表示

テストIDテスト対象前提条件入力値期待結果実行結果備考
UI-001トップページ表示ユーザーがログイン済みセッションあり「マイページ」リンクが表示される正常系
UI-002トップページ表示ユーザーが未ログインセッションなし「ログイン」ボタンが表示される正常系

テストケースをまとめる方法

テストケースを作成した後は、どのように管理するかが重要です。

  1. ExcelやGoogleスプレッドシート
    • 小規模なプロジェクトなら表形式で十分。
    • フィルタや条件付き書式を使えば実行状況も追いやすい。
  2. テスト管理ツール
    • TestRail、Zephyr、qTest、Redmineなど。
    • 複数人で進行管理する場合や大規模開発で有効。
  3. 自動テストとリンク
    • PHPUnit、Jest、Pytestなどのフレームワークに落とし込み、CI/CDに組み込む。
    • 「テスト仕様書=実行可能コード」として維持できる。

まとめ

単体テストは、単に「動くかどうか」を確認するだけでなく、どんな条件で・どんな入力を与えたときに・どう振る舞うかを整理する作業です。

Excelでシンプルにまとめる方法から、ツールや自動化による高度な管理方法まで、プロジェクトの規模に応じて選択できます。

まずは今回紹介した具体例を参考に、あなたの開発現場で使えるテストケースを整理してみてください。

タイトルとURLをコピーしました