【サンプルあり】単体テスト仕様書テンプレートと新人向け記載例

テスト仕様書サンプル
テスト仕様書のサンプルテンプレートは下記よりダウンロードしてお使いいただけます。
Excel形式で、次の3シート構成になっています。そのまま使うことも、Googleスプレッドシートにインポートして使うこともできます。
| シート | 内容 |
|---|---|
| テストケース一覧 | 記入済みのサンプル付き。13項目の列をそのまま使えます |
| テスト観点チェックリスト | 入力値検証・機能動作・画面表示・データ処理・権限認証の15項目。観点の抜け漏れを防げます |
| 使い方ガイド | 全項目の説明・記載例・注意点。初めてでも何を書けばよいか迷いません |
ケース一覧だけでなく、観点の抜け漏れチェックと記入ガイドまで揃っています。

単体テスト仕様書テンプレートで解決できること
ソフトウェア開発において単体テスト仕様書は、テストの品質を「見える化」する重要なドキュメントです。
適切な仕様書を作成することで、テスト業務の効率化や新人エンジニアでも正確にテストを実施できる環境を整えられます。
しかしプロジェクトメンバーごとに仕様書のフォーマットや書き方が異なると、レビュー効率が落ちて品質が安定しません。フォーマットが統一されていない現場ではナレッジ共有やツール再利用が難しく、新人の学習コストも増大します。
本記事では、新人でも迷わず書ける単体テスト仕様書テンプレートの基本構成と記載例をまとめます。 テスト代行サービスを提供する弊社が実務で培ったノウハウをもとに、効率的な仕様書作成と運用のポイントを解説します。
この記事を読むと、次のことが分かります。
- 単体テスト仕様書テンプレートに入れるべき13項目と、それぞれの書き方
- そのまま真似できるテストケースの記載例(ログイン機能を例に一貫して解説)
- 期待結果の「OK例/NG例」の違い
- テスト観点の抜け漏れを防ぐチェックリストの使い方
- 結合テスト・システムテストで流用するときの調整ポイント
単体テスト仕様書テンプレートが必要とされる背景と課題
書き方がバラバラだと品質がばらつく
プロジェクト内で仕様書の形式が統一されていないと、テストの品質にばらつきが生じます。
ベテランと新人で書き方が異なると網羅性にも差が出て、「テストしたはずなのにバグが残る」状況につながります。レビュー担当者も毎回フォーマットが違えば内容の理解に時間がかかり、確認の手戻りが増えます。
仕様書の内容が属人的だと、テスト観点の抜け漏れも起きやすくなります。たとえばログイン画面のテストで、入力値に「空文字」や「特殊文字」を含め忘れるケースです。
網羅的な観点を洗い出せる標準化されたテンプレートがあれば、誰が書いても必要なテストケースを過不足なく洗い出せます。
新人に任せると教育コストがかかる
単体テストは新人エンジニアに任されることの多い工程です。しかし書き方に不慣れなため、書式が複雑な仕様書では作成に戸惑います。
現場では「新人がテスト仕様書を正しく書けない」「読み手によって解釈がズレる」といった問題が起こりがちです。
そのうえ仕様書の作成には手間がかかるため、開発優先の現場では後回しにされ、「テストは実施したが仕様書は残していない」という状態にもなりがちです。
共通フォーマットと記載例をセットにしたテンプレートを用意しておけば、教育コストを下げつつ品質を保てます。一度整備すれば次のプロジェクトでも再利用でき、限られたリソースでもテストの質を維持できます。
単体テスト仕様書テンプレートの基本構成と必須記載項目
ここからは、単体テスト仕様書テンプレートに盛り込むべき基本構成と各項目について解説します。
項目は 「テスト前に書く欄」と「テスト後に書く欄」 に分かれます。この区別を意識すると、どのタイミングで何を埋めればよいか迷わなくなります。
テスト前に書く8項目(設計時)
| 項目 | 内容 | 記載例 |
|---|---|---|
| テストID | 各ケースを一意に識別するID | UT-001 |
| 機能名 | テスト対象の機能やクラス名 | ログイン認証 |
| テスト観点・目的 | 何を確認するテストか | 入力値チェック/正常系動作確認 |
| 前提条件 | 実行前に整えておく条件 | ログイン画面が表示されている状態 |
| テスト手順 | 具体的な実行ステップ | 1. IDを空欄のまま 2. パスワードを入力 3. ログインを押下 |
| テストデータ | 使用する入力値 | ユーザーID=(空)/パスワード=Test@1234 |
| 期待結果 | 成功時に得られるべき結果 | 「ユーザーIDを入力してください」を表示 |
| 優先度 | テストの重要度 | 高・中・低 |
テンプレート上では次のように並びます。1行が1テストケースにあたります。

テスト後に書く5項目(実行時)
| 項目 | 内容 | 記載例 |
|---|---|---|
| 実施日 | テストを実行した日 | 2025/12/11 |
| 実施者 | 実行した担当者 | 佐藤 |
| 実測結果 | 実際に起きたこと | 期待結果と一致 |
| 合否判定 | 期待結果との比較 | 合格/不合格 |
| 備考 | 補足・不具合番号など | BUG-014 起票 |
備考欄に不具合管理番号を書く運用にしておくと、仕様書とバグチケットが紐づきます。不合格のケースを後から追跡するときに効きます。
実際の記入イメージは次のとおりです。テスト後に埋める欄まで記録されていると、誰がいつ何を確認したかが残ります。

プロジェクトの特性に応じて、テスト環境(OSやブラウザ)や関連要件ID(どの要件を検証するテストか)の列を足すとさらに実践的になります。特に複数環境で動かすシステムでは、テスト環境の列がないと「どの環境で確認したのか」が後から分かりません。
それでは、基本構成の各項目についてポイントを詳しく見ていきます。
テスト対象と観点の明示
まず明確にすべきは「何を」「どの観点で」テストするかという点です。 機能単位でテスト対象(ユニット)を定義し、さらにその機能のどんな側面を検証するのか観点を整理します。 たとえばUI入力の検証、内部ロジックの計算結果、エラーメッセージ表示など、機能ごとに考えられる観点をリストアップしましょう。
仕様書作成時には要件定義書や設計書を参照し、「その機能でテストすべきこと」を漏れなく洗い出します。
観点は誰が見ても分かるよう箇条書きや表形式で一覧化すると効果的です。 例えば検索機能のテストでは「正常にデータを取得できるか確認する」といった観点が考えられます。 網羅性を高めるために、全体像を縦軸・横軸に分けたマトリクス表(デシジョンテーブル)を用いるのも有効です。
複数の条件が絡む機能なら、条件組み合わせを表形式で整理して全パターンを洗い出すことで、テスト漏れを防ぐことができます。
例
| テスト対象 | テスト観点 |
|---|---|
| ログイン画面 | 入力チェック/認証処理/エラーメッセージ表示 |
入力値と期待結果の記載
テスト仕様書では入力値と期待結果をセットで記載します。 入力データは典型的な正常ケースだけでなく、考えられる異常系や境界値も含めましょう。 例えば数値入力なら「0や最大値」「不正な文字列」「空入力」といったケースを網羅的に準備します。
また、期待結果はテストの合否判断の基準となるものです。 「画面にどう表示されるか」 「データベースに何が書き込まれるか」 「APIレスポンスがどうなるか」など、 具体的で明確な基準を示します。
曖昧な表現は避け、「○○というエラーメッセージが表示される」「DBの該当レコードが更新される」等、誰が見ても判定できるように書きます。
例えばパスワード強度チェック機能のテストなら、期待結果には「パスワード強度が『弱』と表示される」「『大文字を含めてください』というエラーメッセージが表示される」「登録ボタンが非活性化される」といった具体的な挙動をすべて記載します。複数の確認ポイントがある場合は箇条書きで整理するとよいでしょう。
> 記載例(期待結果の表現): NG例)「空白の場合の動作を確認」←何をもって成功か不明 OK例)「空白入力した場合、『ユーザーIDを入力してください』というエラーメッセージが表示されること」
このように期待結果を詳細に書くことで、テスト実行者が正しい判断を下しやすくなり、バグの見落とし防止につながります。
実施手順の詳細化
テストの実施手順は、誰が実行しても同じ結果が得られるよう具体的に書きましょう。
手順は番号付きのステップで列挙し、画面操作の順番、入力する値の順序、前提となる環境設定などを漏れなく記載します。例えば「1. 管理者ユーザでログイン」「2. 設定画面から〇〇ボタンを押下し~」といった具合です。
曖昧な指示や省略は避け、テスト担当者が迷わず手順通り動けるレベルで具体化します。 必要に応じて事前準備(例:テスト用のデータ投入方法やシステムのモード切替手順)も手順に含めて明示します。
実施手順を丁寧に書いておけば、担当者のスキルに依存せず常に同じ検証が行えるため、テスト結果の再現性と信頼性が高まります。
テストケースの一覧化
単体テスト仕様書では、洗い出した全てのテストケースを一覧表形式でまとめることも重要です。 テストケースごとにIDや内容を整理して一括管理することで、抜け漏れの確認やテスト進捗の管理が容易になります。 Excelやスプレッドシートを使えばフィルタやソート機能で特定の条件のケースを抽出したり、実行状況を管理したりしやすくなります。
一覧化する際には実行順序や重要度の列を設けて、どのケースから優先的に実施すべきかが一目で分かるようにすると現場で便利です。また、ケースが増えてきたらカテゴリ別にシートを分けたり、大分類・小分類の列を追加してテスト項目を体系立てて整理すると、レビュー時にも把握しやすくなるでしょう。
テストケース一覧はプロジェクト規模によっては数百行に及ぶこともありますが、体系立てて一覧化することで網羅性のチェックと管理コストの削減に寄与します。
確認結果と評価の明記
テスト実行後には、各テストケースの確認結果(実測値)と評価を必ず仕様書に記録します。
具体的には、期待結果に対する実際の結果を照合した合否(成功/失敗)を記入し、あわせて確認者名や実施日も残しておきます。これにより、誰がいつそのテストを検証し、結果どうだったのか履歴が明確になります。
万一テストが失敗した場合は、エラー内容の詳細や発生した現象もコメント欄に追記しましょう。不具合再現手順のメモやスクリーンショットを添付しておけば、開発者へのフィードバックもスムーズです。
エビデンスの残し方をルール化する
エビデンス(証跡)は、残し方を決めておかないと担当者ごとにバラバラになります。 テンプレートに次のようなルールを明記しておくと、後から探す手間が激減します。
おすすめは、テンプレートのテストID列をそのままファイル名にする方法です。仕様書とエビデンスが1対1で対応するため、照合のために別の対応表を作る必要がなくなります。
| 項目 | ルールの例 |
|---|---|
| ファイル名 | テストIDをそのまま使う(例: UT-LOGIN-001.png)。1ケースで複数枚必要なら末尾に連番(UT-LOGIN-001_2.png) |
| 保存先 | テスト仕様書と同じフォルダに evidence を作り、その配下に置く |
| 取得タイミング | 期待結果を判定できる画面で1枚。不合格時は操作直前の画面も追加で1枚 |
| 残さないもの | 合格ケースの中間操作画面。枚数が増えるとレビューの負担になるだけで、判定の根拠にならない |
このようなテスト結果の記録と追跡を徹底することで、品質管理プロセスの透明性が高まります。記録された仕様書はテスト網羅性の証跡ともなるため、リリース判定時のエビデンスや監査対応資料としても活用できます。
トレーサビリティ(要件・設計との対応関係)
テストケースと要件定義書・設計書上の項目をひも付けて管理すると、後から「どの要件を確認したテストか」がすぐ分かるようになります。 例えば各テストケースに対応する要件IDや機能仕様書の項番を紐づけておけば、ある要件に対して単体テストが実施済みか一目で把握できるでしょう。これにより、要件漏れによるテスト不足を防げますし、要件変更があった際にどのテストケースへ影響が及ぶかも追跡できます。
実際、テスト観点がシステム要件とずれてしまうと、たとえ単体テスト自体はきちんと実施しても本来の要件を満たしているか確認できない恐れがあります。トレーサビリティを確保することでそうしたミスマッチを防ぎ、仕様変更時の影響分析や回帰テスト計画にも役立つのです。
最近ではテスト管理ツール上で要件とテストケースをリンクし、要件→テスト→結果まで一元追跡できる仕組みも普及しています。プロジェクト規模が大きい場合はツールの活用も検討しつつ、まずはテンプレート上で手動でも対応関係を明記する運用から始めてみましょう。
単体テスト仕様書テンプレートの具体的な記載例と活用ポイント
実用性の高い記載例
それでは、上記の基本構成を満たした単体テスト仕様書の記載例を示します。 ここでは1つの画面を対象とした画面単位の単体テストを例にします。ログイン画面の入力チェックを題材に、手動で動作を確認するケースです。
| 項目 | 記載内容 |
|---|---|
| テストID | UT-001 |
| 機能名 | ログイン認証 |
| テスト観点・目的 | 入力値チェック(必須項目の未入力) |
| 前提条件 | ログイン画面が表示されている状態 |
| テスト手順 | 1. ユーザーIDを空欄のまま 2. パスワードを入力 3. ログインを押下 |
| テストデータ | ユーザーID=(空)/パスワード=Test@1234 |
| 期待結果 | 「ユーザーIDを入力してください」を表示し、ログイン画面から遷移しない |
| 優先度 | 高 |
| 実施日 | 2025/12/11 |
| 実施者 | 佐藤 |
| 実測結果 | 期待結果と一致 |
| 合否判定 | 合格 |
| 備考 | — |
この例のポイントは、テストを実行する人が仕様書だけを見て作業を完結できる状態になっていることです。
- 前提条件があるので、どんな状態から始めればよいか分かる
- テスト手順が番号付きなので、操作の順序に迷わない
- 期待結果が具体的な文言で書かれているので、判定がぶれない
- 実測結果と合否判定が分かれているので、「何が起きて、どう判断したか」が残る
よくあるのは、期待結果を「正しく動くこと」のように曖昧に書いてしまうケースです。 何をもって正しいのかが人によって変わるため、実行者が判断に迷います。画面に出る文言やデータの状態など、見れば分かる事実で書いてください。
> 記載例の良し悪し > NG例)「空白の場合の動作を確認」← 何をもって成功か不明 > OK例)「『ユーザーIDを入力してください』が表示されること」
なお、この例のように画面を操作して確認する形は、1つの画面や機能を対象とした単体テストでよく使われる書き方です。関数単位でテストコードを書く場合は、手順の代わりに呼び出す関数と引数を、期待結果には戻り値や例外を記載します。項目の構成は変わりません。
実務ではこのようなテストケースを機能ごと・観点ごとに何十件もリスト化していきます。 本記事の冒頭で配布しているExcelテンプレートは、この13項目をそのまま列にしたものです。
Excel/Word/スプレッドシートなどフォーマット別の特徴
単体テスト仕様書を作成する際、どのフォーマットで残すかも検討ポイントです。 一般的にはExcel形式かWord形式、あるいはGoogleスプレッドシートなどが使われます。 それぞれにメリット・デメリットがあるため、チームの状況に応じて選択します。
| フォーマット | メリット | デメリット |
|---|---|---|
| Excel | テストケースの一覧管理・フィルタが容易。計算式やマクロも活用可能 | 同時編集に不向き。ファイル管理が煩雑になりやすい |
| Word | フォーマットが崩れにくく見やすい。PDF化などで社外共有もしやすい | ケースが増えると一覧化しづらい。表形式より記述量が多くなりがち |
| スプレッドシート | 複数人での同時編集や変更履歴の追跡が可能。クラウド上で共有容易 | Excelほど細かなレイアウト調整ができない。社外への持ち出しに制限がある場合も |
現場ではExcelまたはスプレッドシート形式が主流です。 多数のテストケースを扱う場合、行列で整理できフィルタや並べ替えで管理しやすい表計算形式が重宝されます。
実際、フィルタ機能で特定の観点のケースだけ表示したり、関数で進捗を自動集計するなど、Excel/スプレッドシートはテスト管理に便利な機能が豊富です。一方でWordは文章で手順を詳述するテスト計画書などには適していますが、ケース数が多い単体テスト仕様書にはあまり向きません。以上を踏まえて、チームで扱いやすいフォーマットを選定しましょう。
活用シーン別の例
単体テスト仕様書テンプレートはさまざまなシーンで活用できます。代表的なケースを挙げると以下のとおりです。
- 新規開発:新しく開発するシステム全機能について単体テスト観点を洗い出し、仕様書テンプレートに沿って網羅的にテストケースを作成します。プロジェクト開始時にテンプレートを導入し品質基準を統一しておくことで、チーム全員が共通の指標でテスト設計・実施できるようになります。
- 改修案件:既存システムの一部を改修する場合、影響範囲となる機能に絞って部分的な単体テスト仕様書を作成します。テンプレートの該当箇所だけを更新し、変更のあった機能や周辺機能のテストケースを追記します。これにより改修部分にフォーカスしつつ抜け漏れのないテストが可能です。
- 保守運用:リリース後の運用段階では、不具合修正や機能追加のたびにリグレッションテスト(回帰テスト)が発生します。あらかじめテンプレート化された単体テスト仕様書があれば、新旧バージョンで再利用・差分更新が容易です。過去の仕様書をコピーして必要箇所だけ修正すれば、都度一から作成する手間を省きつつ品質を担保できます。
このように単体テスト仕様書テンプレートは、プロジェクトのライフサイクル全般で継続的に活用することができます。一度作って終わりではなく、メンテナンスを繰り返しながら生きたドキュメントとして育てていく発想が大切です。
ケース数が多くなり作成工数が課題になってきた場合は、生成AIでテストケース作成を効率化する方法もあわせてご覧ください。テンプレートの項目が揃っていると、AIに渡す前提条件が明確になり精度が上がります。
なお、モックやスタブを使った単体テストの実装面についてはモックとスタブの違いと実装テクニックで詳しく解説しています。
テスト観点・テストケースの抜け漏れを防ぐテンプレート運用のコツ
ここでは、テンプレートを運用する中でテスト観点やテストケースの漏れを防ぐための工夫について紹介します。 せっかくテンプレートを用意しても、使いこなさなければ十分な効果は得られません。 以下のポイントを押さえて運用することで、網羅性の高い単体テストを実現しましょう。
テスト観点チェックリストで抜け漏れを潰す
テストケースを書き終えたあと、「書いたケースで足りているか」を確認する手段がないと抜け漏れに気づけません。経験の浅いメンバーほど、思いついた観点だけで終わってしまいがちです。
そこで有効なのが、観点をカテゴリ別に並べたチェックリストです。配布しているテンプレートの2枚目のシートに用意しています。

カテゴリは次の5つです。
| カテゴリ | 代表的な確認内容 |
|---|---|
| 入力値検証 | 正常値/境界値/空文字・Null/不正な形式・特殊文字 |
| 機能動作 | 正常系/異常系のエラー処理/例外処理 |
| 画面表示 | 画面遷移/エラーメッセージ表示/必須項目のバリデーション |
| データ処理 | 登録・更新/削除/検索・取得 |
| 権限・認証 | 権限チェック/ログイン状態の確認 |
ケースを書き終えたら、このリストを上から順に見て「該当するケースを作ったか」を確認します。空文字のケースを忘れていた、削除系の確認が抜けていた、といった漏れがこの段階で見つかります。
新人に仕様書を書かせる場合も、先にチェックリストを渡しておけば観点出しの指針になります。レビュー時の指摘も「なぜこの観点が必要か」から説明せずに済みます。
デシジョンテーブルの活用
複雑な条件分岐をもれなく整理するには、デシジョンテーブル(決定表)の活用が有効です。
条件と結果をマトリクス状に列挙した表を作ることで、あらゆる組み合わせパターンを網羅できます。 例えば、ある機能で「条件Aが3種類」「条件Bが7種類」ある場合、組み合わせは3×7=21通り考えられます。 デシジョンテーブルを作ればこれら21パターンを一つ一つ埋めていくだけなので、条件網羅に抜けがないか視覚的にチェック可能です。
複数のパラメータやフラグが絡むロジックのテスト設計時には、Excel等で簡易な決定表を作成して観点出しするとよいでしょう。条件ごとの期待動作を整理することで、ケース増大による混乱も防げます。

レビュー体制の構築
単体テスト仕様書を作成したら、レビュー体制をしっかり構築しましょう。
具体的には、開発者レビュー・QA(テスト担当)レビュー・第三者レビューの三段階チェックを推奨します。
まず開発者自身(または実装者以外の同じチームの開発メンバー)がロジックの抜けをチェックし、次に専門のQA担当者がテスト観点の妥当性を確認し、最後に要件定義者やリーダーなど第三者の視点で網羅性を見ます。
視点の異なる複数人でレビューすることで「盲点」を減らすことができ、テスト観点の漏れ防止に効果的です。特に要件をよく知るメンバーや外部のテスト専門家のレビューは、開発者だけでは気づきにくい欠陥を洗い出すのに役立ちます。
レビュー用チェックリスト
レビューの観点が人によって変わらないよう、チェックリストを用意しておきましょう。 レビュー時間が取れない現場ほど、観点を絞ったチェックリストが効きます。
本記事で解説した基本構成のうち、レビューで特に見るべき項目を観点に読み替えると次のようになります。テンプレートの列に沿って並べているので、新人レビュアーでも順番に確認していけます。
| テンプレートの項目 | レビューで見るポイント |
|---|---|
| テスト対象・観点 | その機能で確認すべき側面が列挙されているか。1ケースに複数の観点を詰め込んでいないか |
| 入力値 | 正常値だけで終わっていないか。境界値と異常値がそれぞれ入っているか |
| 期待結果 | 画面の文言やデータの状態など、見れば分かる事実で書かれているか |
| 合否基準 | 期待結果と別に書かれているか。書かれていないと判定が人によって割れる |
| 実施手順 | 前提条件と手順だけで、書いた本人以外が同じ状態を再現できるか |
| 結果・実施者・実施日 | 記入欄が空のまま提出されていないか |
| 要件との対応 | 紐づく要件IDが入っているか。要件変更時の影響追跡ができるか |
レビューで最も指摘が多いのは「期待結果」と「合否基準」の2列です。時間が限られている場合は、この2列だけに絞って見るだけでも効果があります。
なお、テスト設計技法の定義や用語の統一については、JSTQBが公開しているシラバス・用語集が参考になります。チーム内で用語の解釈がずれている場合は、共通の拠り所として使うとよいでしょう。
条件網羅の徹底
テストケース設計では、代表的な正常値・境界値・異常値を網羅的に含めることを常に意識します。
各入力パラメータについて「最小値/最大値」「Nullや空文字」「不正な形式」など、考え得る全パターンを洗い出しましょう。 特に境界値は不具合が潜みやすく、重点的に確認する価値があります。境界値の具体的な選び方は境界値分析の実践ガイドで解説しています。
また、テンプレートにあらかじめ「想定パターン一覧」の欄を設けておくと便利です。 これは各テスト対象機能に対して考慮すべき入力条件や環境条件の組み合わせをまとめておくものです。 項目ごとにチェックリストのような形でパターンを列挙しておけば、ケース作成時にその一覧を埋めていくだけで条件網羅を達成できます。
どこまで網羅できているかを客観的な数値で把握したい場合は、カバレッジ指標を併用する方法もあります。C0/C1/C2の違いと使い分けはカバレッジの基礎解説にまとめています。
ただしカバレッジはコードのどの範囲を実行したかを測る指標であり、テスト観点が十分かどうかまでは保証しません。数値が高くても観点が抜けていれば不具合は残ります。観点の網羅は前述のチェックリストで、コードの実行範囲はカバレッジで、と役割を分けて確認してください。
テンプレート運用時にはこのような仕掛けを取り入れ、漏れのないテスト設計を徹底しましょう。
新人・未経験者でも理解しやすい単体テスト仕様書の作成方法
最後に、新人や未経験者でも分かりやすい単体テスト仕様書にするための工夫を紹介します。 せっかく網羅的に書かれた仕様書でも、読み手が理解できなければ意味がありません。 難しい内容も直感的に伝わるような工夫を盛り込み、チーム全体で仕様書を活用できる状態を目指しましょう。
記入ルールを仕様書に同梱する
新人がつまずくのは「何を書けばいいか分からない」ところです。口頭で説明しても、次に書くときには忘れてしまいます。
対策として、項目ごとの説明・記載例・注意点をまとめたシートを仕様書と同じファイルに入れておく方法があります。配布しているテンプレートの3枚目のシート(冒頭で紹介した使い方ガイド)がこれにあたります。
「テスト手順は番号付きで誰でも実行できるよう詳細に」「期待結果は曖昧な表現を避け具体的に記載」といった注意点が項目ごとに書かれています。
ファイルを開けばルールが目に入るので、教える側の手間が減ります。別ドキュメントにまとめると誰も見ないため、同じファイルに入れておくのがポイントです。
図や表の活用
文章だけですべてを説明しようとせず、図や表を効果的に活用して視覚的に理解できる資料に仕上げましょう。 例えば画面遷移の流れを説明するならフローチャートや画面フロー図を添付したり、画面レイアウトのスクリーンショットに注釈を加えて載せたりすると、新人でもシステムの動きを直感的に把握できます。

実際、ある企業の公開している単体テスト仕様書サンプルでは、画面レイアウト図や画面遷移図とセットでテスト仕様書を示し、文脈を理解しやすく工夫しています。 また、入力と出力の関係をまとめる入出力表や、条件と結果の対応を示す真理値表などを盛り込むのも効果的です。 文字情報だけでは見落としがちな関連性も、図表を用いることで新人エンジニアにも伝わりやすくなります。
用語の統一と注釈
仕様書内で使用する用語や略語は統一し、必要に応じて注釈を添えましょう。 たとえば「UT」という略語を使うなら、初出時に「UT=Unit Test(単体テスト)」のように明記しておきます。
プロジェクト特有の用語や社内ルールの名前なども同様です。用語がバラバラだったり省略しすぎたりすると新人は混乱しますし、レビュー時に認識の齟齬が生じる原因になります。 観点名やテスト項目名は要件定義書・設計書で使われている名称と可能な限り合わせ、読む人が頭の中で対応付けしやすいように心がけます。 どうしても専門的な用語を使わざるを得ない場合は脚注や備考欄でひとこと補足説明を加えると親切です。 新人メンバーが後追いで仕様書を読む際も、用語が統一され注釈があれば理解の助けになります。
よくある失敗例と改善策
過去の経験から、単体テスト仕様書作成で新人が陥りがちな失敗例と、その改善策をいくつか挙げます。 テンプレート運用の中で以下のような問題が見つかったら、早めに対策を講じましょう。
| 失敗例 | 改善策・対処法 |
|---|---|
| 期待結果の記載が曖昧 | 具体的な表示文言やDB変更結果まで明確に記載する。 |
| 手順の記述漏れがある | 実行環境の準備や操作順序も含め、テンプレートで項目を固定化して抜けを防ぐ。 |
| テストケースIDが重複している | 自動採番ツールの利用や一意な命名ルールの制定でID重複を防止する。 |
例えば「期待結果が曖昧」な場合、前述のとおり具体的なメッセージ内容や画面・DBの変化をきちんと書くように指導します。
また「手順の記述漏れ」はテンプレートの項目設計で予防できます。 あらかじめ環境設定や前提条件の欄を用意し、記入を必須にすれば抜け落ちにくくなります。
テストケースIDの重複は、ExcelならVBAマクロで自動採番する方法もありますし、単純な方法では「モジュール番号+連番」のようなネーミングルールをチームで決めておくのも有効です。
これらの工夫によって、ヒューマンエラーを減らし品質の高い仕様書作成につなげましょう。 新人エンジニアは最初は失敗するものですが、都度改善策を講じてテンプレート自体もアップデートしていけば、チーム全体のレベルアップにも寄与します。
このテンプレートは結合テスト・システムテストでも使えるか
「単体テスト用に作ったテンプレートを、結合テストやシステムテストにも流用できないか」という質問をよくいただきます。
結論から言うと、列の構成はほとんど変わりません。変わるのは粒度です。
列の違いは2つだけ
| 項目 | 単体テスト | 結合・システムテスト |
|---|---|---|
| テストID/機能名/観点/前提条件 | ○ | ○ |
| テスト手順/テストデータ/期待結果 | ○ | ○(手順は長くなる) |
| 実施日/実施者/実測結果/合否判定/備考 | ○ | ○ |
| 優先度 | 使わないこともある | ほぼ必須 |
| テスト環境(OS・ブラウザ・端末) | あると望ましい | 必須 |
| 業務シナリオ・前提業務 | 不要 | 必要 |
複数の環境で動作を保証する必要があるシステムテストでは、テスト環境の列がないと「どの環境で確認したのか」が残りません。また複数機能をまたぐため、どの業務の流れを検証しているかを示す列も要ります。
本質的な違いは粒度
| 単体テスト | システムテスト | |
|---|---|---|
| 対象 | 1つの機能・画面・関数 | 業務の流れ全体 |
| 1ケースの長さ | 手順3〜5ステップ程度 | 複数画面をまたぎ10ステップ以上になることも |
| ケース数 | 数百件になることも多い | 相対的に少ない |
列を足すだけで流用できますが、ケースの切り方そのものを変える必要があります。単体テストの感覚で業務シナリオを分解すると、ケースが細かくなりすぎて実行が回らなくなります。
テストレベルごとの考え方の違いはシステムテストと結合テストの違いでも解説しています。
FAQ
Q1. 単体テスト仕様書は小規模プロジェクトでも必ず必要? A. 推奨します。たとえ小規模案件であっても「最低限の単体テスト仕様書」は用意すべきです。 テストした証跡が残らないと再テスト時に抜け漏れが生じたり、品質保証の裏付けが取れなくなったりするためです。簡易なもので構いませんので、必ずテスト観点と結果を記録に残しましょう。
Q2. 単体テスト仕様書はExcelとWordのどちらで作るケースが多いですか? A. 現場では Excelもしくはスプレッドシート形式 が主流です。 単体テストではテストケースを一覧表で管理するニーズが高く、フィルタ機能や自動集計に長けた表計算ソフトが好まれます。Word形式で書かれた仕様書は少数派で、使われるとしてもテスト計画書やシナリオテストレベルが中心です。
Q3. テスト自動化(スクリプト駆動)の環境でも仕様書は書く必要がありますか? A. はい、自動化環境でも仕様書は重要です。 自動テストをコードで実装する場合でも、その元となるテストケースの仕様書が存在することでテストコードのレビューやメンテナンスが容易になります。 自動化ツール上で管理するにしても、仕様書の形でテスト意図を言語化しておくことは、バグ発見時の原因分析や新メンバーへの引き継ぎの面で大いに役立ちます。また、自動化したテストが網羅すべきケースを洗い出す段階でも、まず仕様書ベースで観点出しを行ってからスクリプト化する方が漏れがなく安心です。
まとめ
単体テスト仕様書は、単体テスト工程における品質保証の土台となるドキュメントです。 仕様書を標準化・テンプレート化すれば、新人教育やレビューの効率化につながり、結果的にテストの品質も安定します。 ぜひ最初にテンプレートを作成し、自社プロジェクトに合った形で運用を始めてみてください。テンプレート作成当初は試行錯誤もあるかもしれませんが、継続的に改善を加えることで「使える仕様書」が蓄積されていきます。
なお、プロジェクト全体で品質をどこまで担保するかを検討する際は、テスト工程ごとの位置づけを整理しておくと判断しやすくなります。開発プロセス全般の統計や動向は、IPAが公開しているソフトウェア開発関連調査が参考になります。
仕様書は作れても、テストを回す工数が足りないときは
テンプレートが整っても、実際にテストケースを書き起こし、実施して、結果をまとめるところには相応の工数がかかります。次のような状況であれば、テスト工程だけを外部に切り出す選択肢もあります。
- 仕様書を書く人はいるが、テストを実施する人手が足りない
- リリース直前でテスト期間が圧縮されている
- 開発メンバーが自分でテストしていて、第三者の目が入っていない
みんなシステムズのテスト代行は、受託開発の現場でシステムを作ってきた現役エンジニアが担当します。10万円から、テストだけを切り出してお任せいただけます。
対応できるテストの範囲はテストの種類一覧を、価格を抑えられる理由は低価格で提供できる理由をご覧ください。
テスト体制の見直しを検討されている方は、お気軽にご相談ください。
次に読むならこの記事
テストの手戻りを減らしたい方へ
テスト仕様書のExcelテンプレートを無料で配布しています。自社で整備する場合も、外部に任せる場合も、まずは型を持つところから。



