Vモデル(ぶいもでる)情報システム用語辞典

V-model / V-chart / V字モデル

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

 ソフトウェアプロセス(注1)における開発工程とテスト工程の対応関係をV字型に整理したプロセスモデルのこと。Vモデルを見れば、「単体テスト」「結合テスト」「システムテスト」「受け入れテスト」などのテストフェイズがそれぞれ、何を検証するための活動なのかをひと目で理解できる。

 Vモデルは左半分に開発工程を右下がりに並べ、右半分にテスト工程を右上がりに並べた図として表現される。工程の連なりでソフトウェア成果物(注2)の変換過程を示すとともに、左右の関係で開発工程の各成果物がテストのどのフェイズに使われるかを示す。

 これを見れば、ソフトウェアテストはソフトウェアプロセスの前工程から受け取った成果物を、対応する開発工程の“目的”を基準にして達成しているか否かを検証・確認する作業であることが分かる。要求・分析・設計といった開発工程の各作業はそれぞれに目的や視点が異なり、成果物のモデルも異なる。従ってテスト工程では、上流工程における違いを理解したうえでテストを設計する必要がある。Vモデルはこうした対応関係の理解を支援するものである。

ALT ベームのVチャート

 Vモデルは一般にウォーターフォールモデルの変形とみなされている。Vモデルを順次実行型であるのウォーターフォール型プロセスの終盤に位置するテスト工程を展開して、序盤〜中盤の要求・設計・実装工程との対応関係を示したものと解釈すると、最も早い段階の要求工程は最終段階にならないと正しさを確認できないということが理解できる。これがウォーターフォール型プロセスの欠点とされる。これを批判する立場から、Vモデルの拡張であるWモデルが登場している。

 一方で、Vモデルは工程の実行順序を表さないとする立場もある。SLCPの国際標準であるISO 12207ではV字モデルを採用しているが、アクティビティの順序までは規定していないとしている。ISO 12207に準拠して開発プロセステストプロセスを定義する際には独自に実行順序を決める必要がある。実行順序については、関連文書のISO/IEC TR 15271が3つの参照モデルを示している。

 開発工程とテスト工程の関係をV字型に図示したものとしては、バリー・ベーム(Barry W. Boehm)の論文「Guidelines for Verifying and Validating Software Requirements and Design Specifications」(1979年)が知られる。なお、ソフトウェアテストに関する古典であるグレンフォード・J・マイヤーズ(Glenford J. Myers)の『The Art of Software Testing』(1979年)にもV字型ではないが同種の図が掲載されている。

 プロセスモデルとは別に、ドイツでは1986年に「Vモデル(V-Modell)」が登場している。これはPMBOKPRINCE2のようなプロジェクト標準である。最初のバージョンは政府プロジェクトのために作られたが、その後に一般化され、システム開発やソフトウェア開発の手法として民間でも使用されている。

参考文献

▼『共通フレーム2007――経営者、業務部門が参画するシステム開発および取引のために』 情報処理推進機構 ソフトウェア・エンジニアリング・センター=編/オーム社/2007年10月

▼『経営者が参画する要求品質の確保――超上流から攻めるIT化の勘どころ法〈第2版〉』 情報処理推進機構 ソフトウェア・エンジニアリング・センター=編/オーム社/2006年5月

▼『ソフトウェア・テストの技法』 グレンフォード・J・マイヤーズ=著/松尾正信=訳/近代科学社/1980年3月(『The Art of Software Testing』の邦訳)


Copyright © ITmedia, Inc. All Rights Reserved.