Continuous Integration: Improving Software Quality and Reducing Risk
by Paul M. Duvall; Steve Matyas; Andrew Glover
Effective Java™, Second Edition
by Joshua Bloch
Java Concurrency in Practice
by Brian Goetz; Tim Peierls; Joshua Bloch; Joseph Bowbeer; David Holmes; Doug Lea
Head First Java, 2nd Edition
by Kathy Sierra; Bert Bates
Head First Design Patterns
by Eric Freeman; Elisabeth Robson; Kathy Sierra; Bert Bates
Effective Java™, Second Edition
by Joshua Bloch
Java Concurrency in Practice
by Brian Goetz; Tim Peierls; Joshua Bloch; Joseph Bowbeer; David Holmes; Doug Lea
Java Web Services: Up and Running, 1st Edition
by Martin Kalin
Enterprise Java developers must achieve broader, deeper test coverage, going beyond unit testing to implement functional and integration testing with systematic acceptance. Next Generation Java™ Testing introduces breakthrough Java testing techniques and TestNG, a powerful open source Java testing platform.
Cédric Beust, TestNG's creator, and leading Java developer Hani Suleiman, present powerful, flexible testing patterns that will work with virtually any testing tool, framework, or language. They show how to leverage key Java platform improvements designed to facilitate effective testing, such as dependency injection and mock objects. They also thoroughly introduce TestNG, demonstrating how it overcomes the limitations of older frameworks and enables new techniques, making it far easier to test today's complex software systems.
Pragmatic and results-focused, Next Generation Java™ Testing will help Java developers build more robust code for today's mission-critical environments.
This book
Illuminates the tradeoffs associated with testing, so you can make better decisions about what and how to test
Introduces TestNG, explains its goals and features, and shows how to apply them in real-world environments
Shows how to integrate TestNG with your existing code, development frameworks, and software libraries
Demonstrates how to test crucial code features, such as encapsulation, state sharing, scopes, and thread safety
Shows how to test application elements, including JavaEE APIs, databases, Web pages, and XML files
Presents advanced techniques: testing partial failures, factories, dependent testing, remote invocation, cluster-based test farms, and more
Walks through installing and using TestNG plug-ins for Eclipse, and IDEA
Contains extensive code examples
Whether you use TestNG, JUnit, or another testing framework, the testing design patterns presented in this book will show you how to improve your tests by giving you concrete advice on how to make your code and your design more testable.
Average Amazon.com® Rating: ![]()
![]()
![]()
![]()
Based on 10 Ratings
Pragmatic Java Testing: TestNG and Author's Rants - 2008-09-30
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
This book does a great job of introducing TestNG, showing how to use its features to set up tests for code that (inevitably) depends on various JEE APIs, and how to perform different kinds of testing (browser, database, performance etc).
There are some claims that I found hard to follow: For example, the authors advise against using mock objects to stub out external classes, then later state that servlets are hard to test outside of a container because they depend on a few external classes -- never mind that these are simple to mock out, and that the Spring testing library (which they mention elsewhere) even provides mock implementations for these classes. There are also some minor factual errors that should have been caught in the reviewing process (e.g. contrary to what is claimed, annotations can be inherited).
Then there is the "Digressions" chapter, which, as others have pointed out, should have been posted as a series of blog posts. Instead, there are some areas where more detail could have been provided. e.g. on how groups work in TestNG, or the exact semantics of the parallel test execution options. Now that TestNG has been out for a while and gained a lot of popularity, I'm sure there is also a lot more information on common problems that could be included in a future 2nd edition!
so when am I going to learn testng? - 2008-08-10
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
This book is not really about testng. it's more about the author's opinions about testing, which are for the most part valid, but I bought this book mostly for the testng part, and I guess I'll have to wait to find something more targeted towards teaching just testng.
Really, Really Weak - 2009-04-02
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
I'm surprise, in the worst sense, with this book.
I'm begining now with TDD, and studied JUnit. So, to have a second opinion, I decided read a book about TestNG, but my choice was very wrong.
The authors suppose that the reader have a full understanding of TDD and TestNG, and waste your time (and mine) talking about how TestNG is so better than JUnit. But they compare TestNG with JUnit 3! I think they are a bit outdated. If you ask my opinion, the answer is: don't buy this book!
a few rants, but a ton of useful information - 2009-01-12
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
This book does more than go into TestNG, it also goes into some wonderful discussions about theory, general practices, etc. and how they explicitly apply to the Java world. The book offers an absolutely wonderful overview of TestNG's core feature set that has made it such a powerful replacement for JUnit. The book even goes further as it looks into extensions for TestNG (including other, integrating products), frameworks that can work in cooperation with it, etc. It even dismisses many of the myths that surround the world of testing and quality assurance.
Covering all of the essentials, this book will get you started right away in testing your source in a useful, organized manner. It will also help you find many of the traps that we have *ALL* allowed ourselves to fall into. There's just about no question left unanswered by this text in regards to working with TestNG and its associated technologies, concepts, etc.
The only two things I disliked about the book should be obvious to even the novice skill sets out there, but are easily breezed through if they annoy you that much. The first is that the rants about JUnit and other things were slightly too long. The second is that it does not acknowledge when it sticks its foot in its mouth.
Testing is loaded with "Do as I say, not as I do" mentalities/concepts. It's also faced with many "Sometimes you just *HAVE* to break the rules" scenarios. The book DOES break its own rules and, while it is obvious to the reader, does not take the time to truly justify why their own rule was being broken.
Great book... easy to read, follow and take to the real world.
Recommended read for all, but I recommend skipping the rants.
Looks like a Great Book - 2009-01-06
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
I have not read this book beyond the first chapter yet, because I fell asleep reading it in the bathroom, but it looks great sitting on my desk at the office. People have been asking me about it and I tell them it is fantastic. Hopefully I will remove it from my list of things to do in life and actually get to read the rest of this text.
Some information on this page was provided using data from Amazon.com®. View at Amazon >