Wモデル(だぶりゅーもでる)情報システム用語事典

W-model / W字モデル

» 2011年11月07日 00時00分 公開

 テスト設計を上流工程(注1)から開始して、開発プロセス(注2)とテストプロセス(注3)を同時並行に進めるプロセスモデルのこと。

 伝統的なソフトウェア開発ではソフトウェアテストを、要求−設計−実装などの開発作業が終了した後に行うものと規定し、開発プロセスとテストプロセスの関係はVモデル(注4)の形で考えてきた。しかし、同時に誤りやバグ(注5)を持ち越して後工程で修正するのは大幅なコスト高となるため、早期にデバッグ(注6)すべきだという指摘も古くからなされていた。

 この問題を解決する方法として、テスト計画とテスト設計を上流工程に移して、要求定義や設計工程、実装工程と同時に行うプロセスが提案された。V字型の開発プロセスと並行にV字型のテストプロセスを配置した図で示されることから「Wモデル」という。

ALT エルズリッシュのWモデル

 Wモデルでは、上流工程にテストエンジニアが参画する。テスト担当者はアーキテクチャ設計に対してシステムテストを、機能設計に対して結合テストを、詳細設計に対して単体テストのテスト設計を準備することになる(個々のアクティビティの名称は参照モデルやプロジェクトによって異なる)。

 テストエンジニアの上流参画はいくつかのメリットをもたらす。開発サイドにとってはレビューにテスタビリティ(検証可能性)視点が付加されるので、成果物の品質リスクが軽減される。テストエンジニアにとっては事前にテストの難易度が把握できるので、テスト準備が行いやすい。また、要求項目とテスト項目のトレーサビリティ確保も期待できる。

 後工程の前倒しによって、前工程に潜む問題を早期に明らかにし、後工程での手戻りを未然に防止するというのは、品質管理における源流管理フロントローディング、デザインレビュー、コンカレントエンジニアリングの原理に通じるものといえる。

 なお、XPのプラクティスとして知られるテスト駆動開発テストファーストも“コーディングよりもテストを先行する”という点で共通するが、これは開発工程の中で開発者が実装技法として取り組む活動であり、テストエンジニアが担当するテスト工程の一部前倒しとは異なる。

 Wモデルは、英国の大手調査会社オーバムのアナリストであるポール・エルズリッシュ(Paul Herzlich)が、1993年にロンドンで開催されたEuroSTARカンファレンスで行ったプレゼンテーション「The Politics of Testing」で語ったものが最初とされる。日本では、ドイツ・ブレーメン州立経済工科大学(Hochschule Bremen)のアンドレアス・シュピルナー(Dr. Andreas Spillner)のモデルが注目を集め、2000年代半ばごろから研究や実践の取り組みが盛んになった。

 さらにWモデルをベースに、テストの各フェイズで得られた知見を、上流工程にフィードバックしてプロセス改善を図る新しいテストの在り方を模索する活動も行われている。

(注1)上流工程

(注2)開発プロセス

(注3)テストプロセス

(注4)Vモデル

(注5)バグ

(注6)デバッグ

参考文献

▼『ソフトウェアテスト見積りガイドブック――品質要件に応じた見積りとは』 情報処理推進機構 ソフトウェア・エンジニアリング・センター=編/オーム社/2008年9月

▼『いちばんやさしいソフトウェアテストの本』 石原一宏、布施昌弘=著/技術評論社/2009年2月


Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ