W字モデルとは:手戻り、抜け漏れを防ぎ、早めのテスト準備が可能に

W字モデルとは:手戻り、抜け漏れを防ぎ、早めのテスト準備が可能に

ITシステムの開発は通常、決められた工程に沿って進められます。実際の現場では計画工程、開発工程、運用・保守工程といったシステムを作るための一連の流れ、ライフサイクルがあり、システム開発を進める上で開発プロセスの集合体を適切な順序に整理したものをシステム開発工程と呼びます。計画(要件定義)、開発(設計やプログラミング、テストなど)、運用・保守などの複数の工程に分割することで、進捗や品質を管理しやすくなるメリットがあるため、ウォーターフォールモデルをはじめ、さまざまな開発モデルが誕生しました。今回はそのうちのひとつであるW字モデルについてご紹介します。

執筆者:LAURA

1.概要説明

W字モデルは、開発工程とテスト工程を同時に並行して進めていくモデルのことを指します。開発プロセスのV字とテストプロセスのV字が並行して実施するさまが、Wの形になることからW字モデルと呼ばれています。別の記事で紹介しているV字モデルとの違いとしては、テストの工程がさらに細分化していることです。このため、W字モデルはV字モデルを発展させたテストモデルと捉えることが可能です。

2.特徴

W字モデルでは設計・開発工程とテスト工程をリンクさせた上で、そのリンクさせた工程同士を同時並行で進めます。V字モデルでは実装(コーディング)を経た後、後半にテスト設計とテスト実行に取りかかりますが、W字モデルではテスト設計をすべて前半に移し、後半ではテストの実行のみ行うという違いがあります。前半の工程でテスト設計を行うことにより、早期に不具合の検出および修正が可能になるというメリットがあります。

なお、2つのモデルの相違点は「テストの計画・設計」の時期だけですので、下記における活動については両モデルともに変わりありません。

要件定義⇔システムテスト
要件定義の際にお客様の要望をヒアリングし、実装すべき機能や満たすべき性能などを調査、分析した上で業務要件とシステム要件を記した要件定義書の作成を行います。その要件定義書の内容が実現されているかを確認、検証するのがシステムテストの役割です。

<テスト内容>
・要件通りに機能と性能を満たしているかを確認、検証
・不具合やそのリスクを徹底排除
・品質レベルが基準を満たしているかを確認、検証

基本設計⇔結合テスト
基本設計の際に画面や帳票などのユーザーインターフェースを設計し、基本設計書の作成を行います。その基本設計書の内容が実現されているかを確認、検証するのが結合テストの役割です。

<テスト内容>
・インターフェーステストの実施
・業務シナリオテストの実施
・負荷テストの実施

詳細設計⇔単体テスト
詳細設計の際に基本設計にて浮き彫りになった必要な機能を実現するために詳細設計書の作成を行います。その詳細設計書の内容が実現されているかを確認、検証するのが単体テストの役割です。

<テスト内容>
・モジュール単位でテストの実施
・ホワイトボックステストの実施
・ブラックボックステストの実施

コーディング
詳細設計書に忠実にプログラミングを実施します。設計書に矛盾や考慮漏れがある場合は設計者に対して質問し、疑問点を解消することで品質を高めていくことができます。

3.メリット

W字モデルでは開発・テストの双方を同時併行で進めるため、開発・テスト双方にメリットが生じます。ここでは主なメリットとして以下の3つを取り上げます。

1)手戻りが少なくなる
W字モデルではシステムの設計段階でテスト設計を行うため、テスタビリティ(検証可能性)の観点から仕様書・設計書を検証することができます。この検証により上流工程での品質向上が可能となり、後工程での手戻りや全体の工数(特に最終工程付近での修正工数)が削減できます。

2)要件の矛盾点や抜け・漏れを防ぐことができる
早期段階からテスト設計を作成することでテスタビリティがより高まるため、設計の漏れを発見する確率が上がります。

3)早めにテストの準備ができる
早期の段階で仕様を把握できるので、テストの難易度や注意点を把握でき、テスト準備を早めに行うことができるようになります。

4.テストとの関係

前述したとおり、V字モデルとW字のモデルの相違点は「テストの計画・設計」の時期だけです。V字モデルでは「コーディング」段階後、テスト工程(テスト設計・実施)に着手しますが、W字モデルではテスト設計をすべて前半に移し、後半ではテストの実行のみ行う形となります。各工程同士(設計・開発工程とテスト工程)がしっかりとリンクしているため、テスト工程ごとにどのレベルの品質保証を行うべきかが明確になっているのが特徴です。

5.運用

それでは、最後にW字モデルを効果的に活用するために必要なポイントとして、エンジニアのスキルについて触れたいと思います。

経験豊富なテストエンジニアの導入が必要
W字モデルではテストエンジニアは設計段階で問題を発見し、開発側に意見を伝えることが求められるため、経験豊富なテストエンジニアの導入が必要です。

豊富なプロジェクト経験を持つエンジニアであれば、要求定義や設計といった開発の初期工程での誤りが原因で発生する不具合を把握し、設計段階で仕様・設計の抜け漏れ・矛盾を発見できる確率が上がります。逆に言えば、W字モデルは技術力のないテストチームにとってはハードルが高いモデルとも言えることから、導入にあたっては担当するテストエンジニアのスキルをしっかりと検討した上で意思決定を行う必要があります。

なお、SHIFT ASIAではテスト適性の高い経験豊富なテストエンジニアがさまざまなテストサービスを提供しています。詳しくはこちらをご覧ください。