- STAFF PICKS
- GIFTS + GIFT CARDS
- SELL BOOKS
- FIND A STORE
Quality Code: Software Testing Principles, Practices, and Patternsby Stephen Vance
Synopses & Reviews
• 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
In 1999, eXtreme Programming (XP) brought the practices of test-first development to the forefront. Test-driven development (TDD) as a practice has taken on a life of its own, independent of its use in XP. Test-driven, test-first and test early development practices have become commonplace in the industry with the benefits of improving software design and testability. In Quality Code , Stephen Vance changes the concept of what is possible and reasonable in testing thoroughness and advances the software industry’s capacity for first-time quality.
This book provides the conceptual framework and hands-on guidance for easy and routine testing of the full spectrum of code constructs. Using real-world code examples, Vance leads you through the implementation patterns you can use to thoroughly test your software and the principles necessary to understand how to apply them on your way to producing Quality Code .
The book includes
Quality Code contains years of experience from numerous highly skilled software engineers in the practice of unit testing. Whether you are writing the next new thing at a startup or trying to tame an unruly legacy system, this book will make you a more effective developer of Quality Code .
This practical, solutions-focused book shows software professionals how to easily and routinely achieve exceptionally high coverage in their unit tests, and use that coverage to significantly improve first-time quality in their software.
Long-time developer and testing expert Stephen Vance shows why guidelines recommending coverage of 80% of statements (or some other arbitrary number) are insufficient — and why 100% coverage in multiple metrics is both valuable and achievable. One realistic example at a time, Vance dispels the myth that high coverage unit testing is hard and not worth the effort by demonstrating the implementation patterns and refactorings that make it possible and even easy.
With Vance’s guidance, you can:
About the Author
Stephen Vance has been a professional software developer, consultant, manager, mentor, and instructor since 1992. He has practiced and taught code-level, automated testing techniques since 1997. He has worked across a broad range of industries for companies ranging from start-ups to Fortune 100 corporations. He has spoken at software conferences throughout the United States and Europe. Stephen lives with his wife near Boston, Massachusetts.
Table of Contents
1. Engineering, Craftsmanship, and First-time Quality
Part I: Principles and Practices of Testing
2. Where Do I Start?
3. Looking at Code
4. Good Design and Design for Testability
Part II: Testing and Testability Patterns
6. The Basics
7. String Handling
8. Encapsulation and Override Variations
9. Adjusting Visibility
10. Testing Pattern Implementations
11. Error Condition Verification
12. Using Existing Facilities
Part III: Worked Examples
What Our Readers Are Saying
Computers and Internet » Software Engineering » General