V字モデルは、主にウォーターフォール型のソフトウェア開発やソフトウェアテストにおいて用いられる一般的な手法として知られています。
本記事では、あらためてV字モデルとはどういったものかといった概要から、V字モデルを採用するソフトウェア品質面でのメリットについて紹介します。
関連記事
ウォーターフォール開発とは何か|メリットやデメリット、アジャイル開発との違いについて解説
ソフトウェアテストとは|テストの目的や種類から『ソフトウェアテストの7原則』と実務上の留意点まで詳しく紹介
V字モデル(Vモデル・V-Model)とは
V字モデルとはソフトウェア開発手法の1つであり、主にウォーターフォール型開発において開発工程とテスト工程を詳細さのレベルに応じて対に並べ、各工程の対応関係を明示したモデルです。
V字モデルにおいて同じ高さの開発工程・テスト工程は同じ詳細さのレベルとなることから、ウォーターフォールモデルにもとづいて開発・設計された各工程の成果物に対するテストのレベルや範囲、内容を適切に認識・設定し、プロダクトの品質を確保するのに役立ちます。
V字モデルは以下のような図で表され、ウォーターフォールモデルを実装工程で折り返し、左側が開発工程を、右側がテスト工程をそれぞれ表しています。
このモデルがVの字に見えることから、V字モデルと呼ばれています。
V字モデルを活用する品質面におけるメリット
V字モデルをウォーターフォール型のソフトウェア開発プロジェクトに活用することで、様々なメリットが得られる可能性があります。
ここではソフトウェア品質の向上に繋がる主なメリットとして、4つを取り上げ紹介いたします。
1.適切なテスト内容を決定しやすい
上で述べたように、V字モデルにおいて同じ高さの開発・テスト工程は同じ詳細さのレベルとなることから、テスト工程においては同じレベルの成果物をテストすることになります。
例えば単体テスト(ユニットテスト・コンポーネントテスト)においては、開発工程において対となっている詳細設計の成果物を対象にテストを行います。
具体的には詳細設計書をインプットとしてテスト設計を行い、実装されたコンポーネント単位で動作や表示などが仕様通りとなっているかを確認することになります。
単体テスト(ユニットテスト)とは | 目的や結合テストとの違い、メリット・デメリットまで詳しく解説
V字モデルではこの対応関係が明示されていることから、テスト工程に応じて適切なテスト内容を決定する上で非常に有効となります。
2.テスト工程の進捗を管理しやすい
上記のメリットとも関連しますが、実施するテストのレベル・内容をプロジェクト内で規定しやすくなることから、精度の高いテスト計画の立案にも役立ちます。
各テスト工程において何をどのように検証するのか、どういった作業が発生するのかといった認識をプロジェクト関係者間で合わせやすくなることから、作業内容やスケジュールに対する認識のズレや計画との乖離が発生するリスクの抑制につながります。
また各テスト工程におけるタスクや不具合の発生率、修正工数などを細分化しシミュレーションすることで、根拠のある工数やアサイン、スケジュールを見積もることができるようになります。
さらに各工程における結果をもとに後工程の計画を修正していくことで計画の更なる精緻化をはかることができ、プロジェクトの進捗をより正確に把握及び予測することが可能となります。
3.前工程の修正作業など「手戻り」リスクの軽減につながる
ソフトウェア開発におけるコスト超過・スケジュール遅延の大きな要因として、いわゆる「手戻り」が挙げられます。
極端な例としては、テスト工程の後半に位置づけられる受入テストにおいて不具合が発生しそれが前工程の単体レベルの不具合であった場合、詳細設計からの見直しが発生したり、それに伴う不具合の修正及び影響範囲が非常に大きくなる可能性があり、コストや時間の大きなロスに繋がり得ます。
V字モデルによって各テストのレベルを規定しフェーズを切り分け、各工程での不具合を十分に検出・修正した上で初めて次の工程に進むという手順を踏んでいくことで、この手戻りの発生リスクを抑えることができます。
手戻りの発生リスクの軽減は、コストやスケジュールへのインパクトという観点では最大のメリットと言えるかもしれません。
4.不具合の修正コストの削減につながる
V字モデルをもとにテストレベルを規定することで、テストの対象や内容を明確にしやすくなることは上で述べた通りですが、それらが明確になることでテストで検出された不具合の原因特定及び修正が容易となります。
各工程において適切にテスト・不具合修正を行ってきた場合、不具合発生時には基本的には該当するレベルを調査対象とすれば良いためです。
一方で、もしテストレベルが曖昧なままテストを行ってきた場合、発生した不具合の原因がどのレベルにあるのか(コンポーネント自体にあるのか、結合部分にあるのかなど)の調査自体に時間がかかるばかりでなく、不具合修正の影響範囲が特定しづらく、結果として他の部分にも影響が及ぶデグレード(デグレ)が発生するリスクもあります。
関連記事
デグレ(デグレード)とは|デグレのリスクや原因、対策
最悪の場合、不具合の修正を起点として様々な箇所に影響が及び、デグレを修正した際に新たなデグレが発生するという負のループが発生して収拾がつかなくなるケースも起こり得るため注意が必要です。
ゆえにレベルに合わせてテスト工程を明確に規定し、各レベルのテストによって「品質を積み上げていくこと」が極めて重要となります。
W字モデルとは
V字モデルをさらに発展させた形として、「W字モデル」があります。
W字モデルは、開発工程とテスト工程を同時に並行して進めていくモデルのことであり、開発プロセスのV字とテストプロセスのV字が並行して実施するさまが、Wの形になることからW字モデルと呼ばれています。
W字モデルでは、上流工程にあたる設計工程からテストエンジニアが参画し、実装前の段階から設計と並行する形でドキュメントのインスペクションやテスト設計などを行います。
不具合が作りこまれる原因となる仕様の矛盾や欠陥を早い段階で取り除くアプローチが取れることから、V字モデルに比べさらなる手戻りの軽減やそれにともなう品質・効率面での向上が期待できるモデルとして知られています。
本記事ではV字モデルについて詳しく紹介しましたが、以下の記事でW字モデルについてもご紹介していますので、ぜひこちらもご参照ください。
まとめ
V字モデル自体はウォーターフォール型の開発を行う上での一般的な手法として広く知られていますが、ソフトウェア品質やそれに起因する効率面でも大きなメリットがあります。
V字モデルを開発・テストのプロセスに落とし込みプロジェクト内での運用を推し進めることで、更なる品質面・効率面の向上につながるのではないでしょうか。
なおSHIFT ASIAでは、ウォーターフォール型の開発プロジェクトの場合は、基本的にV字モデル・W字モデルにもとづいたテストの計画・設計・実行を行っています。
SHIFT ASIAのソフトウェア開発・テストソリューション
SHIFT ASIAではテスト適性の高い経験豊富なテストエンジニアがさまざまなテストサービスを提供しています。ソフトウェアの品質でお悩みの方は、ぜひお気軽にご連絡をいただけますと幸いです。
お問い合わせContact
ご不明点やご相談などがありましたら、お気軽にお問い合わせください。