Visual Summary of the Pattern Language
The Simplest Test Automation Strategy That Could Possibly Work
An Introduction to Test Smells
Chapter 3. Goals of Test Automation
Tests Should Help Us Improve Quality
Tests Should Help Us Understand the SUT
Tests Should Reduce (and Not Introduce) Risk
Tests Should Be Easy to Write and Maintain
Tests Should Require Minimal Maintenance as the System Evolves Around Them
Chapter 4. Philosophy of Test Automation
Some Philosophical Differences
Test-by-Test or Test All-at-Once?
State or Behavior Verification?
Fixture Design Upfront or Test-by-Test?
Chapter 5. Principles of Test Automation
Chapter 6. Test Automation Strategy
Which Kinds of Tests Should We Automate?
Which Tools Do We Use to Automate Which Tests?
Test Automation Ways and Means
Which Test Fixture Strategy Do We Use?
Design for Testability—Upfront
Control Points and Observation Points
Interaction Styles and Testability Patterns
Chapter 8. Transient Fixture Management
What Is a Transient Fresh Fixture?
Tearing Down Transient Fresh Fixtures
Chapter 9. Persistent Fixture Management
Managing Persistent Fresh Fixtures
What Makes Fixtures Persistent?
Issues Caused by Persistent Fresh Fixtures
Tearing Down Persistent Fresh Fixtures
Avoiding the Need for Teardown
Triggering Shared Fixture Construction
Chapter 10. Result Verification
Procedural Behavior Verification
Expected Behavior Specification
Reducing Test Code Duplication
Outcome-Describing Verification Method
Parameterized and Data-Driven Tests
Avoiding Conditional Test Logic
Using Test-Driven Development to Write Test Utility Methods
Where to Put Reusable Verification Logic?
Chapter 11. Using Test Doubles
What Are Indirect Inputs and Outputs?
Why Do We Care about Indirect Inputs?
Why Do We Care about Indirect Outputs?
How Do We Control Indirect Inputs?
How Do We Verify Indirect Outputs?
Chapter 12. Organizing Our Tests
Test Methods and Testcase Classes
Choosing a Test Method Organization Strategy
TestCase Inheritance and Reuse
Chapter 13. Testing with Databases
Ensuring Developer Independence
Testing with Databases (Again!)
Chapter 14. A Roadmap to Effective Test Automation
Roadmap to Highly Maintainable Automated Tests
Verify Direct Outputs of the Happy Path
Verify Indirect Output Behavior
Optimize Test Execution and Maintenance
Chapter 18. Test Strategy Patterns
Chapter 19. xUnit Basics Patterns
Chapter 20. Fixture Setup Patterns
Chapter 21. Result Verification Patterns
Chapter 22. Fixture Teardown Patterns
Chapter 23. Test Double Patterns
Chapter 24. Test Organization Patterns
Chapter 26. Design-for-Testability Patterns
Appendix C. xUnit Family Members
Appendix E. Goals and Principles
Appendix F. Smells, Aliases, and Causes
18.117.158.47