Skip to content

アジャイルテストの方法

JSTQB アジャイルテスト担当者シラバスの「3.1 アジャイルテストの方法」について、テスト担当者の視点で要約します。

アジャイルプロジェクトでは、開発の初期段階からテストを組み込む「テストファースト」の考え方や、自動化のバランス、テストタイプの分類を理解することが不可欠です。

テストファーストアプローチ(TDD, ATDD, BDD)

Section titled “テストファーストアプローチ(TDD, ATDD, BDD)”

アジャイルでは、実際にコードを記述する前にテストを定義する技法が活用されます。これらは相互に補完し合う関係にあります。

  • TDD(テスト駆動開発): ユニットレベルのテストを先に書き、そのテストを通すように実装・リファクタリングを繰り返す手法です。
  • ATDD(受け入れテスト駆動開発): ユーザーストーリー作成時に、開発・テスト・ビジネスの三者で受け入れ基準(テスト)を定義し、それをガイドに開発を進めます。
  • BDD(ビヘイビア駆動開発): 「Given/When/Then」形式でシステムの振る舞いを記述し、ステークホルダーが理解しやすい形で要件をテスト化します。

テストピラミッドは、各レベルにおける自動テストの理想的なボリュームバランスを表すコンセプトです。

  • 底辺(ユニットテスト): 最もボリュームが多く、実行速度の速い自動テストを配置します。
  • 中間(統合・サービス): APIレベルなどのテスト。
  • 頂点(システム・受け入れ): GUIベースのテストなどは、保守コストが高いため数を絞ります。

この構造により、欠陥をライフサイクルの早期に削減し、迅速なフィードバックを可能にします。

テストの目的を「テクノロジ指向 / ビジネス指向」と「チームの支援 / プロダクトの評価」の2軸で4つに分類したモデルです。

象限特徴主なテスト内容
第1象限 (Q1)テクノロジ指向・チーム支援ユニットテスト、コンポーネントテスト(自動化必須)
第2象限 (Q2)ビジネス指向・チーム支援機能テスト、ストーリーテスト、プロトタイプ(手動/自動)
第3象限 (Q3)ビジネス指向・製品評価探索的テスト、使用性テスト、ユーザ受け入れテスト(手動中心)
第4象限 (Q4)テクノロジ指向・製品評価性能、セキュリティ、信頼性などの非機能テスト(ツール活用)

スクラムなどの現場では、テスト担当者は単に実行するだけでなく、以下の活動を主導します。

  • スプリントゼロでの準備: ツール導入、テスト戦略の策定、完了(Done)の定義への寄与。
  • 統合戦略の立案: 機能間の依存関係を識別し、継続的なデリバリーを可能にする統合・テスト順序を計画。
  • ペアリング: 開発者やビジネス側とペアを組み、インクリメンタルなテスト設計やマインドマップの活用など、ベストプラクティスを実践。