Most Helpful Customer Reviews
18 of 19 people found the following review helpful:
5.0 out of 5 stars
Solid and practical, if occasionally quirky, July 25, 2003
This review is from: Unit Testing in Java: How Tests Drive the Code (The Morgan Kaufmann Series in Software Engineering and Programming) (Paperback)
This book starts by covering general techniques in unit testing, including when and why to do it, how to know if you are doing it right, and how it integrates with other development practices. This is good stuff, but mostly also covered in other books. The section on Mock Objects is especially well done though, illuminating an often misunderstood topic area. The latter half is where this book shines. It tackles some of the really tough areas and does it very well. Singletons, database persistence, asynchronous services, concurrent and distributed systems, web applications and graphical user interfaces; all these are often skipped over as "too hard to test". If you've ever found yourself thinking something like that, you need this book. This book is a translation from a German original. Although the translators have done a tremendous job with the technical content, sometimes a phrase or section title, especially in the initial introduction can seem very unusual. Don't be put off by the quirky language in the early chapters, the meat of the book is well worth reading and putting into practice. This book is a masterly example of how to convert programming theory into solid, practical advice.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
14 of 14 people found the following review helpful:
4.0 out of 5 stars
Thorough, pragmatic and enjoyable, June 12, 2003
This review is from: Unit Testing in Java: How Tests Drive the Code (The Morgan Kaufmann Series in Software Engineering and Programming) (Paperback)
Let me first say that this book has not been my first contact with unit testing and test-driven programming: I recently read Kent Beck's "Test-Driven Development" and followed some of the unit testing threads in the Extreme Programming discussion group. Beck's book left me somewhat helpless and thinking "And how do I use that in real work?" Johannes Link's book had much more to offer for me in that respect, especially in the second part where he tackles the problems of web apps, database programming, user interfaces and distributed programs. I certainly liked his treatment of mock objects. Mr Link seems to be a pragmatic proponent of test-driven development - a good thing as far as I'm concerned - and he also has lots of reasonable advice for those testing their programs after the fact. On the downside there is this chapter about unit testing within more traditional software development. These pages might be useful for others; I don't think they belong in this otherwise very enjoyable book.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
6 of 6 people found the following review helpful:
5.0 out of 5 stars
Clear and practical, August 24, 2004
This review is from: Unit Testing in Java: How Tests Drive the Code (The Morgan Kaufmann Series in Software Engineering and Programming) (Paperback)
This is a very readable introduction to unit testing, a good first book for anyone wanting a sound approach to software testing.
The main text is divided into two parts. The first is a clear introduction to the basics of the JUnit test framework. The pace is gentle, and the entire discussion is built around sample code - very helpful for the beginner who thinks in concrete terms. Link (the author) omits the JUnit API information that's already available in JUnit's JavaDoc pages. Those are just the basic words available in the framework; Link's goal is to put them together into meaningful test phrases. Throughout this half of the book, the reader is shown a number of common situations with non-obvious solutions. At each step, Link presents a little theory (plus some nice references), a little refactoring to improve the system's testability, and enough sample code to make the solution clear. This isn't a textbook on the theory of testing. Still, by the end of this first section, the reader has been exposed to many ideas: coverage metrics, internet resources, design and implementation for testability, and a lot more.
The book is heavily oriented towards Java, partly because of the relative wealth of test tools available and because of Java features and APIs that support automated testing. Having chosen Java, it is natural to ask testing for unique features of the Java environment: GUIs, persistence, EJB, servlets, RMI, and more. Link covers those in the book's second half. Many of these chapters are specific to Java technologies and APIs. Some, like the GUI discussion, have value beyond the Java specifics they discuss. Even if the language and APIs change, many of the techniques will work well in any GUI programming environment. This section ends at a strategic level: introducing testing into existing workflows, handling of legacy systems, and management issues.
Link has written a very helpful introduction to testing. It has enough specifics to get a beginner started, or to help an old hand deal with the problems of complex systems. The book's practical orientation skips a lot of the history and theory of testing, including tests that deal with qualitative performance issues rather than basic correctness. Anyone reading this book by itself might not realize just how broad and deep the subject really is. Link does at least mention the major ideas in the field, though, and prepares the reader for more advanced discussions.
//wiredweird
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
|