Book description
Test-driven, test-first, and test-early development practices are helping thousands of software development organizations improve their software. Now, in Quality Code: Software Testing Principles, Practices, and Patterns, Stephen Vance builds on all that’s been learned about test-driven development, helping you achieve unprecedented levels of first-time quality. Using real-world code examples, this guide introduces patterns, principles, and more than two dozen detailed techniques for testing any software system more fully, effectively, and painlessly. Vance presents a conceptual framework to help you focus your efforts and design recommendations for improving testability across the software lifecycle, and also provides hands-on guidance to simplify testing of the full spectrum of code constructs. You’ll learn how to choose the best testing techniques for every situation, from the most common scenarios to threading. Two complete case studies put it all together, walking you through testing a brand-new Java application and an untested “legacy” JavaScript jQuery plugin. Whether you’re developing cutting-edge code for a new start-up, or maintaining an unruly old system, this guide will help you deliver exactly what you need: quality code.
• Simplify unit testing of all your code—and improve integration and system testing
• Delineate intent and implementation to promote more reliable and scalable testing
• Overcome confusion and misunderstandings about the mechanics of writing tests
• Test “side effects,” behavioral characteristics, and contextual constraints
• Understand subtle interactions between design and testability—and make them work for, not against, you
• Discover core principles that guide your key testing decisions
• Explore testing getters/setters, string handling, encapsulation, override variations, visibility, singleton patterns, error conditions, and more
• Reproduce and test complex race conditions deterministically
Table of contents
- Cover Page
- About This eBook
- Title Page
- Copyright Page
- Dedication Page
- Contents
- Preface
- Acknowledgments
- About the Author
-
Part I: Principles and Practices of Testing
- Chapter 1. Engineering, Craftsmanship, and First-Time Quality
- Chapter 2. Intent of Code
- Chapter 3. Where Do I Start?
- Chapter 4. Design and Testability
-
Chapter 5. Testing Principles
- Craft Your Tests Well
- Avoid Test Code in Production
- Verify Intent over Implementation
- Minimize Coupling
- Prefer Minimal, Fresh, Transient Fixtures
- Use Available Facilities
- Prefer Complete over Partial Verification
- Write Small Tests
- Separate Your Concerns
- Use Unique Values
- Keep It Simple: Remove Code
- Don’t Test the Framework
- Sometimes Test the Framework
-
Part II: Testing and Testability Patterns
- Chapter 6. The Basics
- Chapter 7. String Handling
- 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
- Chapter 13. Parallelism
- Part III: Worked Examples
- Bibliography
- Index
Product information
- Title: Quality Code: Software Testing Principles, Practices, and Patterns
- Author(s):
- Release date: December 2013
- Publisher(s): Addison-Wesley Professional
- ISBN: 9780133017007
You might also like
book
Software Testing: Principles and Practices
Software Testing: Principles and Practices is a comprehensive treatise on software testing. It provides a pragmatic …
book
Unit Testing Principles, Practices, and Patterns
Unit Testing Principles, Patterns and Practices shows you how to refine your existing unit tests by …
book
Developer Testing: Building Quality into Software
How do successful agile teams deliver bug-free, maintainable software—iteration after iteration? The answer is: By seamlessly …
book
Complete Guide to Test Automation: Techniques, Practices, and Patterns for Building and Maintaining Effective Software Projects
Rely on this robust and thorough guide to build and maintain successful test automation. As the …