Part I: Principles and Practices of Testing
Chapter 1: Engineering, Craftsmanship, and First-Time Quality
The Role of Craftsmanship in First-Time Quality
Practices Supporting Software Craftsmanship
Unit Testing under Code Checker Constraints
Separating Intent from Implementation
A Simple Example That Makes You Think
A Conceptual Framework for Testing
Chapter 4: Design and Testability
Encapsulation and Observability
Representational Encapsulation
Encapsulation, Observability and Testability
Verify Intent over Implementation
Prefer Minimal, Fresh, Transient Fixtures
Prefer Complete over Partial Verification
Part II: Testing and Testability Patterns
Testing Simple Getters and Setters
Exact Verification with Formatted Results
Chapter 8: Encapsulation and Override Variations
Chapter 9: Adjusting Visibility
Chapter 10: Interlude: Revisiting Intent
Chapter 11: Error Condition Verification
Chapter 12: Use Existing Seams
Callbacks, Observers, Listeners, and Notifiers
Logging and Other Facilities of Last Resort
A Brief Introduction to Threads and Race Conditions
A Strategy for Race Condition Reproduction
Synchronize through Common Lock
3.138.37.191