ソフトウェアテストプロセスについて

ソフトウェアテストプロセスとは

ソフトウェアテストプロセス(Software testing process)とは

ソフトウェアテストプロセスとは、ソフトウェアテストを実施する際の一連の流れを意味します。
ISTQBではテストプロセスを、「テスト計画とコントロール」「分析と設計」「実装と実行」「終了基準の評価」「振り返り」の5段階に区分しています。



プロセス 説明
テスト計画とコントロール テスト計画とは、テストの目的を定義し、テストの計画を作成する活動のことです。
テストコントロールとは、進捗と計画を比較して、計画からの剥離の状況などを報告・是正する活動のことです。
テスト分析とテスト設計 テスト分析とは、テスト対象と効果的な手法をを明確にする工程のことです。
テスト設計とは、テスト分析の結果を受けて、テストを設計する工程のことです。
テスト実装とテスト実行 テスト実装とは、テスト設計を基にして、テスト仕様書を作成する工程のことです。
テスト実行とは、テスト計画に基づき、テスト仕様書の通りにテストを実行して、期待と結果を比較する工程のことです。
終了基準の評価 終了基準の評価とは、テストの結果を評価し、終了判定と結果報告を実施する工程のことです。
テスト結果を総括したレポートは、ステークホルダ(クライアント、管理者、開発者など)に報告します。
テストの振り返り テストの振り返りとは、一連のテスト活動から得られた教訓を分析し、改善やフィードバックを行う工程のことです。
テスト環境やテストデータなどを次回のテストに再利用できるよう整理することも含まれます。


テスト計画とテストコントロールについて

テスト計画とは

テスト計画とは、テストの目的を定義し、テストの計画を作成する活動のことです。
具体的な活動としては、作業の方針、テストの範囲、体制、リソースの割り当て、スケジュールなどを決定します。
この工程での成果物は「テスト計画書」となります。


テストコントロール

テストコントロールとは、進捗と計画を比較して、計画からの剥離の状況などを報告・是正する活動のことです。
以下のような対策を講じて、計画通りにテストが進捗するように問題点を解決して、計画をリカバリーします。

活動 説明
計画の修正 テストに対してモニタリングを実施して、必要に応じてテスト計画(スケジュール調整や追加リソース投入など)を修正します。
対策の実施 発見された問題点やリスクに対して、適切な対策を実施します。
コミュニケーション 関係者間での情報共有を行い、テストの進捗状況や問題点について報告します。


テスト分析について

テスト分析(test analysis)とは

テスト分析とは、テストベースを分析し、どのような機能をどのようにテストするのかを明確にするプロセスのことです。
この分析活動は、テスト設計を実施するために、テストの観点を洗い出す目的で実施します。


テスト分析では、テスト可能なフィーチャーを識別し、テスト条件を決めるためにテストベースを分析する。
言い換えると、テスト分析では計測可能なカバレッジ基準から見た「何をテストするか」を決定する。
 - ISTQB Foundation Level シラバスより -

テストベース(test basis)とは

テストベースとは、定義書・設計書やソースコードなど、テスト実施の根拠となる文書や成果物、およびその他諸々の情報のことです。


コンポーネント要件やシステム要件を推測できる全てのドキュメント。これらのドキュメントがテストケースのベースとなる。
公式な改訂手順を経ないとドキュメントの改訂ができない場合、そのテストベースを「凍結テストベース」と呼ぶ。 
 - ISTQB用語集より - 

テストレベルごとに分析するべきテストベースは異なります。

テスト対象 テストベース
受け入れテスト 要求分析、企画書、RFP(提案依頼書)
システムテスト 要件定義書(ビジネス要件、機能要件、システム要件)、ユースケース(ユーザーストーリー)
統合テスト 外部設計書、モデル図(UMLやER図など)、アーキテクチャー図など
コンポーネントテスト 内部設計書、ソースコード、インターフェース図、利用ライブラリ、開発ツールなど

テスト分析の方法

テスト分析は一般的には以下のように進めます。
(1)テストベースを確認して、テスト対象の理解を深める。
(2)テスト対象の機能要素と非機能要素(リスクを含む)を洗い出す。
(3)テストの範囲や優先順位を決定する。


テスト仕様書について

テスト仕様書とは

テスト仕様書とは、ソフトウェアに対して、どのような機能をどのようにテストするのかを記した文書のことです。
ISTQB用語集では「テストアイテムに対するテスト設計、テストケース、テスト手順をすべてドキュメントにしたもの」と定義されています。
つまり、テスト仕様書は、テスト設計仕様書・テストケース仕様書・テスト手順書によって構成される文書ということです。


テスト設計仕様書(test design specification)

テスト設計仕様書とは、テストする内容や目的や内容を設計して、テスト戦略を定義した文書のことです。
テスト対象となるシステムやソフトウェアに対して、「テスト範囲」「テスト観点」「テスト条件」などを決定します。


(テスト設計とは)テスト条件から、テストケースを導出し明確化する活動
 - ISTQB用語集より - 

テストケース仕様書(test case specification)

テストケース仕様書とは、テストケースの仕様を定義する文書のことです。
この仕様書は、テスト担当者がソフトウェアやシステムが期待通りに動作することを確認するために、具体的な実施手順を明確に把握できることを目的に作成されます。

テストケース(test case)とは、テストの具体的な手順や条件の集まり(入力、実行条件、テスト手順、および期待される結果)の仕様のことです。
つまり、テスト設計の方針を踏まえて作成される前提条件・入力値・期待値などのセットを意味します。


(テストケースとは)実行事前条件、入力値、アクション(適用可能な場合)、期待結果、および実行事後条件のセットであり、テスト条件に基づいて開発されたもの
 - ISTQB用語集より - 

テスト手順書(test procedure specification)

テスト手順書とは、各テストケースを実施する際の手順を詳細に説明する文書のことです。
テストに必要なツールやデバイスなどの設定手順、テストケースの期待結果を確認するのに必要な手順などを記述します。
テスト手順は、個別の文書で用意するのではなく、テストケース仕様書内に記載されることもしばしばあります。


関連ページ