#はじめに
この記事では、ソフトウェアのテストプロセスについて説明していきます。
なお、内容についてはJSTQB(ISTQB)シラバス2018 に準じています。
テストプロセス
テストプロセスについてですが、ISTQBおよびJSTQBでは
「テストの準備段階から終了段階までの一連の作業」
とされています。テストは開発全体を通して行われるものであり、プロセスを定義しておくことは最も重要なテストの活動の1つです。
本記事では以下の3つの観点からテストプロセスについて説明します。
・テストの活動とタスク
・テスト作業成果物
・作業成果物とのトレーサビリティ
テストの活動とタスク
テストの具体的な活動とタスクについてです。
テストは主に下記の7つの活動およびタスクから成り立ちます。
-
計画
テストの目的をテストレベルごとに明らかにし全体の計画を立てます。 -
モニタリングとコントロール
テストのアクティビティやタスク状況を把握し、テストの一連のプロセスをコントロールします。 -
分析
テストを行うための情報を(機能用件や非機能用件、構成構造、設計情報)を収集し、現テストレベルおよびテスト対象に応じて必要な情報を取捨選択、再収集、新規作成することでどのようなテストをどのように行うことができるか判断する。 -
設計
分析によって明らかにしたテスト条件を満足するためにより高位に具体的なテスト内容を考える。
テスト分析は「何をテスト」するかを決定し、設計で「それをどうテストするか」を決定する。 -
実装
設計で作成された物をより詳細にテストに使えるようにまとめます。主に環境や手順、確認項目、テスト担当者のスキルなどをまとめます。 -
実行
テスト実行者が作成されたテストケースをもとにテストを行います。 -
完了
テストにおける 全体的な活動から得られた成果物(テスト実行レポート、欠陥レポート、プロジェクトにおける該当テストの情報)をまとめる。その上でテストの目的を達成しているか分析します。
これらの活動及びタスクはシーケンシャルに行うこともあれば、同時に進行することもあります。
各開発モデルに応じて省略されたりします。
##テスト作業成果物
上述したテストの活動とタスクでは全ての工程で作業成果物を残します。
具体的な内容は組織や工程によって異なりますが、テストの手順や結果、状況これらを残しておくことで
後に、網羅性の分析、テストの良し悪しの分析、バグの偏在箇所の分析等様々な場面で有用になります。
##作業成果物とのトレーサビリティ
最後にトレーサビリティについてですが、作業成果物と実際のテストにおける様々な情報の間には相互にトレーサビリティを確保しておかなければなりません。
これを怠ると、開発全体を通して一貫性と整合性を保つことは難しく、どの機能がどのテストで担保されるかなど情報が錯綜する可能性もあります。
品質の担保やステークホルダーへの情報提供などテストにおけるあらゆる情報は、参照しやすいようにしておく必要があります。
#まとめ
今回は、テストのプロセスについてざっくり書きました。
ざっくりすぎるので、今後追記していこうと思います。