Loading...

最終更新日時:2024.10.16 (公開日:2023.04.07)

テスト工程とは?各工程の解説とポイントを整理します!

デジタル化の加速に伴い、開発スピード向上を目指す中で、アジャイル型の開発手法を取り入れるプロジェクトは少なくありません。一方で基幹システムの見直し等を始めとした大規模プロジェクトにおいては、まだまだウォーターフォール型の開発が主流です。ここではウォーターフォール型開発の”下流工程”と呼ばれるテスト工程のご紹介と、各工程のエッセンスについて解説をしていきます。

テスト工程とは

一般的なウォーターフォールモデルのテスト工程の種類には、下記の4つがあります。

【テスト工程の種類 ウォーターフォールモデル】

・単体テスト(ユニットテスト)

・結合テスト(インテグレーションテスト)

・総合テスト(システムテスト)

・ユーザー受け入れテスト(UAT)

一口にテストと言っても、それぞれの工程で行うべきテストの目的や内容は異なり、どの工程が欠落しても品質にとってよくありません。失敗や炎上を起こさないためには、すべてのテスト工程に細心の注意を払う必要があります。

5つのテスト技法の基本がわかる!
テスト技入門ガイドブック

単体テスト(コンポーネントテスト)とは

概要

ユニットテストやモジュールテストとも呼ばれます。プログラム内部をテストすることが一般的であり、操作画面(インターフェース)を介さない場合がほとんどです。このような背景から「ホワイトボックステスト」にてテストを実行するケースが多くなります。

主な担当

SE・PG(ソフトウェア開発者)

重要なポイント

モジュール単位・コンポーネント単位でテストを実行するため、”原因の特定”や”修正”が容易になります。ソースコードと仕様・設計に乖離がないか、意図した通りに動作出来ているかなど判断も早くなるため、開発全体のバグ修正コストは低くなります。最近ではツールを活用した自動化によるテストも多く、開発者の負担を減らせるケースが増えてきました。

気を付けたいポイント

開発者自らテストを行うため、「問題ないだろう」という主観や作業負担から、テストが省略されてしまうことがあります。単体テストを充分に行わないまま次工程へ進めてしまうと、単体テストで見つけるべき不具合が残ったままとなり、次工程のテストを阻害や、修正コストが膨らむ恐れがあります。

結合テスト(インテグレーションテスト)とは

概要

単体テスト工程の次は結合テスト工程に進みます。モジュール間のインターフェース構造や結合部の動作について、正しく機能しているかテストします。一般的には基本設計工程で設計された範囲とし、サブシステム内の不具合がないことを確認します。このため、基本設計書をもとに「結合テスト仕様書」が作成される場合が多いです。外部システムと連携がある場合は「外部結合テスト」の実行を、結合テスト工程で行うこともあります。

主な担当

SE・PG、テストエンジニア(設計者・実行者)

重要なポイント

「実装された機能が、しっかりとデータの受け渡しを行えるか」という観点が大切になります。テストパターンを洗い出し、優先順位を決め、どのような手段でデータを流すのかを決めていきます。また、テストの範囲をどこまでとするかも、しっかりと決めておく必要があります。通常、結合テスト工程からはブラックボックステストとなり、第三者によるテストも有効に働きます。

気を付けたいポイント

単体テスト工程と総合テスト工程の間に位置するため、結合テストの粒度や量はプロジェクトによって大きく異なります。ゆえにテストパターンの抜け漏れが発生しやすく、逆に無駄なテストが発生しがちなのも、この工程の特徴です。テストの目的と範囲をしっかりと定義することはもちろん、テスト設計のプロセスにも特に気を配る必要があります。

テストに習熟した専門のエンジニアが、
お客様に必要なテスト計画・設計を立案します!
バルテスのテスト計画・設計支援サービス

総合テスト(システムテスト)とは

概要

結合テスト工程の次は総合テスト工程に進みます。システムテストとも呼ばれます。システム全体の機能・非機能要件が満たせているかをテストします。要件定義書や業務フローを元にしたシナリオテストや多端末テスト、外部システムとの連携テスト、パフォーマンスやセキュリティなどの非機能的なテストなど、あらゆる角度でテストを行います。実際のシステム利用を想定してテストを実行するため、通常は本番環境と同等の環境を用意して行います。

主な担当

テストエンジニア
※SE・PGが行うこともあります。

重要なポイント

総合テストは、クライアントによる受け入れ前の、いわば最終試験に位置します。システムそのものの有用性を確認する工程になりますので、広い範囲と高い抽象度から、具体的なテスト方法を考えていく必要があります。特に非機能要件は専門性も高まるため、総合テストは外部委託するケースも増えています。必要となる要員スキルも多様になり、環境、機材の準備も増えていくことから、入念な準備と計画が大切となります。

気を付けたいポイント

環境準備の不足、あるいは結合テスト以前の不具合が健在化することで、総合テストが進められないケースもあります。また、外部システム担当者や、専門的なテストチームの参入などにより、プロジェクトそのものが混乱してしまうことも少なくありません。重要なポイントでも記述していますが、しっかりとした準備と計画が必要です。

ユーザー受け入れテスト(UAT)とは

概要

開発チーム(SIerなど)からクライアント(発注者)にシステムを受け渡し、実際にシステムを利用するユーザー目線でテストを行います。UATや運用テストと呼ばれることもあります。システムが要求通りに利用できるかどうかの確認を、ユーザーの立場で行うという点が、他のテスト工程とは大きく異なるポイントです。業務利用のシステムであれば、実際にユーザー部門でメンバーを選出し、テストを行うこともあります。

主な担当

  • クライアントのシステム部門担当者
  • クライアントの業務部門担当者
  • テストエンジニア

重要なポイント

テストの観点は要求を満たせているかどうかという、高い抽象度で置かれるため、テストの目的や受け入れ基準の設定はしっかりと行う必要があります。また、テストを進める上で発生する要求との乖離が、仕様上の不具合なのか、追加要求なのかという切り分けにも慎重を要します。普段、開発業務やテスト業務を行わない立場の人がテストを行うため、テストをしっかりと推進、コントロールすることも重要です。

気を付けたいポイント

ユーザー受け入れテストは運用開始の直前で行われるため、摘出された不具合や問題点の改修は容易ではないこともあります。運用を始められるかどうかの最終判断を行う工程となりますので、重要なポイントでも記述した通り、受け入れ基準の明確化が大切です。また、基準を見極めるためのテスト方針や設計も重要になっていきます。

まとめ

「テスト工程とは?各工程の解説とポイントを整理します!」というタイトルでご説明してまいりましたが、いかがでしたか? 一概に「テスト」といっても、工程ごとのアプローチは様々であることをご理解いただけたかと思います。テスト工程では、それぞれテストの計画、観点、技術が異なってきます。ただし最も大切なのは、「全工程を通し、どのようにテストを積み立てていくか」だと思います。何を目的に、何に対して、どうやってテストをしていくかという全体像があり、そして工程という概念に繋がります。

当社バルテスでは年間2600プロジェクト以上ソフトウェアのテストを専門に行っております。さまざまな業種・業態・職種におけるシステムやITサービスの導入時、及び運用時の品質向上につなげています。ソフトウェアの検証や品質にお悩み・課題がございましたらお気軽にご相談ください。

当サイトでは、テスト技法を学びたい方、アジャイル開発やマイグレーションのテスト手法について知りたい方、テストアウトソーシングサービスに興味のある方へ、ダウンロード資料を多数ご用意しております。ぜひダウンロードいただき、資料をご活用ください。

CONTACT

お問い合わせ

バルテスでソフトウェアの品質向上と安全を手に入れよう