自分の理解を深めるためにまとめてみました。16章の続きです。
17章 信頼性のためのテスト
テストの種類
- ユニットテスト
- 最も小規模なテスト。
- 結合テスト
- 組み上げられたコンポーネントのテスト。依存性注入が使われる。
- システムテスト
- リリース前の最大規模のテスト。内訳として、スモークテスト、パフォーマンステスト、回帰テストがある。
- 設定テスト
- ストレステスト
- 目一杯負荷をかけて挙動を確認する。
- カナリアテスト
- 複数あるサーバのうち一部だけ新バージョンに切り替えて、動作確認を行う。
テストの作成と環境の構築
もし途中からプロジェクトに参画した場合は、最大のインパクトで最小の労力で生み出せるようなテストからはじめる。明らかに壊れているソフトウェアをリリースすることは開発者にとって最も重大な罪である。
テストの文化を確立する方法
- 発生したバグに対してテストケースを作っていく。
- テスト用のインフラを構築する。
- ソースコード管理システム
- 継続的ビルドの仕組み
大規模なテスト
スケーラブルなツールのテスト
ディザスタのテスト
(18章に続く)