Skip to content

1.1 ソフトウェア開発ライフサイクルにおけるテスト

テストアナリスト(TA)の基本的な立ち位置と担当領域

Section titled “テストアナリスト(TA)の基本的な立ち位置と担当領域”

ソフトウェア開発ライフサイクル(SDLC)のどのモデルを採用しているかに関わらず、テストアナリスト(TA)は品質保証の要としてプロジェクトに深く関与します。

TAの専門知識は、主に「機能的適合性(Functional Suitability)」の検証に向けられます。また、エンドユーザーの視点に直結する「使用性(Usability)」「適応性(Adaptability)」「インストール性(Installability)」「相互運用性(Interoperability)」といった特定の非機能的な品質特性のテストにおいても、そのスキルを発揮します。

開発モデルによってTAの活動のタイミングやアプローチは異なりますが、「早期から品質を作り込む」という根本的な目的は共通しています。


1. 順次開発モデルにおけるTAの関与

Section titled “1. 順次開発モデルにおけるTAの関与”

ウォーターフォールモデルやV字モデルに代表される「順次開発モデル(Sequential Development Models)」では、開発のフェーズが明確に分かれています。このモデルにおいてTAは、プロジェクトの初期から終盤まで計画的にタスクを遂行します。

初期フェーズ:静的テストとテストの準備

Section titled “初期フェーズ:静的テストとテストの準備”
  • 要件定義・設計のレビュー」: 開発の非常に早い段階で、ビジネス要件ドキュメントやシステム仕様書のレビューに参加します。要件の曖昧さや矛盾、テスト不可能な仕様を「静的テスト」によって早期に発見し、欠陥の作り込みを防ぎます(フェーズ混入阻止)。
  • テスト分析と設計」: 仕様が固まるにつれて、どの条件をテストすべきか(テスト分析)を特定し、詳細なテストケース(テスト設計)を作成します。

終盤フェーズ:動的テストの実行

Section titled “終盤フェーズ:動的テストの実行”
  • システムテストと受け入れテスト」: 開発者がコーディングを終えた後の終盤のフェーズにおいて、TAは実際にソフトウェアを動かす「動的テスト」を実行します。システム全体が要件を満たしているか、ユーザーのビジネスプロセスを正しく遂行できるかを検証します。

2. アジャイル・反復型開発モデルにおけるTAの関与

Section titled “2. アジャイル・反復型開発モデルにおけるTAの関与”

スクラムに代表されるアジャイル開発や「反復的・インクリメンタルな開発モデル(Iterative and Incremental Models)」では、短い期間(スプリントやイテレーション)で開発とテストを繰り返します。TAの関与はより継続的で、コラボレーションが重視されます。

  • ユーザーストーリーの洗練と受け入れ基準の定義」: スプリント計画やリファインメント(バックログの整理)の会議に継続的に参加します。TAはビジネス担当者や開発者と協力して、ユーザーストーリーを明確にし、具体的でテスト可能な「受け入れ基準(Acceptance Criteria)」を定義します。
  • ATDDやBDDの推進」: 受け入れテスト駆動開発(ATDD)や振る舞い駆動開発(BDD)といったアプローチにおいて、TAは要件を「実行可能なテスト仕様」として表現する手助けをします。

テスト実行の柔軟なアプローチ

Section titled “テスト実行の柔軟なアプローチ”
  • 探索的テストの活用」: アジャイル開発では、詳細なテストスクリプトを事前に書き上げる時間がないことが多いため、TAの経験や直感を活かした「探索的テスト(Exploratory Testing)」や「セッションベースドテスト」が非常に有効な手段として多用されます。
  • デモセッションのサポート」: スプリントの最後に行われるレビュー(デモセッション)において、開発された機能が顧客の期待に応えているかを確認し、フィードバックを収集する役割も担います。

テストアナリストは、「順次開発モデルではドキュメントを精査し計画的にテストを実行するスキル」を、「アジャイル開発ではチームと密に連携し、変化に柔軟に対応しながら継続的にテストを行うスキル」を使い分ける必要があります。

どのライフサイクルにおいても、TAの最大の価値は**「顧客のビジネスニーズ」と「ソフトウェアの挙動」の橋渡しを行い、ソフトウェアの真の価値(機能的適合性)を保証すること**にあります。