アジャイルプロジェクトでのテストステータス
アジャイルプロジェクトでは変更が頻繁に発生するため、テストの進捗状況やプロダクトの品質を定常的にチームへ共有し、回帰リスクを適切に管理することが求められます。
進捗と品質のコミュニケーション
Section titled “進捗と品質のコミュニケーション”アジャイルチームは、各イテレーションの終了時に「動くソフトウェア」を手にすることで進捗を確認します。テスト担当者は以下のツールや方法を用いて、進捗と品質を可視化します。
- バーンダウンチャート: イテレーションやリリース内で完了すべき残作業の量を時系列で表し、進捗を追跡します。
- アジャイルタスクボード: ストーリーカードやテストタスクのステータス(未着手、仕掛り、検証、完了など)を一目で把握できるようにします。
- デイリースタンドアップ: 日次の短時間ミーティングで、「前回完了したもの」「次回までに完了させるもの」「進捗の妨げ(ブロック)となっているもの」を共有します。
- テストメトリクスの活用: テストの合格率、欠陥密度、コードカバレッジ、コードチャーン(コードの変更量)などのデータを収集し、意思決定の判断材料にします。
回帰リスクのマネジメント
Section titled “回帰リスクのマネジメント”イテレーションを繰り返すごとにプロダクトが成長し、テストのスコープも広がります。これに伴い、以前の機能が壊れていないかを確認する「回帰テスト」の重要性が増します。
自動化によるベロシティの維持
Section titled “自動化によるベロシティの維持”大量の技術的負債を抱えずに開発速度(ベロシティ)を維持するためには、すべてのテストレベルで自動化に取り組むことが不可欠です。これにより、手動テストの繰り返しを削減し、テスト担当者は新しい機能のテストに集中できるようになります。
テスト資産の継続的な見直し
Section titled “テスト資産の継続的な見直し”変更が繰り返されるアジャイル環境では、テスト資産を常に最新の状態に保つ必要があります。
- 構成管理: テストケースやデータ、自動テストスクリプトを構成管理ツールで管理し、誰でも最新版にアクセスできるようにします。
- テストケースの整理: 関連性のなくなったテストを削除し、回帰テストスイートを最適化するための時間を確保します。
フィードバックの階層化
Section titled “フィードバックの階層化”効率的なフィードバックを得るために、テストの目的を階層化して運用します。
| テスト種別 | 内容と役割 |
|---|---|
| ユニットテスト | コードチェックイン前に実行し、ビルドを破壊していないか即時に確認します。 |
| ビルド検証テスト | デプロイ直後に実行し、不安定なビルドでテスト時間を浪費することを防ぎます。 |
| 自動受け入れテスト | システム全体に対して定期的に実行し、回帰に関するプロダクト品質を確認します。 |