最近テスト計画を立てる機会が増えたので、そのときに考えたことや、思ったことを備忘録的にまとめて行こうと思います。
今回は、テスト計画を立てる目的について少し書こうと思います。
なぜ計画を立てるのか
そもそも、なぜ計画を立てるのか、本質的な意味について改めて考えてみました。
どんな仕事でも「計画を立てる」ことは大切だと思います。
仕事には必ず不確実性や時間的制約が存在するので、計画通り進むことは稀です。
例えば進捗が遅れた場合は、
- 全体的にどのぐらいの影響をあたえるのか
- どのぐらい作業が押しているのか
- 間に合わないなら、どのタイミングでスケジュールを再調整するのか
など先のことが予測できていれば、先手をうって対応がとれます。
先のことを予測するためには、事前に全体のシミュレーションをすることが重要です。
事前に「なぜそれをするのか?(目的)」を見極めて、目的を達成するためのゴールを決める。
その上で全体的な流れをイメージをして、ゴールを達成するまでのシュミレーションを頭のなかで考えなければ、全体的な計画は立てれません。
頭の中でゴールまでの工程を想像することで、物事の順序や、予め整えておくべきものが明らかになると思います。
計画を立てずに本番に望むと「なぜ最初に気づかなかった」ということも起こりがちなのですが、事前にシュミレーションをすることで気づくこともできるでしょう。
それでも気付かず上手くいかなくなった場合は、目的を達成するために戦略や方針を微調整することも必要になるでしょう。
そのときに、本来の計画が明確になっていないと調整することが難しくなります。
少しまとめると計画を立てるということは、
- 先々起こるべきことを事前に明確にする
- 可能な限りシュミュレーションをして起こりうる事態に備える
- 不測の事態が起きた場合に、再調整するために必要な情報を残しておく
などのことから、立てた計画通りに行動することに意味があるわけではなく、計画を立てる行為自体に意味があるという考えに行き着きました。
テスト計画を立てる目的
計画を立てる本質的な意味・目的について、なんとなく再認識できたので
次にテスト計画を立てる目的について少し考えてみました。
SQuBOK Guideでは、テスト計画を立てる目的がこのように書かれています。
プロジェクトにおけるテスト活動の指針やプロセス、ゴールとそれに
至る手段を明確にし、実現可能な実施計画を作成し、テスト管理活動全般への情報を提供する。
うまく要約されているので、なんとなく分かった気でいましたが、ちゃんと理解しているか自信がなかったので、具体的にテスト計画を立てる上で決めることを書き出してみました。
テスト計画で決めること
- テストのコンテキスト
- テストの目的や方針、テストアイテム、スコープ、制約や前提条件を定
義する
- テストの目的や方針、テストアイテム、スコープ、制約や前提条件を定
- テストのコミュニケーション
- テストを実施する上でのコミュニケーションルールを定義する
- コミュニケーションルール:Bugや質問などの連絡方法、会議体
- テストを実施する上でのコミュニケーションルールを定義する
- テストのリスク
- プロジェクトリスク、プロダクトリスクと対策を定義する
- プロジェクトリスク=PJのマネジメントに関するリスク(リソース不足等)
- プロダクトリスク=テスト対象に関するリスク(機能が動かない)
- プロジェクトリスク、プロダクトリスクと対策を定義する
- テスト戦略
- テストのプロセスや成果物、使用するテスト設計技法、開始・完了基準などを定義する
- テストの活動と見積もり
- タスクの洗い出しと工数の見積もりを定義する
- 人材の配置
- タスクに対して、人材の割り当てを定義する
- スケジュール
- スケジュールやマイルストーンを定義する
まだ大枠ですが書き出しみて分かったことですが、テスト計画を立てる目的は
- テストの戦略・段取り・成果物について事前に明確にする
- 可能な限りシュミュレーションをしてテストのリスクに備える
- 不測の事態が起きた場合に、再調整するために必要な情報を残しておく
- プロジェクトに関わる人・組織に必要な情報を伝えられる状態にする
主にこの4つの目的があるんだと思いました。
まだまだ思慮不足な部分があると思いますが、すこしづつ更新して行けたらと思います。
次回
テスト計画を立てる上で決めることについて、もう少し詳細に書いていこうと思います。