テスト工程について

公開日: 2025/3/14

初心に帰ってテスト工程について復習していきたいと思います。

1. ウォーターフォールモデル


ウォータフォールモデルでは、「分析」「設計」「実装」「テスト」という順に開発が進みます。

要求分析や設計など開発の前半で行われる工程を「上流」工程と呼び、開発の後半で行われる工程を「下流」工程と呼びます。

2. V字モデル


https://blog.shiftasia.com/test-process-in-system-development/


ウォーターフォールモデルの上流工程と下方工程を対応付けて、アルファベットの「V」の字で表したものをV字モデルと呼びます。

テストの工程では、対応する上流工程で定義した仕様どおりに動作するかどうかを確認します。

そのため、V字モデルの左半分すなわち上流工程を「品質を作り込む工程」、右半分すなわち下流工程(テスト)を「品質を確認する工程」と呼ぶことがあります。

3. テストの種類


システム開発のテストは大きく分けて4つに分類されます。

 1.単体テスト

 2.結合テスト

 3.総合テスト

 4.受け入れテスト


次項でそれぞれのテストの解説を行います。

3-1. 単体テスト

1.一般的な目的

 ・テスト対象(分離してテスト可能なソフトウェア)の欠陥を摘出するため

2.テストベース

 ・コンポーネント要件や仕様
 ・詳細設計
 ・ソースコード
 ・データモデル

3.テスト対象

 ・コンポーネント
 ・モジュール
 ・プログラム
 ・オブジェクト
 ・クラス
 ・データ変換/移行プログラム
 ・データベースモジュール

4.テストツール

 ・スタブ、ドライバ、シュミレータ
 ・カバレッジ測定ツール
 ・静的解析ツール
 ・デバッグツール

5.ツールによる環境

 ・スタブ、ドライバ、シュミレータなどを用いた環境
 ・ユニットテストのフレームワークを備えた開発環境
 ・デバッグツールを備えた開発環境

6.テストの種類

 ・機能テスト
 ・非機能テスト(性能など)
 ・構造テスト(デシジョンカバレッジなど)
 ・リソース動作テスト(メモリリークの検出など)
 ・ロバストネステスト

7.欠陥の扱い

 ・インシデントを正式に管理することはない
 ・欠陥を検出した直後に修正する

8.特定のアプローチ

 ・テストファーストまたはテスト駆動型開発

9.責務の割り当て

 ・コードを作成した開発者
 ・テスト担当者

3-2. 結合テスト

1.一般的な目的

 ・指定された要件を満たすことを実証するため

2.テストベース

 ・システム要求仕様
 ・OSとの相互作用を記述した要求仕様
 ・システムリソースを記述した要求仕様
 ・ソフトウェア要求仕様
 ・システムの動作を高レベルで記述したモデル
 ・ビジネスプロセス
 ・ユースケース
 ・機能仕様
 ・リスク分析レポート

3.テスト対象

 ・システム、ユーザとオペレーションマニュアル
 ・システム構成・構成データ

4.テスト環境

 ・運用と同等の環境

5.テストの種類

 ・システム機能テスト
 ・システム非機能テスト
 ・データの品質特性テスト

6.テストの技法

 ・ビジネスルールの組み合わせテストのために、使用ベースの技法(デシジョンテーブルテスト)
 ・メニュー構造やWebページのナビゲーションテストのために、後続ベースの技法(ステートメントテスト、デシジョンテスト)

7.業務割り当て

 ・テスト担当者
 ・独立したテストチーム

3-3. 受け入れテスト

1.一般的な目的

 ・システムが、ユーザーにニーズ、要件、ビジネスプロセスを満足するかをチェックするため
 ・システム全体、システムの一部、非機能的な特性が正しいことを確認するため

2.テストベース

 ・ユーザ要件
 ・システム要件
 ・ユースケース
 ・ビジネスプロセス
 ・リスク分析レポート

3.テスト対象

 ・統合が完了しているシステム上のビジネスプロセス
 ・操作と保守プロセス
 ・ユーザの利用手順
 ・書式
 ・レポート
 ・構成データ

4.テストの種類

 ・ユーザ受け入れテスト
 ・運用受け入れテスト
 ・契約による受け入れテスト
 ・規定による受け入れテスト
 ・アルファテスト
 ・ベータテストあるいはフィールド

5.責務割り当て

 ・システムを使う顧客
 ・システムを使うユーザ
 ・ステークホルダ

4. 最後に


工程ごとの目的を忘れていましたので復習してよかったです。

今回学んだことを意識してテストを行っていきたいと思います。

最後まで、読んで頂きありがとうございました。