KeyConductors
今さら聞けないシステムテスト【第2回】
第2回では、基本的なテストプロセスを5つのフェーズに分け、それぞれのフェーズで押さえるべきポイントについて説明したい。
意外と知らないテストプロセス
第1回では、システムテストの重要性や、テストの実行に役立つ7原則についてお伝えいたしました。しかし、実はシステムテストにおける本来の作業工程については、意外と知られていないケースが多く、開発現場によっては、その中の一部の作業をテスト工程全体として捉えてしまっていることも少なくありません。
そこで、第2回の本稿では、基本的なテストプロセスにおいて、それぞれのフェーズについてご説明したいと思います。
なお、本稿では、具体的なイメージをもっていただくため、サンプルケースとして以下のような問い合わせフォームのテストを例に挙げ、ご説明します。
1. 計画とコントロール
「計画とコントロール」のフェーズでは、テスト対象のソフトウェアの欠陥によって発生しうるビジネス上のリスクを分析した上で、テストの目的を決定し、テスト全体のグランドデザインを実施します。
【計画とコントロールフェーズで策定する主な内容】
- テスト目的の定義
- テストアプローチの決定
- テストボリュームの決定(テスト工数の見積もり)
- テストスケジュールの策定
- テストに必要なリソースの確保(費用、人員、機材、ツールなど)
上記の内容を踏まえ、問い合わせフォームのテストを行うに当たり、テスト目的、アプローチ、実施内容および実施環境をまとめると以下のようになります。
なかでも特に重要となるのが、テストプロジェクト全体の方向性を左右する「テストアプローチ」の決定です。テストアプローチとは、効果的なテストを実施するための戦略を策定することであり、具体的には下記のようなものが挙げられます。
2. 分析と設計
「分析と設計」フェーズでは、テスト計画フェーズで策定されたテスト目的に即して、テスト対象のプロダクトのアーキテクチャやリスクを分析し、具体的なテスト条件やテスト設計への落とし込みを行います。
【分析と設計フェーズで策定する主な内容】
- テスト対象物のアーキテクチャ
- テスト対象のリスク分析
- 高度なテストケースの設計
- テストデータの設計
- テストウェアの選定や設計
- テスト環境の設計
問い合わせフォームのテストにおいて、上記項目のテスト構造をモデル図に落とし込むと以下のようになります。
3. 実装と実行
「実装と実行」フェーズでは 、分析と設計フェーズにおいて洗い出したテスト観点をベースに、個々のテストケースをスクリプトや手順書に落とし込み、テスト環境のセットアップを行い、手動もしくはテストツールを用いてテストを実行します。
【実装と実行フェーズの主なポイント】
- テスト環境をセットアップする
- テストケースを実装し、優先順位を付ける
- テストデータを作成する
- 計画した順番に従い、テスト手順を手動ないしはテストツールで実行する
- テスト結果を記録する
- 実行結果と期待する結果を比較し検証する
問い合わせフォームのテストにおいて、テストケースをテスト仕様書に落とし込むと以下のような形となります。
4. 終了基準の評価とレポート
「終了基準の評価とレポート」フェーズでは、これまで実施してきたテスト実績が、テスト計画の際に定義した目的に対して妥当であるかを評価検証します。
【終了基準の評価とレポートのフェーズでの主なポイント】
- テスト記録をテスト計画作業で定義した終了基準と比較する
- 追加テストの必要性や終了基準の変更を定義する
- ステークホルダにテストサマリーレポートを書く
問い合わせフォームのテストレポートをまとめると、以下のようになります。
5. 終了作業
「終了作業」フェーズでは 、テストプロジェクトの最終局面において、終了したテストの全活動データを収集し、プロジェクトから得たことや、利用したテストツールやインフラ、実績と数字を取りまとめます。
【終了作業フェーズでの確認事項】
- 計画にある成果物がリリースされたかをチェックする
- インシデントレポートを終了させるか、もしくは未対策の欠陥を明記する
- システムを受け入れるために文書を作成する
- 反復したテストに備え、テストウェア、テスト環境、テスト インフラストラクチャをまとめ、文書に残す
終了作業の際には、テストサマリーをもとに、欠陥が多く発生していたコンポーネントやクラス、不具合修正におけるスピードや連携体制など、開発工程における課題の振り返りを行い、次期開発の品質を上げる試みが行われることもあります。
以上が基本的なテストプロセスになります。
“システムテスト”と一言でいっても、ソフトウェアとWebサービスではテスト観点やアプローチ方法が全く異なります。例えば、製造や物流、販売管理といった業務系ソフトウェアの場合、テストを計画して実施するためには、業務知識が必要となります。このように、システムテストとは、実は奥が深く、専門性の高い領域なのです。読者の皆さまがシステムテストに携わる機会がある場合は、是非このフローを意識してみてください。
次回はシステムテストの現場で頻繁に活用されている、代表的な「テストの設計技法」についてご説明いたします。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
こんなメディアも見られています
キーマンズネットに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
SpecialPR
アクセスランキング
-
1
「パスキーはワナだ、使うな」にネット騒然 プロが“待った”をかけるワケ:902nd Lap
-
2
「Gemini Notebook」で始める「AI×自動化」実践ガイド
-
3
大田区、年1000時間の問い合わせを「AI電話」で削減できるか? 実証実験で見えた課題
-
4
今、IT資格を取るならどれ? ランキングに見る「急浮上の資格」と「不動の資格」
-
5
48年も愛された名作CPU「Z80」を、引退に追い込んだ“抗えない事情”
-
6
止まらない不正アクセス、広がる情報漏えい 大手企業・公的機関を襲った10事案
-
7
「言い訳文化」から脱却のNECが足立区に伝授した生成AI活用術とは データ活用“逆算”の鉄則
-
8
なぜ、突如「PHPパニック」は起こったのか? 緊急メンテ続出の理由とその後
-
9
Microsoftの“あのキャラ”がまさかの復活? 公式「X」乗っ取り事件の珍騒動:901st Lap
-
10
C言語は「危険」と言われても、専門家が「使う価値は十分にある」と言うワケ:900th Lap
キーマンズネット SNS
インフォメーション
注目情報をチェック
キーマンズネットをフォロー