テスト計画の基礎

テスト計画の全体像と、計画の重要性

テストは、大きく分けて以下のプロセスで構成されます。

  • テスト計画プロセス:テスト計画の策定
  • テスト設計プロセス:テストの設計
  • テスト実装プロセス:テストケース、テストデータ、テスト環境などの準備
  • テスト実行プロセス:テストケースの実行(OK/NGの判定)

※ここでは管理系、支援系のプロセスは省略しています。

本レッスンは、テストプロセスの先頭に位置する「テスト計画」にフォーカスを当てています。

テスト計画が、成功/失敗のカギを握る

テスト計画とは、テストの設計、実装、実施、管理といった、テストのすべての指針を定めるものです。

そのテストが成功するか、それとも失敗してしまうか、多くはテスト計画で決まると言って過言ではありません。

テスト計画が適確に策定されれば、テストプロジェクトは円滑に遂行される可能性が高まります。

逆に、テスト計画が不適切だったり、テスト計画が策定されてなかったりしたら、以下のようなトラブルが生じ、時には大問題に発展してしまうこともあります。

・考慮や作業の漏れ抜けでテストの設計と実行の質が低下し、致命的なバグを見逃す
・突発事項が頻発して円滑にテストが進められない

テスト計画に記載する内容

テスト計画書に記載するものは、大きく分けて3つあります。
詳しくは別のレッスンで説明しますので、ここでは全体像を掴むようにしてください。

1.要求の整理・分析

・テスト対象・範囲は何か
・テストの目的・目標、重点項目は何か
・テスト対象の開発状況はどうか
・どんな課題やリスクがあるか

2.要求の実現方法

・テストはどんな組み立てで行うか
・ツールや環境はどんなものが必要か
・テストプロセスで生成する成果物は何か
・各種基準や目標の詳細
・スケジュール
・体制・役割分担・作業場所

3.各種管理の計画

・課題管理、リスク管理
・不具合管理
・文書やデータの管理
・進捗管理・コミュニケーション
・テストの開始条件、テストの終了条件などの、基準や目標
(他もあるがここでは割愛)

要求を正しく理解し、状況に適ったテストを計画する

テストを行うにあたって、いきなりテスト設計に入っても、良質なテストを得るのは難しいものです。

テスト計画書に記載する大項目レベルを、以下に再掲します。

1.要求の整理・分析
2.要求の実現方法
3.各種管理の計画

上記にあるように、まず最初に行うべきは「1.要求の整理・分析」です。

テストについて誰から何が求められているか、何を実現したいのか、状況はどうか、課題やリスクはどんなものがあるか、これらを分析し、整理します。

その次に、課題やリスクを踏まえながら、どうやって要求を実現するか、「2.要求の実現方法」と「3.各種管理の計画」を検討するようにします。

正しく要求を理解し、その時の状況に適ったテストを行うことで、要求に沿った良質なテストが実施できるようになります。

逆に、要求と状況を十分に分析しないままにテストを進めてしまうと、後で以下のような問題が生じることになります。

・求められたテストを設計せず、実施漏れとなる
・必要とされないテストを実施してコストと時間を無駄にする
・課題やリスクに対処しないため、後々で壁にあたり、プロジェクトが難航する

いきなり思いつくまま無計画にテストを実行してはなりません。また、何が求められているのか理解しないまま、いきなりテストの設計に入ってもいけないのです。

計画を策定することは、プロジェクトそのものを設計すること

計画を策定することは、事務作業ではありません。

計画を策定することは、プロジェクトそのものを設計することです。

・出発地と目的地を定義する
・目的地にいたるまでの道のりを、プロジェクトをどう料理するかをデザインする
・デザインしたものを、計画書という形で表現する

目的地に至るまでには、さまざまな課題やリスクがあるはずです。それら課題やリスクをピックアップし、その対処法を計画に盛り込みます。

つまり、課題やリスクを見越して、問題を発生させないように、先手を打つということです。

逆に、後手に回るとどうでしょうか。
先々を見通さないまま、目の前の作業にのみに目が奪われた状態であると「問題が起きては火消しに追われる」の繰り返しになります。そのうちに問題が更に別の問題を呼び込んで、プロジェクトは混乱し、炎上し、泥沼化していきます。

品質管理の基本的な考え方は、問題が発生しないように事前に手を打つ「予防」です。計画を策定することは、このポリシーを含んでいるのです。

計画は、使うためのもの

計画は、一度作成したらそれで役目を終えるわけではありません。

計画は、使うためにあります。

・プロジェクトの運営方法を、関係者間で共有するため
・プロジェクトの目的地を見失わないようにするため
・現在位置を知り、次の作業に備えるため

計画は、ポケットに入れた地図のようなものです。
現在位置を知り、次に何の作業を行う必要があるのか、ポケットに入れた地図を要所要所で引っ張り出し、何回も見直します。

テスト計画にも、同じことが言えるのです。