by Morgan Kaufmann
| Average Rating: |
|
| Sales Rank: | 557031 (lower is better) |
| Price Used: | $17.94 |
| Shipping: | Free Shipping on most orders over $25* |
| Availability: | Usually ships in 24 hours |
| Label: | Morgan Kaufmann |
| Pages: | 325 |
| Binding: | Paperback |
| Publication Date: | 2003-04 |
| Published By: | Morgan Kaufmann |
| ASIN: | 1558608680 |
| Category: | Book |
Authors
Editorial Reviews and Product Descriptions
Product Description
Software testing is indispensable and is one of the most discussed topics in software development today. Many companies address this issue by assigning a dedicated software testing phase towards the end of their development cycle. However, quality cannot be tested into a buggy application. Early and continuous unit testing has been shown to be crucial for high quality software and low defect rates. Yet current books on testing ignore the developer's point of view and give little guidance on how to bring the overwhelming amount of testing theory into practice. Unit Testing in Java represents a practical introduction to unit testing for software developers. It introduces the basic test-first approach and then discusses a large number of special issues and problem cases. The book instructs developers through each step and motivates them to explore further.
*Shows how the discovery and avoidance of software errors is a demanding and creative activity in its own right and can build confidence early in a project.
*Demonstrates how automated tests can detect the unwanted effects of small changes in code within the entire system.
*Discusses how testing works with persistency, concurrency, distribution, and web applications.
*Includes a discussion of testing with C++ and Smalltalk.
Customer Reviews
Useful, but not the definitive book on unit testing - Reviewed on 2005-12-31
3 customers found this review helpful, 1 did not.
This was the second unit testing book that I read after Hunt & Thomas's /Pragmatic Unit Testing/, and it did an admirable job helping me progress beyond the basics. It has especially good overviews of Test-Driven Development, the guts of JUnit, and mock objects. I found it less useful (i.e. less detailed) when it turned to testing J2EE and database functionality. I found J.B. Rainsberger's /JUnit in Action/ a much more authoritative reference. But this book got back on track at the end with its sections on HTML and GUI testing, which fill in a lot of the gaps in Rainsberger's book. In the end, I give both books 4 stars because they complement each other well, although /JUnit in Action/ is, by far, a much better overall reference.
Clear and practical - Reviewed on 2004-08-24
5 customers found this review helpful.
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
Practical and Informative - Reviewed on 2004-07-09
6 customers found this review helpful.
I like this kind of book. It is practical and informative without being wordy or pretentious. It introduces test-driven development with a focus on Java and Java tools, but its lessons can be applied fairly well to any OO language such as C#, C++, Python etc. The book covers a pretty broad range of topics including an introduction to the principles of test-first development, mock objects, persistence, Web development, EJBs, and user interfaces, among others. Each topic is covered in sufficient detail to get started and points out the hazards one should be aware of. This book is also well-researched and contains a good list of references. Overall this is a solid, well-organized effort that deserves space on the bookshelf of any developer getting into test-driven development.
* - See Amazon
Product Page for shipping and pricing details.
Book Subjects
- Computer Programming
- Internet languages
- Parallel processing
- Computer software - Testing
- Computers - Languages / Programming
- Computer Books: Database
- Computers / Programming / General
- Programming - General
- Programming Languages - General
- Computers
- Programming - Software Development
- Programming Languages - Java
- Software Testing
- Computers / Programming / Software Development
- Computers / Programming Languages / Java
- Computer software
- Java (Computer program languag
- Java (Computer program language)
- Testing
- Computing: Professional & Programming