書籍
単体テストの考え方/使い方
Vladimir Khorikov
概要
保守性が高く価値のあるテストを論理的に定義し、 リファクタリング耐性を損なうアンチパターンを避ける実践ガイド。
対象読者
- テスト品質を向上させたいエンジニア
- テスト保守コストの課題に直面している開発者
タグ
奥付
- 出版社
- マイナビ出版
- ISBN
- 978-4839981723
- 出版日
- 2022年12月
- 参考定価
- ¥4,488税込Amazonの実売価格と異なる場合があります
この本を手に入れる
※ 上記は Amazon アソシエイトによる広告リンクです。関連書籍
前提となる書籍
- 推奨前提
Clean Architecture
達人に学ぶソフトウェアの構造と設計
Robert C. Martin
理由: 依存の向きを制御するアーキテクチャを学ぶと、そのテスタビリティの恩恵を最大化するテスト設計の原則が欲しくなる。単体テストの考え方/使い方は「良いテストとは何か」を定義し、アーキテクチャが生む疎結合をテストの価値に変換する。
- 推奨前提
Spring徹底入門
Spring FrameworkによるJavaアプリケーション開発
株式会社NTTデータ
理由: Spring でアプリを書けるようになったら、その振る舞いを保証する単体テストを「正しく」書く原則を学ぶ。テストの量だけでなく質――何を検証し何をモックすべきか――を理解することで、変更に強く壊れにくいテストスイートを育てられる。
- 推奨前提
テスト駆動開発
Kent Beck
理由: TDD の小さなサイクルで「動くテスト」を書く感覚を得たら、何を・どの粒度でテストするかの設計原則へ進む。良いテストは壊れにくく、リファクタリングを妨げず、回帰を確実に捉える。
次に読む書籍
- 推奨前提
Web APIテスト技法
Testing Web APIs
Mark Winteringham
理由: 単体テストの原則を身につけたら、サービス境界をまたぐ API のテスト戦略へ視野を広げる。Testing Web APIs はテストピラミッドの上位――統合・契約・E2E――をどう配分するかを示し、単体テストだけでは守れない API の信頼性を確保する。
- 推奨前提
Effective Software Testing
A developer's guide
Maurício Aniche
理由: 良いテストの性質(回帰の検出・壊れにくさ・素早いフィードバック)を理解したら、境界値分析・同値分割・構造化テストといった体系的な技法で「何をテストすべきか」を引き上げる。直感頼みのケース選びを工学にする。
- 推奨前提
フルスタックテスティング
10のテスト手法で実践する高品質ソフトウェア開発
Gayathri Mohan
理由: 単体テストの土台ができたら、テストピラミッドに沿って統合・契約・E2E テストを適切な比率で積み上げ、システム全体の品質戦略へ広げる。下層を厚く、上層を薄くが原則。
- 推奨前提
フロントエンド開発のためのテスト入門
今からでも知っておきたい自動テスト戦略の必須知識
吉井健文
理由: テスト設計の原則はフロントエンドにも通じる。テストピラミッドを土台に、UI は少数の E2E で要を押さえ、ロジックは単体で厚く守る——層を跨いでも判断基準は同じ。
- 参考
レガシーコード改善ガイド
Michael C. Feathers
理由: 良いテストの原則を理解したら、テストを書きにくいレガシーコードへその原則を適用する。依存を断ち切る継ぎ目を作り、特性テストで現状の振る舞いを固定してから安全に変更する。
- 参考
実践テスト駆動開発
テストに導かれてオブジェクト指向ソフトウェアを育てる
Steve Freeman, Nat Pryce
理由: テスト単体の良し悪しを判断できるようになったら、テストでオブジェクトの責務と協調を「育てる」設計手法へ広げる。テストダブルの使い分けが設計のフィードバックになる。