V字モデルとは|ウォーターフォール型開発における品質面でのメリット

V字モデルとは|ウォーターフォール型開発における品質面でのメリット

V字モデルは、主にウォーターフォール型のソフトウェア開発やソフトウェアテストにおいて用いられる一般的な手法として知られています。
本記事では、あらためてV字モデルとはどういったものかといった概要から、V字モデルを採用するソフトウェア品質面でのメリットについて紹介します。

V字モデル(Vモデル・V-Model)とは

V字モデルとはソフトウェア開発手法の1つであり、主にウォーターフォール型開発において開発工程とテスト工程を詳細さのレベルに応じて対に並べ、各工程の対応関係を明示したモデルです。

V字モデルにおいて同じ高さの開発工程・テスト工程は同じ詳細さのレベルとなることから、ウォーターフォールモデルにもとづいて開発・設計された各工程の成果物に対するテストのレベルや範囲、内容を適切に認識・設定し、プロダクトの品質を確保するのに役立ちます。

V字モデルは以下のような図で表され、ウォーターフォールモデルを実装工程で折り返し、左側が開発工程を、右側がテスト工程をそれぞれ表しています。
このモデルがVの字に見えることから、V字モデルと呼ばれています。

V字モデルを活用する品質面におけるメリット

V字モデルをウォーターフォール型のソフトウェア開発プロジェクトに活用することで、様々なメリットが得られる可能性があります。

ここではソフトウェア品質の向上に繋がる主なメリットとして、4つを取り上げ紹介いたします。

1.適切なテスト内容を決定しやすい

上で述べたように、V字モデルにおいて同じ高さの開発・テスト工程は同じ詳細さのレベルとなることから、テスト工程においては同じレベルの成果物をテストすることになります。

例えば単体テスト(ユニットテスト・コンポーネントテスト)においては、開発工程において対となっている詳細設計の成果物を対象にテストを行います。
具体的には詳細設計書をインプットとしてテスト設計を行い、実装されたコンポーネント単位で動作や表示などが仕様通りとなっているかを確認することになります。

V字モデルではこの対応関係が明示されていることから、テスト工程に応じて適切なテスト内容を決定する上で非常に有効となります。

2.テスト工程の進捗を管理しやすい

上記のメリットとも関連しますが、実施するテストのレベル・内容をプロジェクト内で規定しやすくなることから、精度の高いテスト計画の立案にも役立ちます。

各テスト工程において何をどのように検証するのか、どういった作業が発生するのかといった認識をプロジェクト関係者間で合わせやすくなることから、作業内容やスケジュールに対する認識のズレや計画との乖離が発生するリスクの抑制につながります。

また各テスト工程におけるタスクや不具合の発生率、修正工数などを細分化しシミュレーションすることで、根拠のある工数やアサイン、スケジュールを見積もることができるようになります。

さらに各工程における結果をもとに後工程の計画を修正していくことで計画の更なる精緻化をはかることができ、プロジェクトの進捗をより正確に把握及び予測することが可能となります。

3.前工程の修正作業など「手戻り」リスクの軽減につながる

ソフトウェア開発におけるコスト超過・スケジュール遅延の大きな要因として、いわゆる「手戻り」が挙げられます。

極端な例としては、テスト工程の後半に位置づけられる受入テストにおいて不具合が発生しそれが前工程の単体レベルの不具合であった場合、詳細設計からの見直しが発生したり、それに伴う不具合の修正及び影響範囲が非常に大きくなる可能性があり、コストや時間の大きなロスに繋がり得ます。

V字モデルによって各テストのレベルを規定しフェーズを切り分け、各工程での不具合を十分に検出・修正した上で初めて次の工程に進むという手順を踏んでいくことで、この手戻りの発生リスクを抑えることができます。

手戻りの発生リスクの軽減は、コストやスケジュールへのインパクトという観点では最大のメリットと言えるかもしれません。

4.不具合の修正コストの削減につながる

V字モデルをもとにテストレベルを規定することで、テストの対象や内容を明確にしやすくなることは上で述べた通りですが、それらが明確になることでテストで検出された不具合の原因特定及び修正が容易となります。
各工程において適切にテスト・不具合修正を行ってきた場合、不具合発生時には基本的には該当するレベルを調査対象とすれば良いためです。

一方でもしテストレベルが曖昧なままテストを行ってきた場合、発生した不具合の原因がどのレベルにあるのか(コンポーネント自体にあるのか、結合部分にあるのかなど)の調査自体に時間がかかるばかりでなく、不具合修正の影響範囲が特定しづらく、結果として他の部分にも影響が及ぶデグレード(デグレ)が発生するリスクもあります。

最悪の場合、不具合の修正を起点として様々な箇所に影響が及び、デグレに次ぐデグレにより収拾がつかなくなるケースも起こり得ます。

ゆえにレベルに合わせてテスト工程を明確に規定し、各レベルのテストによって「品質を積み上げていくこと」が極めて重要となります。

まとめ

V字モデル自体はウォーターフォール型の開発を行う上での一般的な手法として広く知られていますが、ソフトウェア品質やそれに起因する効率面でも大きなメリットがあります。
V字モデルを開発・テストのプロセスに落とし込みプロジェクト内での運用を推し進めることで、更なる品質面・効率面の向上につながるのではないでしょうか。

なおSHIFT ASIAでは、ウォーターフォール型の開発プロジェクトの場合は基本的にV字モデル・W字モデルにもとづいたテストの計画・設計・実行を行っています。

W字モデルに関する補足として、W字モデルとはV字モデルの発展形であり、上流工程にあたる設計工程からテストエンジニアが参画し、実装前の段階から設計と並行する形でドキュメントのインスペクションやテスト設計などを行うモデルを指します。

不具合が作りこまれる原因となる仕様の矛盾や欠陥を早い段階で取り除くアプローチが取れることから、V字モデルに比べさらなる手戻りの軽減やそれにともなう品質・効率面での向上が期待できるモデルとして知られています。

本記事ではV字モデルについて紹介しましたが、W字モデルについてもまた別記事等でご紹介する予定です。

SHIFT ASIAのテスト計画

プロジェクト規模や内容に最適化したテスト計画を作成。適切なテスト計画を立案することで後工程で生じがちな混乱や手戻りを防ぎ、費用やスケジュールの超過を抑止することが可能です。

SHIFT ASIAのテスト設計

SHIFTグループで蓄積されたデータをもとに標準化されたテスト観点をもとに専門のテストエンジニアがテストを設計。属人性を排除し、網羅性の高い高品質なテスト設計を実現します。

SHIFT ASIAのインスペクション

上流工程での徹底的なレビューにより仕様の矛盾や誤り、抜け漏れを検出し、下流工程での手戻りやコスト・スケジュールの超過を抑止。 テストベースの品質向上を通じて、テスト品質と開発品質両方の向上に寄与します。

SHIFT ASIAのソフトウェア開発(オフショア開発)

多様な品質保証ノウハウと経験豊富なフルスタックエンジニアにより、高品質かつハイスピードな開発体制を実現。 開発からテストまで含め、リリースまでワンストップで支援することが可能です。