テスト
ソフトウェアの動作を検証する行為。コードベースからの即時〜短期フィードバックとして、プロダクションモデルを更新する。
テストのレベル
- 単体テスト: 個別のモジュールやクラスを検証
- 結合テスト: モジュール間の連携を検証
- E2Eテスト: ユーザーシナリオ全体を検証
フィードバック特性
テストはビルドエラーよりやや遅いが、実行時の振る舞いまで検証できる。継続的インテグレーションで自動化することで、フィードバックループを短縮できる。
認知負荷との関係
テストがあることで、コード変更の影響範囲を認知的に追跡する負担が軽減される。テストはプロダクションモデルの精度を高めるセーフティネット。
TDDとの関係
Test-Driven Development(TDD)では、テストを先に書くことでコンセプトモデルを明確化する。