Skip to content

アジャイルプロジェクトでのテストステータス

アジャイルプロジェクトでは変更が頻繁に発生するため、テストの進捗状況やプロダクトの品質を定常的にチームへ共有し、回帰リスクを適切に管理することが求められます。

進捗と品質のコミュニケーション

Section titled “進捗と品質のコミュニケーション”

アジャイルチームは、各イテレーションの終了時に「動くソフトウェア」を手にすることで進捗を確認します。テスト担当者は以下のツールや方法を用いて、進捗と品質を可視化します。

  • バーンダウンチャート: イテレーションやリリース内で完了すべき残作業の量を時系列で表し、進捗を追跡します。
  • アジャイルタスクボード: ストーリーカードやテストタスクのステータス(未着手、仕掛り、検証、完了など)を一目で把握できるようにします。
  • デイリースタンドアップ: 日次の短時間ミーティングで、「前回完了したもの」「次回までに完了させるもの」「進捗の妨げ(ブロック)となっているもの」を共有します。
  • テストメトリクスの活用: テストの合格率、欠陥密度、コードカバレッジ、コードチャーン(コードの変更量)などのデータを収集し、意思決定の判断材料にします。

イテレーションを繰り返すごとにプロダクトが成長し、テストのスコープも広がります。これに伴い、以前の機能が壊れていないかを確認する「回帰テスト」の重要性が増します。

自動化によるベロシティの維持

Section titled “自動化によるベロシティの維持”

大量の技術的負債を抱えずに開発速度(ベロシティ)を維持するためには、すべてのテストレベルで自動化に取り組むことが不可欠です。これにより、手動テストの繰り返しを削減し、テスト担当者は新しい機能のテストに集中できるようになります。

変更が繰り返されるアジャイル環境では、テスト資産を常に最新の状態に保つ必要があります。

  • 構成管理: テストケースやデータ、自動テストスクリプトを構成管理ツールで管理し、誰でも最新版にアクセスできるようにします。
  • テストケースの整理: 関連性のなくなったテストを削除し、回帰テストスイートを最適化するための時間を確保します。

効率的なフィードバックを得るために、テストの目的を階層化して運用します。

テスト種別内容と役割
ユニットテストコードチェックイン前に実行し、ビルドを破壊していないか即時に確認します。
ビルド検証テストデプロイ直後に実行し、不安定なビルドでテスト時間を浪費することを防ぎます。
自動受け入れテストシステム全体に対して定期的に実行し、回帰に関するプロダクト品質を確認します。