Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
OK
Quality Code: Software Testing Principles, Practices, and Patterns 1st Edition
- ISBN-100321832981
- ISBN-13978-0321832986
- Edition1st
- Publication dateNovember 25, 2015
- LanguageEnglish
- Dimensions7.25 x 0.5 x 9 inches
- Print length252 pages
Editorial Reviews
From the Author
Looking around, I realized that no one had written squarely on this topic. There are lots of great books by the likes of Bob Martin, Michael Feathers, Lasse Koskela, Kent Beck, Steve Freeman and Nat Pryce, Martin Fowler, Joshua Kierevsky, and others that address approaches to testing, the importance of testing, and so forth. In the process they show techniques for bringing code under test, but it's usually secondary to the points being made. The only exception to this is Michael Feathers' "Working Effectively with Legacy Code" but it has a very specific focus that necessarily limits the techniques discussed.
Many of the examples of the book are in Java, although overall I use a dozen or so languages for examples. This is largely an artifact of the language I was most immersed in when the seed of the idea was planted. There are many examples from JavaScript, including one of the worked example chapters. With a few exceptions that I tried to point out, almost all of the techniques can be applied in most languages with only a little adaptation, so if Java and JavaScript are not your primary tools, you should still be able to leverage the techniques.
Happy testing!
About the Author
Product details
- Publisher : Addison-Wesley; 1st edition (November 25, 2015)
- Language : English
- Paperback : 252 pages
- ISBN-10 : 0321832981
- ISBN-13 : 978-0321832986
- Item Weight : 14.7 ounces
- Dimensions : 7.25 x 0.5 x 9 inches
- Best Sellers Rank: #301,233 in Books (See Top 100 in Books)
- #100 in Software Testing
- #589 in Computer Science (Books)
- #9,577 in Unknown
- Customer Reviews:
About the author
Discover more of the author’s books, see similar authors, read author blogs and more
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
Part 2 was where the rubber met the road. The author goes into each possible basic test type you could see in Java. Maybe it's because I usually write in Ruby, but I didn't really care much for this section and glossed over it.
One thing that was nice was the small coverage for Javascript. Since that's the new trend right now, I can see why the author included it. However, in the end, this book has an issue with focus. Is it for Java developers? Javascript developers? If for both, it could have done a better job by focusing on one or the other. Overall, Part 1 is great. If you're a Java dev that's interested in good testing practices, Part 2 should also meet your needs.
One thing I really like about this book is that it teaches how to bake quality principals into the code and does not distinguish between a developer and a tester, but teaches these skills to the Agile team member. That being said, the reader should have coding skills in order to gain the benefits of the advice, and the book is more pertinent for the developer who wants to learn testing skills rather than the manual tester who wants to learn test automation skills.
The author does a great job of providing examples and patterns that will help the seasoned coder to thoroughly test and create a high quality application. In our modern world of continuous delivery, we must evaluate for test coverage and automation as a priority. This book will help the software development team learn the necessary skills to guarantee quality from the start.
If you fit that profile, this book is great. It discusses many mid-level concepts such as the nuts and bolts of how to take some specific systems and get them under tests. It talks in specifics about how to approach bringing legacy Javascript under test. It delves into more practical examples than many of the canonical texts in the field (such as "XUnit Test Patterns", "Refactoring", "Working Effectively with Legacy Code"), and so contains more "street smarts" than those books.
But I don't feel like this text is a good introduction to testing as a concept - it assumes a working knowledge of the field. It also won't serve as a good refernce to an expert test-driven development engineer. But if you're in the middle, and need a text to get you to a journeyman level - this is a fine place to look.
Verify Intent over Implementation
Prefer Minimal, Fresh, Transient Fixtures
Write Small Tests
Separate Your Concerns
Stephen also covered topics like testability patterns and testing parallelism techniques to verify conditions like race conditions or dead locks.
This is a great book to own for the software developers using agile methodologies and test driven design and development techniques in their projects. It contains several practical examples of best practices in delivering quality code.