1.テスト計画とは
テスト計画とは、実施するテストの目的、対象、手法、スケジュール、役割分担、必要なリソースなどを定義することです。
実際に実施する内容に加えて、対象外とする機能とその理由、各テストレベルにおける制約、予想されるリスク、プロジェクトやテスト計画の進行状況に応じた調整も考慮し、テスト計画書を作成します。
2.テスト計画の目的
テスト計画の目的は、プロジェクトにおいてテストの実施方法やアプローチを明確にし、テスト活動の効率性と品質を向上させることです。
プロジェクト全体の品質目標やリソースの最適化、テストに関する情報を共有するコミュニケーションツールなども含めて作成します。納期から逆算したスケジュールを書くことだけがテスト計画ではありません。
テスト計画書として実現内容を示すことで、誤認識防止やテスト重複がなくなり、効率的にテストを実施できるようになります。また、テストでどのくらいの不具合が見つかるだろうということを想定しておくことも必要です。想定を怠ると、不具合レポートに必要な工数が把握できず、これもスケジュールや工数に影響します。
良いテスト計画は、品質向上、リスク軽減、コスト削減、スケジュール管理、信頼性向上など、多くの利点をもたらします。
3.テスト計画の内容
ソフトウェアテストの国際規格「ISO/IEC/IEEE 29119」では、ドキュメントに含める項目が定義されています。以下に一般的なテスト計画書の主要項目を記載します。
- テスト方針(プロジェクトの背景、テストの目的、テスト対象、対象外のもの、前提と制約)
- テスト基準(テストレベル、テストタイプ、そのマッピング、テスト手法、タスク)
- 関係者(承認者、役割と責任範囲、要員トレーニング)
- スケジュール(工程、期間)
- テスト環境(テストシステム構成、テストデータ、作業場所、利用ツール)
- 管理基準(管理項目、開始終了基準、一時停止基準、成果物)
- リスクと対策(テスト中に発生する可能性のあるリスクや問題点、それらに対する対策)
また、テスト計画は全体テスト計画と個別テスト計画で構成されます。
全体テスト計画はテスト全体の方向性をまとめた計画書であるのに対して、個別テスト計画書は各テストレベルの計画を作成します。
これらの事項を適切にテスト計画書に記載し、実行することで、品質を確保し、プロジェクトの目標を達成するための道筋を示すことができます。
4.テスト計画の作成の流れ
前述した内容をテスト計画書としてドキュメント化します。
テスト計画を作成するタイミングは、全体テスト計画は開発全体のテスト計画なので、開発計画をたてるなかで検討します。
プロジェクトやテスト計画が進行するに従い、入手できる情報が多くなるため、プロジェクトの進捗に合わせて見直しや修正を行います。
個別テスト計画はテストレベルごとの計画なので、そのテストを開始するまでに決める必要があります。
準備や調整があるので、実際にはそれよりも先行して検討を進めていきます。
テスト計画作成の流れは、以下の通りです。
【テスト計画作成の流れ(プロセス)】
目的の明確化 | テストを実施する目的や重要な項目、プロジェクトの背景など把握・整理し、テストに求められる目的(要求)を明確にします。 |
---|---|
範囲の定義 | どの部分や機能をテストするかを整理します。要件仕様書や設計仕様書を参考にして、テストする範囲を特定します。 |
テスト戦略の策定 | テストのアプローチや方法論を決定します。例えば、機能テスト、パフォーマンステスト、セキュリティテストなど、適切なテスト手法を選択します。 |
リソースの割当て | 必要なリソース(人員、ツール、環境など)を明確に記載します。必要な資源を適切に割り当てて、テストを実行する準備を整えます。 |
スケジュールの作成 | テストの開始日、終了日、各段階の期限などを明確に示し、テストが進行するためのタイムラインを作成します。 |
リスク管理 | 発生する可能性の高いリスクや影響の大きいリスクに対する計画を策定し、リスクを最小限に抑えます。 |
承認と配布 | 関係者や利害関係者に配布し、必要に応じて承認を得ます。関係者のフィードバックを受け取り、必要に応じて修正を加えます。 |
実行と管理 | テスト計画書に基づいてテストを実行し、結果を監視します。テストの進行状況や問題の解決状況を定期的に評価し、必要に応じて計画を調整します。 |
このような流れでテスト計画を作成することで、テストの質を維持、向上させることが可能です。
5.テスト計画作成時の注意点
最後にテスト計画の作成時/作成後に注意しておきたいことを以下に記載します。
- テスト計画は変更がありうるものだと認識すること
- 2回以上、ステークホルダーを巻き込んでレビューすること
いずれも開発の不確実性に対応するための心構えです。
テスト計画は変更がありうるものだと認識する
開発の状況により、思いもよらぬ変更や追加開発が発生することもよくあることです。
それにあわせて開発のスケジュールの変更や体制の検討などは行われますが、テスト計画の変更は後手に回ってしまうことが多いのではないでしょうか。
しかし、テスト計画ではテストの対象や方法について定めており、変更にあわせて修正することが肝要です。修正を怠ればテスト漏れなどの問題を引き起こす原因になりかねません。
したがって、テスト計画は工程間などのタイミングや、追加開発や仕様変更などで見直し、修正することをおすすめします。
また修正する場合は、全体テスト計画と個別テスト計画で相違が起きないように十分注意しましょう。
テスト計画時の注意点としては、テスト計画は開発の状況により、変更することをあらかじめ認識しましょう。開発工程において、思いもよらぬ変更や追加開発が発生することもよくあることです。それにあわせて開発のスケジュールの変更や体制の検討などは行われますが、テスト計画の変更は後手に回ってしまうことが多いのではないでしょうか。
2回以上、ステークホルダーを巻き込んでレビューすること
テスト計画のレビューを行うと、特に個別テスト計画のテスト方針の立案における要件漏れや検討抜けがレビューの対話を通して明らかになることも少なくありません。これは、早期に不具合を除去することにつながります。
しかしながら、このような早期発見が相次ぐと開発工程のリスク抽出に意識が向いてしまうことが多く、テスト計画自体の問題やテスト工程のリスクに目が向かなくなります。
1回目は開発との認識合わせ、2回目はテスト計画自体の検討という意識をもって行うとよいでしょう。
6.まとめ
テスト計画は、すべての要件や機能がテストされ、ソフトウェアが正しく動作することを確認するための計画を策定することです。一言で表現すると、テスト活動におけるロードマップです。システムの完成度に直結するので、しっかりと計画を練りましょう。
株式会社GENZでは、品質管理をコア領域としながらも、上流工程から幅広い範囲でご支援可能な品質コンサルティング事業部があります。お客様PMに伴走しながらプロジェクトのご支援をしています。ぜひご相談ください。