はじめまして、エンタープライズ・システム三課のgund-bitです。
私が今まで参加したプロジェクトでは、テスト仕様書をもとにテストの実施を行っていましたが、自分でテスト仕様書を作成したことはありませんでした。
プロジェクトが変わり、自分でテスト仕様書を作成しテストを行うようになったため、改めてテスト仕様書はどのようなものなのか、良いテスト仕様書を作成するためにはどのようなことに注意したらよいかなどをまとめたいと思います。
テスト仕様書とは
テスト仕様書とは、システム開発においてテスト対象がどの箇所であるかを明確にし、テストの方向性や、テストケースを具体化し、テスト設計の仕様となるもので、
「テスト設計」、「テストケース」、「テスト手順」をドキュメントにしたものを指します。
プロジェクトによっては、テスト方法やテスト内容などを記したドキュメントをテスト設計書と呼び、テスト仕様書と同じドキュメントを意味することがあります。
テスト仕様書の作成方法
テスト設計書
テスト設計書は、結合テストや総合テストの工程で、どのような機能をテストするのかを記載したものを指します。
テスト仕様書を作成する際には、テストすべき全ての機能を記すために、クライアントの要望をまとめた要件定義書、設計書を読み込みます。
その後、実装した関数や変数の呼び出しをすべて洗い出し、修正内容が他機能に影響していないことをテストするために影響範囲分析を行います。
要件定義書、設計書、影響範囲分析結果からテストすべき機能、テスト観点の洗い出しを行い、洗い出した機能や観点を「大分類」「中分類」「小分類」にカテゴライズします。
機能の洗い出しや分類分けを行うことで、テスト観点の漏れや機能の実装漏れを防ぐことができます。
とても大事な影響範囲分析
私が参加しているプロジェクトでも、テスト設計書を作成する際は、テスト機能の漏れ、既存機能への影響がないように影響範囲分析を重要視しています。行った実装が意図していない画面や機能に影響してしまうことがあるため、実装を行った際には必ず影響範囲分析を行っています。
影響範囲分析はテスト機能の漏れを防ぐ以外にも、自分が実装していない機能等がどのように実装されていて、どのように動作しているかを知ることができるため、システムやプログラミング言語の勉強にもなるため重要な工程だと思います。
テストケース仕様書
テストケース仕様書とは、テスト設計の方針を踏まえて作成される前提条件・入力値・期待値などを記載したものを指します。
テストケース仕様書は、テスト設計書をもとに記載されている機能、観点を網羅するように作成を行い、テストを担当するメンバーがどのようにテストを行えばよいかを把握できるような記載や、誰が見ても解釈が変わらない記述をすることが大切です。
文章のみで期待値が伝わりにくい場合や、イラスト等を表示するテストの場合は、補足で画像を追加することで、誤認や期待値の間違いを防ぐことができます。
最近、私が参加しているプロジェクトに新メンバーが参加しました。作成したテストケースをもとにテスト実施をしてもらったのですが、テスト手順を省略してしまっていることに気がつきました。
私が参加しているプロジェクトでは、実装、テスト仕様書の作成、テストの実施を担当者一人で行うことがほとんどでした。テストを実施する際には、テストケース仕様書を見なくても手順を把握している状態で行っていたため、手順を知らないメンバーからするとわかりにくいテストケースを書いてしまっていたかもしれません。今後はより一層、誰が見ても理解できるテストケース仕様書の作成を心掛けようと思います。
テスト手順書
テストケースを実施する際の手順を詳細に説明するものを指します。
テスト手順書には、テストの目的やテスト手順の変更条件等を記載し、複数機能のテストを行う場合には、テストケース別に実施手順を説明する必要があります。
【まとめ】
要求定義書や設計書を十分理解したうえでテスト仕様書を作成しよう
テスト仕様書は、機能が正しく作動するのかどうかテストするために作成するもので、テスト機能や観点に漏れがあると正しい結果が得られないため、要求定義書や設計書を十分理解したうえで作成する必要があります。
そして作成したテスト仕様書に問題がないかレビューしてもらうことも重要です。自分では気づかない機能や観点がある事もあるため、クライアントの要望やシステムを理解している人にレビューを依頼し、内容のブラッシュアップを図ります。
開発を行う際に必ず必要になるものがテスト実施です。テスト仕様書を作成することで、質の高いテストを実施することができます。
私自身、最近は工数をかけずに良いテスト仕様書を書けるようになったと思っていましたが、改めてテスト仕様書の書き方や注意点をまとめてみると、まだまだ良いテスト仕様書とは言えないと感じました。良いテスト仕様書が書けたと言えるように研鑽を積む所存です。
\システム開発なら、株式会社シー・エス・エスへ/
この記事を書いた人
ニックネーム:gund-bit
【経歴】
入社4年目です。WebアプリケーションやWindowsFormsでのアプリケーションの開発を経験し、Javaでのアプリケーションの開発を行っています。
【一言】
最近体力が落ちてきたな、と感じることが多いです、、、