テスト仕様書とは?書き方・項目とテンプレートの使い方

テスト仕様書とは何か、書き方とテンプレートの使い方を紹介する記事のアイキャッチ。机の上の表の書類とノートPC

当サイトの記事は編集部が国土交通省・IPA・デジタル庁などの公的機関の情報、規格や業界団体の公開情報を調べて独自に執筆しています。記事内にIT・Webエンジニアの転職サービスへの案内(広告)を含みます。

『テスト仕様書を作っておいて』と言われて、テンプレートを開いたものの、どの欄に何を書けばいいのか迷っていませんか。見よう見まねで書いて、レビューで直されてばかりという方も多いはずです。

結論から言うと、テスト仕様書は1行を「前提」「手順」「期待結果」「判定」の4列で書くと、誰がやっても同じテストができる形になります。

この記事を読めば、テスト仕様書とは何か、書き方の手順、テンプレートの作り方と使い方が分かります。

目次

テスト仕様書とは?何のために書くのか

先に結論

テスト仕様書とは、システムが決めたとおりに動くかを確かめるために、「何を、どんな状態で、どう操作し、どうなれば合格か」を書いた書類です。テストする人が変わっても、同じ確かめ方ができるようにするのが目的です。

国際的な用語の規格 ISO/IEC/IEEE 24765:2010 では、specification の例として、要求仕様や設計仕様と並んで test specification が挙がっています。テストのやり方も、仕様として決めて書いておくもの、というわけです。

テスト仕様書が無いと、テストする人の頭の中にしか確かめ方が残りません。後から『このテスト、何を確かめたんだっけ?』となった時に、誰も答えられなくなってしまうんです。

テスト仕様書を書く3つの理由

理由テスト仕様書が無いと困ること
同じ確かめ方を繰り返せる直した後のテストで、前と違う確かめ方になる
確かめ漏れに気づける何を確かめていないかが分からない
合格の基準を関係者で合わせられる合格かどうかで意見が分かれる

特に3つ目は大事です。テストの前に、発注側や設計した人と「どうなれば合格か」を合わせておけば、終わった後のもめごとが減ります。

テストの段階ごとに仕様書がある

テスト仕様書は、テストの段階ごとに作るのが一般的です。デジタル庁のデジタル・ガバメント推進標準ガイドライン(DS-100)でも、開発する事業者に「単体テスト、結合テスト及び総合テスト」のテスト計画書の案を求めています。

段階確かめること主に元にする書類詳しい記事
単体テスト部品1つが設計どおりに動くか詳細設計書単体テスト仕様書の書き方
結合テスト部品どうしの受け渡し基本設計書結合テスト・総合テスト仕様書の書き方
総合テストシステム全体が要件どおりに動くか要件定義書同上
受入テスト業務で使えるか要件定義書、業務の手順同上

テスト計画書・手順書・報告書との違い

ここでの結論

テスト計画書は「どう進めるか」、テスト仕様書は「何をどう確かめるか」、テスト手順書は「どの順に操作するか」、テスト報告書は「どうだったか」を書きます。小さな開発では、仕様書と手順書を1つにまとめることもよくあります。

『テスト仕様書とテスト手順書って何が違うの?』と迷う方は多いですよね。テストまわりの書類を並べてみます。

書類書くこと作る時期
テスト計画書方針、体制、環境、日程、合否の判定基準テストの準備のはじめ
テスト仕様書確かめる項目、前提、期待結果設計が固まった後
テスト手順書操作の順番、使うデータテストの前
テスト報告書結果、見つかった不具合、残った課題テストの後

DS-100では、テスト計画書にテスト方針、テスト体制、テスト環境、作業内容、作業スケジュール、テストシナリオ作成基準、合否判定基準などを書くこととされています。テスト仕様書は、この計画に沿って中身を書く書類と考えると分かりやすいです。

テスト文書の国際規格

テストの書類については、国際規格 ISO/IEC/IEEE 29119 シリーズの Part 3「Test documentation」(2021年版)があります。以前の IEEE 829-2008 は、この29119シリーズに置き換えられています。現場の形を決める時の参考の一つになります。

テスト仕様書の1行は「前提・手順・期待結果・判定」の4列で書く

ここが大事

テスト仕様書の1行は、「前提」「手順」「期待結果」「判定」の4列がそろっていれば成り立ちます。どれか1つでも空いていると、テストする人によって結果が変わってしまいます。

テスト仕様書の書き方で迷った時は、1行を4つの列に分けて考えてみてください。編集部では、次の記入表を基本の形にしています。

列書くこと書き方のコツ
前提テストを始める前の状態ログインしている人、データの状態、画面の位置
手順何をどの順に操作・入力するか1行に1つの操作。入れる値も書く
期待結果どうなれば合格か画面の表示、返る値、データの状態を具体的に
判定合格・不合格・保留実施日と実施者もあわせて書く
テスト仕様書の1行を前提・手順・期待結果・判定の4列で書く記入表の図解

テスト仕様書の記入例

編集部が作った架空の例で、会員の「パスワードを変える」機能のテストを書いてみますね。

番号前提手順期待結果判定
PW-01会員としてログイン済み今のパスワードと、決まりに合う新しいパスワードを入れて変更する「変更しました」と出て、新しいパスワードでログインできるテスト後に記入
PW-02会員としてログイン済み今のパスワードを間違えて入れて変更する「今のパスワードが違います」と出て、変更されないテスト後に記入
PW-03会員としてログイン済み新しいパスワードを空欄のまま変更する入力欄の横に知らせが出て、変更されないテスト後に記入

こうして書くと、テストをする人は表を上から順になぞるだけで済みます。初めてその機能を触る人でも、同じ確かめ方ができるんです。

期待結果の書き方で差がつく

4列のうち、一番あいまいになりやすいのが期待結果です。例えば、こんな書き方をしていませんか。

「正常に変更されること」

これでは、何を見れば「正常」なのかが人によって変わります。画面に何が出るか、データがどう変わるかまで書くと、判定に迷わなくなります。

前提の書き忘れにも気をつける

期待結果と同じくらい抜けやすいのが、前提の列です。書いた本人には当たり前の状態でも、ほかの人には分かりません。

例えば、テストの途中でこんなやり取りが起きがちです。

「この項目、どの会員でログインして試せばいいですか?」
「あ、ポイントを持っている会員じゃないと、この画面は出ないんです」

こうした情報は、前提の列に書いておけば聞き返されずに済みます。権限、データの状態、日付や時間の条件などは、特に書き忘れやすいので見直してみてください。

1行を書き終えたら確かめること
  • 前提に、テストを始める前の状態が書いてある
  • 手順が1つずつの操作に分かれている
  • 入れる値が具体的に書いてある
  • 期待結果が、見れば合否の決まる言葉になっている
  • 判定と実施日・実施者を書く欄がある

テスト仕様書の書き方:項目の作り方と技法

ここでの結論

テスト仕様書は、元になる書類を読んで「確かめる所」を拾い出し、それを4列の行に直していく流れで書きます。項目の拾い方には、仕様から作る方法とプログラムの中身から作る方法があります。

いきなり1行目から書き始めるより、先に「何を確かめるか」を拾い出しておくと、抜けが減ります。

テスト仕様書を元の書類から作り始めてテスト結果を記入するまでの流れを示した図解
テスト仕様書を書く手順
  1. 元になる書類(設計書や要件定義書)を読み、確かめる機能を一覧にする
  2. 機能ごとに、確かめたい条件を拾い出す
  3. 条件ごとに、前提・手順・期待結果の行を作る
  4. 設計した人や発注側とレビューして、合格の基準を合わせる
  5. テストを行い、判定と実施日・実施者を記入する

JSTQBのシラバス(Version 2023V4.0.J02)では、テストの元になる情報を分析して確かめられる条件を見つけることをテスト分析、その条件をテストケースに落とし込むことをテスト設計と呼んでいます。上の手順の2がテスト分析、3がテスト設計に当たります。

書き始める前にそろえておくもの

テスト仕様書を書く前に、元になる書類の版を確かめておきましょう。古い版の設計書から項目を作ると、テストの日に『画面が違う』と気づくことになりかねません。

あわせて、テスト環境やテスト用のデータをどう用意するかも、計画書や先輩に確かめておくと安心です。前提の列が書きやすくなります。

機能ごとの確かめどころは、機能仕様書に書いた「入力・処理・出力・例外」がそのまま手がかりになります。機能仕様書の書き方は機能仕様書とは?書く項目と書き方で紹介しています。

ブラックボックステストの考え方

仕様から項目を作る方法は、プログラムの中身を見ない「ブラックボックステスト」と呼ばれます。入力と出力だけに注目して、決めたとおりの結果になるかを確かめます。

よく使われるのは、同じ結果になる値のグループから代表を選ぶ考え方と、条件が切り替わる値の前後を確かめる考え方です。例えば「一定の数以上で割引」なら、ちょうどその数と、1つ手前の数を両方試します。

ホワイトボックステストの仕様書の書き方

ホワイトボックステストは、プログラムの中身を見て、分かれ道や処理の道を通るように項目を作る方法です。主に単体テストで使われます。

ホワイトボックステストの仕様書を書く時は、前提と手順に加えて「どの分かれ道を通すための項目か」を書く列を足しておきましょう。後から見た時に、通していない道があればすぐ分かります。

列書くこと
通す道どの条件の分かれ道の、どちら側を通すか
前提・入力その道を通るための状態と値
期待結果その道を通った時に返る値や状態

シナリオテストの仕様書の書き方

シナリオテストは、使う人の一連の操作をひとつの物語のように並べて確かめる方法です。例えば「会員登録してから、商品を選び、注文して、注文の履歴を見る」までを1本で確かめます。

シナリオテストの仕様書では、前の行の結果が次の行の前提になるように並べます。どこで流れが止まったかが分かるように、行ごとに期待結果を書いておきましょう。

1行ずつのテスト
  • 機能を1つずつ細かく確かめられる
  • 単体テストや結合テストに向く
  • 不具合の場所を見つけやすい
シナリオテスト
  • 業務の流れ全体を確かめられる
  • 総合テストや受入テストに向く
  • 機能のつなぎで起きる不具合に気づける

テスト仕様書のテンプレートの作り方と使い方

ここでの結論

テスト仕様書のテンプレートは、表紙、変更履歴、テスト項目の一覧表の3つで作るのが基本です。Excelで作るなら、機能ごとにシートを分け、1行目に4列と番号の見出しを固定しておくと使いやすくなります。

テスト仕様書のテンプレートは、会社やチームで決まっていることも多いです。新しく作る時は、次の形を土台にしてみてください。

シート・ページ書くこと
表紙システム名、テストの段階、版、作成者、レビューした人
変更履歴版、変更した日、変更した内容
テスト項目番号、確かめる機能、前提、手順、期待結果、判定、実施日、実施者、備考
集計項目の数、合格・不合格・保留の数

テスト項目のシートには、不具合が見つかった時に管理番号を書く「備考」の列があると便利です。直した後にもう一度テストした結果も、同じ行に書けるようにしておきましょう。

Excelでテンプレートを作る時のひと工夫

テスト仕様書のテンプレートをExcelで作るなら、判定の列は選択式にしておくと、表記がばらつきません。「合格」「不合格」「保留」の3つから選ぶ形にしておけば、集計のシートも作りやすくなります。

手順の列は、セルの中で改行して1行に1つの操作を書くと読みやすくなります。1つのセルに長い文章を詰め込むより、操作の数だけ行を分けるほうが見やすい場合もあるので、チームで書き方をそろえておきましょう。

テンプレートを使う時に気をつけたいこと

『テンプレートの欄を全部埋めないといけない?』と思う方もいますよね。結論から言うと、使わない欄は消してしまってかまいません。

よくある失敗

テンプレートの見本の行をそのまま残して書き換え忘れ、別の機能のテスト項目が混ざってしまうことがあります。テンプレートを使う時は、見本の行を消してから書き始めるのがおすすめです。

設計が変わった時は、テスト仕様書も一緒に直します。どの設計の変更に合わせて直したかを変更履歴に残すと、レビューの時に追いやすくなります。見直しの観点は設計書・仕様書のレビュー観点も参考にしてみてください。

テスト仕様書でよくある相談

ここでの結論

知恵袋では「段階ごとのテスト仕様書の書き方」「テスト仕様書とテスト手順書の違い」「生成AIにテスト仕様書を作ってもらえるか」「いつ作るか」という相談がよく読まれています。

知恵袋で多く読まれている相談を、内容を要約して答えてみますね。

相談1:単体・結合・システムテストの仕様書の書き方が分からない

『テストの段階ごとに、どう書けばいいか分からない。くわしく載っている所を知りたい』という相談です。とても多くの人に読まれています。

結論から言うと、どの段階でも4列(前提・手順・期待結果・判定)で書く点は同じです。違うのは、確かめる範囲と元にする書類です。

まずは単体テストで4列の書き方に慣れてから、結合テスト、総合テストへと広げていくと、無理なく身につきますよ。

相談2:テスト仕様書とテスト手順書の違いは?

『勉強の演習で、テスト仕様書とテスト手順書の両方が出てきて違いが分からない』という相談です。

テスト仕様書は「何を確かめ、どうなれば合格か」を、テスト手順書は「どの順にどう操作するか」を書く、と分けるのが一般的です。小さな開発では、仕様書の手順の列に操作を書き込んで、1つにまとめることもよくあります。

相談3:生成AIに、仕様を教えずにテスト仕様書を作ってもらえる?

『仕様は教えられないけれど、生成AIにテスト仕様書を作ってもらえる?』という相談です。

結論から言うと、仕様を渡さずに作らせたテスト仕様書は、一般的な項目の例にとどまります。期待結果は仕様から決まるので、仕様が無いと「どうなれば合格か」を書けないんです。

社外に出せない情報を扱う時は、会社の決まりを確かめたうえで、生成AIには項目の型づくりだけを手伝ってもらうのが安心です。下書きのさせ方と確かめる所は仕様書をAIで作る|生成AIに下書きさせる手順で紹介しています。

相談4:テスト仕様書は、プログラムを作る前と後のどちらで作る?

『テストケースは、プログラムを作る前に用意するもの? 作った後でいいの?』という相談です。

結論から言うと、設計が固まった時点で作り始め、プログラムを作る前か並行して用意しておくのがおすすめです。先に期待結果が決まっていれば、作る人も「どうなれば合格か」を意識しながら作れます。

作った後にテスト仕様書を書くと、できあがった動きをそのまま期待結果に書いてしまいがちです。それでは、設計とのずれに気づけなくなってしまうんです。

テストの書類を書く経験は、次の一歩にもなる

テスト仕様書を書くと、設計書や要件定義書を「確かめる側」から読む力がつきます。この力は、要件定義や設計などの上流工程でも役に立ちます。

今の職場で設計の担当に少しずつ近づくのも、資格を取ってから動くのも、どちらもよい道です。今の担当工程から一歩進みたい方は、求人の仕事内容を比べてみると、どんな経験が評価されるかが見えてきます。

IT・Webエンジニアの転職(PR)

仕様書を書く経験を活かせる職場を探すなら、求人も比べてみる

要件定義や設計を任されるか、発注側か開発側か、扱うシステムや働き方は会社によって大きく違います。担当したい工程や条件から、IT・Webエンジニアの求人を比べてみてください。

無料ITエンジニアの求人を探す

求人の条件・待遇は各求人票と応募先の案内でご確認ください。

上流工程に進む道筋は上流工程とは?要件定義・設計ができるエンジニアになる道筋で紹介しています。

よくある質問

テスト仕様書はコードを書く前に作るものですか?

設計が固まった時点で作り始めるのが一般的です。コードを書く前に用意しておくと、作る人も合格の基準を意識しながら作れます。現場の決まりがある時はそちらに合わせてください。

テスト仕様書とテストケースは同じですか?

テストケースは、確かめる1つ1つの項目のことを指すのが一般的です。テスト仕様書は、そのテストケースを一覧にまとめた書類と考えると分かりやすいです。

テスト仕様書のテンプレートはどこで手に入りますか?

まずは会社や現場で決まっている形があるかを確かめてみてください。無い時は、番号・前提・手順・期待結果・判定・実施日・実施者の列を並べた表から始めると作りやすいです。

テスト仕様書の項目はどのくらい細かく書けばいいですか?

初めてその機能を触る人が、表をなぞるだけで同じテストができるくらいが目安です。前提と期待結果がはっきりしていれば、手順は短くてもかまいません。

シナリオテストの仕様書は普通のテスト仕様書と何が違いますか?

シナリオテストは、使う人の一連の操作を流れで確かめます。前の行の結果が次の行の前提になるように並べるのが違いです。

まとめ

この記事の要点
  • テスト仕様書は、何をどんな状態で操作し、どうなれば合格かを書く書類
  • 計画書は進め方、仕様書は確かめ方、手順書は操作の順、報告書は結果を書く
  • 1行は前提・手順・期待結果・判定の4列で書く
  • 項目の拾い方には、仕様から作る方法と中身から作る方法がある
  • テンプレートは表紙・変更履歴・項目一覧で作り、使わない欄は消す
仕様書ドットコム

仕様書ドットコム 編集部

仕様書の意味・種類・書き方から、システム開発の要件定義書・設計書・テスト仕様書、公共工事の標準仕様書・共通仕様書、住宅や発注の仕様書、仕様書を書く仕事のキャリアまでを、初めて仕様書に向き合う人が自分で判断できるように整理している情報サイトです。 公式サイト

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次