アプリ開発やサイト制作のスマホ端末実機検証・テスト-Remote TestKit

ソフトウェア開発の「V字モデル」とは何か?

ソフトウェア開発には、ウォーターフォール型やアジャイル型など、さまざまな手法があることをご存じでしょうか。今回はその中から、「V字モデル」というモデルを紹介します。V字モデルの概要についてはもちろん、V字モデルで開発する際の各工程の特徴についても解説します。

V字モデルとは、どのような開発手法か

ソフトウェアを開発する際、どのように作業を進めるのか、開発モデルを事前に決めておくことは重要です。特に広く採用されている開発モデルのひとつが「シーケンシャル開発モデル」と呼ばれているものになります。これは、ソフトウェア開発のさまざまな作業を、シーケンシャル(連続的)に行う開発プロセスです。

代表的なシーケンシャル開発モデルとしては、「ウォーターフォールモデル」がよく知られています。ウォーターフォールモデルとは、品質を作り込む工程(上流)から、品質を確認する工程(下流)へと、ウォーターフォール(滝)で水が流れていくように開発を進めていくモデルです。

今回紹介する「V字モデル」は、このウォーターフォールモデルの上流と下流の対応を明確にしたモデルとなります。V字モデルでは、品質を決定する上流(要求分析~コーディング)と、品質を確認する下流(コードレビュー~受け入れテスト)の各工程の対応が明確に定義されているため、工程や作業プロセスごとに確認しやすいという特徴があります。そのため、V字モデルは大規模なソフトウェア開発でも多く採用されています。

V字モデルの各工程の役割とは

V字モデルの最上流に当たるのは、「要求分析」です。要求分析とは、どのようなソフトウェアを作りたいのかという発注者の要求をまとめる工程です。要求分析に対応する下流側の工程は「受け入れテスト(UAT)」で、要求通りのソフトウェアになっているかどうかを確認します。

要求分析で示された機能をどのように実現していくかをまとめる工程が、「要件定義」です。ソフトウェア開発の目的やそのためにどのような機能が必要なのかを明示するだけでなく、セキリュティや保守、予算や開発期間などについても記載します。

要件定義の下流側に対応する工程が、「システムテスト」です。これはシステム開発者側の最終テストのことで、開発したソフトウェアが要件定義の求める機能が実現できているかをチェックします。

要件定義で求められた機能を実現するには、ソフトウェアがどのような動きをするのかを「基本設計」で決定して、それをどのように実現するのかを「詳細設計」で決めていきます。そして実際のソースコード(プログラム)を作成する「コーディング」へと進んでいきます。

この3つの工程に対して、下流では「コードレビュー」「単体テスト」「結合テスト」が行われます。

V字モデルにおける「発注者」「開発者」とは

ソフトウェアを開発する場合、開発やテストの担当者は、それぞれの工程により変わります。V字モデルの各工程では、誰が業務を担当するのでしょうか。

まず「要求分析」は、発注者が行います。自社開発の場合で考えてみましょう。経理部が「旅費交通費管理システムが欲しい」と考え、情報システム部に開発を依頼した場合、発注者は経理部となります。その後、要求を受けた情報システム部は、どのようなソフトウェアが必要なのかをまとめた「要件定義」を行います。この要件定義以降の工程が、開発者側の作業です。一般的に、要件定義~システムテストは、開発者(開発会社)が行います。

最終的な「受け入れテスト」については、発注者(発注会社)が行う場合が一般的ですが、発注者(発注会社)に十分なテストノウハウが無い場合もあります。その際は、第三者機関にテストを依頼する場合もあります。

V字モデル開発で実機を用いたテストを行うタイミングとは

ソフトウェア開発では開発モデルに関わらず、いずれかの工程で実際にエンドユーザーが使用する端末でテストを行う必要があります。V字モデルでは、一般的に結合テストの工程以降から実機テストを行います。

ソフトウェアの中でも、特にスマートフォン向けアプリの場合、複数の端末で動作や表示の確認を行う必要があります。iPhoneやAndroidといった端末のハードウェアに複数のモデルがあるうえ、OSにも複数のバージョンがあり、これらの組み合わせに対応するには、複数の実機を用意する必要があるでしょう。

テスト用の端末をすべて自社で調達するためには、コストも手間もかかりますが、実機テスト用のスマートフォンはレンタルすることも可能です。詳しくは、以下の記事をご参照ください。

関連記事:iPhoneのレンタルがアプリの実機テストに役立つ理由とは

V字モデルは複数の開発モデルの中でも、各工程が明確になる点が特徴です。V字モデルでソフトウェア開発を行っている場合、テスト工程で実機が必要になる期間や、各工程でどの程度のバリエーションの端末が必要かも明確です。網羅的に実機検証を行う必要がある場合、レンタルサービスの利用を検討してみてはいかがでしょうか。


サービスに関するお問い合わせ

クラウド上のスマホ実機検証サービス、
Remote TestKitのご紹介資料やプラン詳細はこちらからお問い合わせください。
トライアルのご案内も可能です。

関連記事