ISTQB Foundation(CTFL 4.0)のChapter 2では、「ソフトウェア開発ライフサイクル(SDLC)」と「テストの関係」について学びます。
今回はその中でも最初のトピック、**「2.1 SDLCがテストに与える影響」と「良いテスト実践」**について詳しく解説します。
1. SDLCとは何か?基本をおさらい
SDLC(Software Development Life Cycle)とは、ソフトウェア開発の一連の流れを示す枠組みのことです。
代表的なフェーズは以下の通りです。
-
要件定義(Requirements)
-
設計(Design)
-
実装(Implementation / Coding)
-
テスト(Testing)
-
保守・運用(Maintenance)
SDLCは、ソフトウェアを「どのように設計・構築・検証・リリースしていくか」を定義する重要なプロセスです。
2. SDLCがテストプロセスに与える影響
SDLCの選択は、テストのタイミングや方法、文書化の仕方などに大きな影響を与えます。
ここでは、代表的なモデルごとの特徴を比較してみましょう。
● ウォーターフォールモデルの場合
-
各工程が順番に進行する。
-
テストは「開発完了後」に行われる。
-
テスターは、コードが完成するまで動的テストを行えない。
● アジャイルモデルの場合
-
各工程が並行して進行する。
-
テストは毎日のように継続的に行われる。
-
テスターは開発チームと密接に連携し、回帰テストや自動化を重視する。
● スパイラル・プロトタイプモデルの場合
-
各反復ごとに**試作版(プロトタイプ)**を顧客に提供。
-
顧客のフィードバックを受けて次の反復を改善。
-
各反復で静的・動的テストを行う。
3. SDLCの違いによるテストへの具体的な影響
|
影響項目 |
ウォーターフォール |
アジャイル |
|---|---|---|
|
テストの開始時期 |
コーディング完了後 |
要件段階から |
|
テスト文書の詳細度 |
詳細なドキュメント重視 |
軽量で柔軟 |
|
テスト手法 |
計画的・静的テスト中心 |
探索的テストが多い |
|
テスト自動化 |
限定的 |
高度に活用される |
|
テスターの役割 |
テスト実行のみ |
開発・リリース計画にも関与 |
このように、SDLCによって「テストの進め方」「必要なスキル」「成果物の形式」などが大きく異なります。
テスターは開発モデルに合わせた柔軟な対応が求められます。
4. すべてのモデルに共通する「良いテスト実践」
ISTQBでは、どの開発モデルでも共通して役立つ「良いテストの実践(Good Practices)」を以下のように挙げています。
(1) すべての開発活動に対応するテスト活動を設ける
要件定義、設計、実装といった開発の各段階に対して、それぞれに対応するテスト活動を並行して実施します。
これにより、**早期の欠陥発見(Shift-Left Testing)**が可能になります。
(2) 各テストレベルに明確な目的を持たせる
単に「テストする」だけではなく、目的を明確にします。
たとえば、
-
単体テスト → コードの正しさ確認
-
結合テスト → モジュール間の連携確認
-
システムテスト → 全体の動作確認
-
受け入れテスト → ユーザー視点での妥当性確認
このように目的を明確化することで、重複のない効果的なテストを実現します。
(3) テスト分析・設計を早い段階で始める
要件や設計のドラフト段階からテスターが関わることで、
仕様の誤り・不明点を早期に発見できます。
(4) 初期段階からレビューに参加する
文書や仕様書の初稿が出た段階でテスターがレビューに加わること。
これも「Shift Left Testing(左寄せテスト)」の一環であり、バグの流出を大幅に減らします。
5. まとめ:開発モデルに関わらず「早期・並行・目的意識」がカギ
SDLCの違いによって、テストの実施タイミングや手法は異なりますが、
共通して重要なのは次の3つです。
-
早期に関与する(Shift Left Testing)
-
開発と並行して活動する
-
各テストに明確な目的を持つ
これらの実践を意識することで、どんなSDLCモデルでも高品質なソフトウェアを効率よく開発できます。
💡ワンポイント
ISTQB Foundation試験では、
-
「SDLCとテストの関係」
-
「アジャイルとウォーターフォールの違い」
-
「Good Testing Practices」
が頻出ポイントです。
試験対策としても、ここはしっかり理解しておきましょう。



コメント