12%
Quality Code: Software Testing Principles, Practices, and Patterns

Quality Code: Software Testing Principles, Practices, and Patterns

          
5
4
3
2
1

Out of Stock


Premium quality
Premium quality
Bookswagon upholds the quality by delivering untarnished books. Quality, services and satisfaction are everything for us!
Easy Return
Easy return
Not satisfied with this product! Keep it in original condition and packaging to avail easy return policy.
Certified product
Certified product
First impression is the last impression! Address the book’s certification page, ISBN, publisher’s name, copyright page and print quality.
Secure Checkout
Secure checkout
Security at its finest! Login, browse, purchase and pay, every step is safe and secured.
Money back guarantee
Money-back guarantee:
It’s all about customers! For any kind of bad experience with the product, get your actual amount back after returning the product.
On time delivery
On-time delivery
At your doorstep on time! Get this book delivered without any delay.
Notify me when this book is in stock
Add to Wishlist

About the Book

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:
Preface xiii Acknowledgments xvii About the Author xix   Part I: Principles and Practices of Testing 1   Chapter 1: Engineering, Craftsmanship, and First-Time Quality 3 Engineering and Craftsmanship 4 The Role of Craftsmanship in First-Time Quality 4 Practices Supporting Software Craftsmanship 6 Unit Testing under Code Checker Constraints 10 Unit Testing for Coverage 10   Chapter 2: Intent of Code 17 Where Did I Put That Intent? 18 Separating Intent from Implementation 18 A Simple Example That Makes You Think 19   Chapter 3: Where Do I Start? 23 An Approach to Testing 23   Chapter 4: Design and Testability 37 A Word on Design Paradigms 37 Encapsulation and Observability 38 Coupling and Testability 42   Chapter 5: Testing Principles 47 Craft Your Tests Well 47 Avoid Test Code in Production 51 Verify Intent over Implementation 52 Minimize Coupling 53 Prefer Minimal, Fresh, Transient Fixtures 54 Use Available Facilities 55 Prefer Complete over Partial Verification 55 Write Small Tests 55 Separate Your Concerns 56 Use Unique Values 57 Keep It Simple: Remove Code 58 Don’t Test the Framework 58 Sometimes Test the Framework 60   Part II: Testing and Testability Patterns 61   Chapter 6: The Basics 63 Bootstrapping Constructors 63 Testing Simple Getters and Setters 66 Share Constants 67 Locally Redefine 70 Temporarily Replace 71 Encapsulate and Override 72 Adjust Visibility 75 Verification by Injection 77   Chapter 7: String Handling 81 Verification by Containment 81 Verification by Pattern 83 Exact Verification by Value 85 Exact Verification with Formatted Results 88   Chapter 8: Encapsulation and Override Variations 91 Data Injection 91 Encapsulate Loop Conditions 94 Error Injection 96 Replace Collaborators 98 Use Existing No-Op Classes 101   Chapter 9: Adjusting Visibility 105 Packaging Tests with Code 105 Break It Down 108 Changing Access Levels 109 Test-Only Interfaces 111 Naming the Unnamed 112 Becoming friend-ly 113 Coerced Access via Reflection 114 Declarative Scope Changing 116   Chapter 10: Interlude: Revisiting Intent 119 Testing the Singleton Pattern 120 Singleton Intent 121 The Testing Strategy 121 Discerning Intent 127   Chapter 11: Error Condition Verification 129 Check the Return Value 129 Verify the Exception Type 130 Verify the Exception Message 132 Verify the Exception Payload 134 Verify the Exception Instance 137 Thoughts on Exception Design 140   Chapter 12: Use Existing Seams 145 Direct Calls 146 Dependency Injection 147 Callbacks, Observers, Listeners, and Notifiers 150 Registries 154 Factories 156 Logging and Other Facilities of Last Resort 159   Chapter 13: Parallelism 165 A Brief Introduction to Threads and Race Conditions 166 A Strategy for Race Condition Reproduction 170 Test the Thread Task Directly 173 Synchronize through Common Lock 176 Synchronize through Injection 181 Use Supervisory Control 184 Statistical Verification 187 Debugger APIs 189   Part III: Worked Examples 193   Chapter 14: Test-Driven Java 195 Bootstrapping 196 First Functionality 197 Cutting the Cord 198 Moving to Multiples 199 Ghost Protocol 200 Exercising Options 203 Moving Downstream 204 Retrospective 207   Chapter 15: Legacy JavaScript 209 Getting Started 210 DOMination 211 On Toothpaste and Testing 213 Scaling Up 215 Software Archeology 217 Retrospective 218   Bibliography 219 Index 221


Best Sellers


Product Details
  • ISBN-13: 9780133017045
  • Publisher: Pearson Education (US)
  • Publisher Imprint: Addison Wesley
  • Language: English
  • Sub Title: Software Testing Principles, Practices, and Patterns
  • ISBN-10: 0133017044
  • Publisher Date: 13 Nov 2013
  • Binding: Digital download
  • No of Pages: 257
  • Weight: 1 gr


Similar Products

How would you rate your experience shopping for books on Bookswagon?

Add Photo
Add Photo

Customer Reviews

REVIEWS           
Click Here To Be The First to Review this Product
Quality Code: Software Testing Principles, Practices, and Patterns
Pearson Education (US) -
Quality Code: Software Testing Principles, Practices, and Patterns
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Quality Code: Software Testing Principles, Practices, and Patterns

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book
    Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!
    ASK VIDYA