変革の時代を迎えたソフトウェア産業
ー開発の手戻りをしないためにー
第9 回
テスト計画の作成
日本アイ・ビー・エム株式会社
布川 薫

テスト計画の全体構成
テスト計画には、テストの全段階 をカバーする基本計画としてのテス ト方針書(CTP:Comprehensive Test Plan )と、各テスト段階ごとに 個別なテスト計画(単体テスト計画、 統合テスト計画、システムテスト計 画等)がある。このうち“テスト方 針書”は、開発計画と並んでプロジ ェクトの最も重要な計画の一つであ る。

これは、基本計画や要件定義書/ 外部仕様書、プロジェクトの品質管 理計画などに基づいて、最初のテス トである単体テストの前までには余 裕をもって完成させておかなければ ならない。プロジェクトにおいては、 要員・コスト・スケジュールなどに 様々な制約があるため、与えられた 制約の範囲で最も有効なテスト計画 を立てることが必要となる。

テスト方針書(以下、CTP )は、テ ストの全体計画を記述したマスター プランで、当該プロジェクト全体の 品質管理方針の重要な部分を記述し たものである。このマスタープラン としてのCTP に基づいて、“単体テ スト計画”や“コンポーネント間統 合テスト(統合テストa )計画”、“サ ブシステム間統合テスト(統合テス トb )計画”、“システムテスト計画” など、より詳細で具体的な計画が、 各々必要な時期までにテスト段階別 に作成される。(図1 )

テスト計画の内容
CTP には、プロジェクトにおける テスト段階全体の構成や全体スケジ ュールを記述し、各段階別のテスト 計画には、CTP を基により具体的な テスト方法や個別のスケジュールを 上位から下位にブレ ークダウンする形で 記述する。ウォータ フォール型の開発に おいて、CTP は設計 局面の中程までには 完成させ、各段階別 のテスト計画は、そ れが必要となる時期 に間に合うよう完成 させる。テストの各 段階別の詳細テスト 計画には、“目的と範囲”、“方法”、 “開始基準・完了基準”、“資源と体 制”、“スケジュール”、“検収の方法” 等の項目を共通して含める。

テストの“目的と範囲”には、全 欠陥除去工程中の当テスト段階の位 置付けと範囲、計画するテストケー スの目的・性格・構成を記述する。 テストの“方法”には、次の事項 を記述する。

・使用ツールやテスト用データベー スの環境の記述と使用方法のガイ ド
・テストケースの定義方法やテスト ケース番号の採番方法、テストシ ナリオの組み方、テストデータの 作成方法や保管方法、テスト実行 結果の記録方法などを含めたテス トケースの作成方法
・テスト結果の検証方法
・デバッグ方法や欠陥の管理方法な ども含めて、問題が生じた場合の 処理方法


テストの“資源と体制”には、次 の事項を記述する。

・テストの要員やテスト環境に関す る資源の見積り
・テスト用ライブラリの管理方法
・テストの組織と体制
・テストの進捗管理方法


さらに、テスト“スケジュール” やテストの完了した成果物の“検収 方法”についても記述する。 テスト体制を計画するにあたっ て、特に近年のクライアント/サー バ・システムの開発などでは、テスト チームを開発チームと別に組織し、 要員の約3 割をテスト関連作業に割 り振るべきだという考え方もある。 事例では、70 人程が参画しているあ るプロジェクトで、そのうちの15 人 がテストチームを担当している。

図2 は、10 数名規模でのクライア ント/サーバ開発におけるテスト体 制の例である。

この例では、ビジュアル開発ツー ルやコンポーネントウェアを活用し て、「進化型」のプロトタイピング (作成したプロトタイプを核としな がら本システムに仕上げるもの)を 行っている。大きな特徴は、各開発 チームごとにテスト担当者を設定し ていることである。このテスト担当 者は、最初のプロトタイプ作成の段 階から専任もしくは兼任でチーム内 のローカルビルド(モジュールをコ ンポーネントに集積するまでのイン クリメンタル方式の単体テストに相 当)作成と、そのテストを担当して いる。テスト担当者は、開発者2 〜 3 名について1 名位の割合(この割 合は各チームの開発者の生産性によ って異なる)で配分されている。(チ ームの人数によっては開発との兼任 もありえる)

テスト計画の作成時期
テスト計画の作成と準備事項に関 して、作業時期の目安を示す。これ は、ウォータフォール型での開発を 例にとってあるので、他の開発工程 をとる場合には、修正を加える必要 がある。プロジェクトの期間や機器 等のリードタイムにより、作業時期 が更に早くなることもある。

●テストの基本方針の検討は、プロ ジェクト全体の品質管理計画の一環 として、要件定義段階から開始する。

●CTP すなわちテストの全体計画 は、最初のテスト工程である単体テ ストの開始前までには余裕をもって 完成させておく必要がある。またそ の検討は、さらに早期から始める。 テストツールなどは、それが新たに 開発するものであれば、開発実施に 間に合わせなければならないためで ある。CTP についても、しっかり としたインスペクションを実施す る。CTP は設計局面の完了時点に おいて公式レビューにかけられる。

●テスト開始の準備事項として、テ スト設備や機器、テストツールなど の決定と手配、必要に応じたテスト ツールの開発、テストの進捗管理手 順、変更管理手順、問題管理手順の 確立、および、ライブラリ管理手順 の確立なども忘れてはならない。こ れらは、プロジェクトの期間や、機 器導入などのリードタイムにより作 業時期が早まることもある。

●CTP の完成次第、それに基づい て単体テスト計画を作成する。単体 テストの仕様は、モジュール仕様の 作成に併せ、モジュール仕様の作成 者が作る。モジュール仕様と単体テ スト仕様、および作成したコードに 対しては、インスペクションを実施 する。

●統合テストの計画およびケースと シナリオは、テストの開始に十分な 余裕をもって作成しておく。テスト 環境の設定とテストデータの準備、 システムテスト開始前のキャパシテ ィ/パフォーマンスのメジャメント も重要である。

●システムテストの開始前の段階に おいてシステムテスト計画およびシ ステムテストのケースとシナリオを 完成させる。また、システムテスト の直前の局面においては、スポンサ ーとの合意のもとに、カットオーバ 基準を決定しておく。システムテス トでは、WBS (Work Breakdown Structure ,作業分解構造図)に基 づく進捗の管理と併せて、この基準 による進捗把握を行う。システムテ ストでは運用手順や新システム・マ ニュアルの検証、保守用テスト環境 の準備なども行う。



テスト計画の作成時期とテストの 準備事項について大規模ウォータフ ォール型開発をベースに解説してき たが、進化型のプロトタイピングを 活用したRAD 型のクライアント/ サーバ・システム開発や、イタラテ ィブな開発工程をとるオブジェクト 指向開発などでは、開発とテストが 併行的に外部設計の早い段階から開 始される。

このようなケースでは、要件定義 の完了時点や、外部設計の頭の時点 までに開発・テスト環境の準備も含 めてテスト計画を作成しておかなけ ればならない(図3 )。特に、作成 したプロトタイプを核に順次機能を 追加しながら本システムに仕上げて いくインクリメンタル方式をとる場 合などでは、設計の早い段階から開 発の本番と同じ環境下でビルドとテ ストが繰り返されるからである。

次回は、テスト環境とテストツー ルについて考察する。

布川 薫(ぬのかわかおる)
1973 年日本アイ・ビー・エム鞄社、現在、サービス事業、コンピテンシーに所 属し、アプリケーション開発方法論やプロジェクト管理技術などを担当。副主管 IT スペシャリスト(次長)。プロジェクトマネジメント学会評議員・研究委員会 委員。
おもな著書に、『システムの開発と運用』、『アプリケーション開発技術』(いずれ も共著、リックテレコム)