Facebook x

ジャンル

テスト技法・工程 2024.02.07
x hatenabookmark

テストプロセス5つの手順と各プロセスの実施内容を詳しく解説

監修: 堀 明広

バルテス・ホールディングス株式会社 R&C部 部長 兼 首席研究員

テストプロセス5つの手順と各プロセスの実施内容を詳しく解説

ソフトウェア開発におけるテスト工程は、開発する製品の性質や開発プロジェクトを取り巻く環境によって、テストの方針は異なります。
ただし、どのようなテストを行う場合でも、品質担保のためのプロセスを事前に練って、計画的にテストを進めていくことが非常に重要になります。

今回の記事では、代表的なテストプロセスの手順、および各プロセスの目的と具体的な作業についてご紹介します。

もくじ
  1. テストプロセスの主な5つの流れ
    1. テスト計画とコントロール
    2. 分析と設計
    3. 実装と実行
    4. 終了基準の評価とレポート
    5. 終了作業
  2. まとめ

1.テストプロセスの主な5つの流れ

JSTQB(※)によると、テストプロセスは計画から評価終了後の作業までを含めて、5つに大別されています。
テスト対象の規模やプロジェクトの緊急度によっては一部プロセスが簡略化されたり同時進行したりする場合もありますが、おおむね下記の順序で進行します。

5つのアクティビティ.png

本記事では、この5つのアクティビティについて、順番に解説していきます。

※JSTQB(日本ソフトウェアテスト資格認定委員会)。「Japan Software Testing Qualifications Board」の略で、日本におけるソフトウェアテスト技術者資格認定の運営組織。ソフトウェアテストの国際的な資格認定団体であるISTQB(International Software Testing Qualifications Bord)に加盟しているため、JSTQBが運営する資格は海外でも有効。

1-1.テスト計画とコントロール

最初の「テスト計画とコントロール」のフェーズでは、テストの目的を設定します。

実施するテスト対象の開発理由や仕様の背景、納期などを考慮し、テストで何を達成すべきかを定義します。

ここで重要になるのが、テスト対象の範囲(スコープ)の定義とテストの深さ・網羅性の決定です。開発後に起こりうるリスクを想定し、実施するテストで保証されるべきポイントとその優先順位や重要度をもとに、どのようなテストを何のために行うか決定していきます。

また、テストの目的以外に、テスト工程全体をコントロールするための基準や各種管理も決定します。例えば、テスト終了基準、テスト結果の計測・分析方法、進捗やテストカバレッジの管理方法、欠陥修正を行うタイミングなどです。

1-2.分析と設計

続いて、「分析と設計」のフェーズでは、テスト計画をもとに具体的なテスト手法を準備します。

「分析」の工程では、以下の作業を行います。

  • テスト対象の要求仕様といったドキュメントや、インターフェースなどの「テストベース」の情報収集
  • 収集した情報をテストの目的と照らし合わせ、実行すべきテストの手法や条件、テストタイプの決定

その後の「設計」フェーズでは分析結果をもとにテストを設計していきます。

テスト目的やテスト条件に見合うようなテストパターンを想定し、テスト技法を用いて適切なパターン・ケース数を採用しましょう。その際、想定するテスト環境における条件の洗い出しも行い、次工程で行うテストの「実装」に備えることが大切です。

1-3.実装と実行

「実装と実行」フェーズは、テスト設計を元にテストケースを作成し、それを実行する作業を行います。

「実装」の工程では、テストの実施手順や確認内容、テスト実施時に用いるテストデータを作成します。この時、実施手順や確認内容は、誰が実行しても同一になるよう、具体的な記述である必要があります。また、テスト自動化を行う場合には、テストスクリプトの作成もこの工程で行います。

「実行」の工程では、設計・実装を経て作成したテストケースを、テスト環境下で実際に実行します。テストケースに沿ってシステムを操作し、期待値の確認と画面キャプチャや出力データなどの結果を確認できる証跡(エビデンス)を取得していきます。

テスト工程で確認した結果は期待値に合致する・しないかによらず、全て記録に残すことが重要です。

テスト実行途中に期待値にそぐわない結果を検知した場合、インシデント報告(=欠陥報告)や動作原因を特定します。報告・調査の結果、システムの修正が行われる場合は、修正内容を把握した上で、追加修正の影響範囲となるテストケースを再実行(回帰テスト)していきます。

1-4.終了基準の評価とレポート

「終了基準の評価とレポート」フェーズでは、テストケースを全て消化した後の終了判定と結果報告を、開発者や管理者、テストを依頼したクライアントなどに行っていきます。

テストケース実行時のバグの検出状況を、テスト計画と照らし合わせ、終了基準に到達しているかを確認します。

終了基準に満たない場合は強化テストが必要になるケースもあります。

1-5.終了作業

「終了作業」のフェーズでは、終了判定後のテストの成果物を確認し、テスト結果から得た情報や教訓をもとに、今後のテストプロセスの改善活動を行います。

発生したバグが全て報告・対処されているか、全てのテストケースが漏れ無く実行されているかなど、テスト実行結果の確認を行い計画通りのテストが実施されたか評価していきます。また、作成したテストケースのうち資産となるものは、文書化や自動化して次回以降のテスト実行に備えることが重要です。

テスト工数の兼ね合いからこの終了作業が実施されないこともありますが、長期的なテスト設計・実行負担の削減を考慮すると非常に重要な工程となります。終了作業に必要な工数は最低限確保するようにしましょう。

まとめ

テストプロセスは、主に「テスト計画とコントロール」「分析と設計」「実装と実行」「終了基準の評価とレポート」「終了作業」の5段階です。

テスト計画では、テスト対象の範囲(スコープ)の定義とテストの深さ・網羅性の決定が重要となります。また、「終了作業」のフェーズは省略されることが多いですが、次回以降のテストに活用するために必要な工程なので、最低限の工数の確保は必要です。

計画からテスト実施、終了後作業までの各工程をはじめから全てを完璧に行うのは、非常に難しいかもしれません。しかし、テストプロセスを定義してテスト自体を向上させてくことは、品質管理上非常に重要なテーマです。各工程の目的や手順を理解し、一歩ずつ取り組んでみてください。

テスト技法・工程
x hatenabookmark

監修: 堀 明広

バルテス・ホールディングス株式会社 R&C部 部長 兼 首席研究員

組込み系プログラマー、ソフトウェア品質管理を経て、現職はバルテス株式会社 R&C部 部長 兼 上席研究員。担当業務は社内人材育成、検証・分析の技術開発、標準化、セミナー講師。訳書は『ソフトウェアテスト293の鉄則』(日経BP、共訳)、『ISO/IEC/IEEE 29119 ソフトウェアテスト規格の教科書』(バルテス、監訳)。著書は『ソフトウェア見積りガイドブック』(オーム社、共著)、『続・定量的品質予測のススメ』(佐伯印刷、共著)、『IT業界の病理学』(技術評論社、共著)。得意分野はバグ分析。