Unit Testing in Java: How Tests Drive the Code
- 4h 54m
- Johannes Link, Peter Frohlich
- Elsevier Science and Technology Books, Inc.
- 2003
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.
About the Authors
For 4 years Johannes Link has been project manager and software developer at andrena objects ag in Karlsruhe, Germany. He came to andrena after years of practical software engineering research at the German Cancer Research Center and the German ABB Corporate Research Center. Johannes is responsible for andrena's internal and external training activities and has published articles on software testing and software development. He holds a diploma degree in medical computer science from Heidelberg University.
Peter Fröhlich holds a MSc in computer science from the University of Aachen and a Ph.D. in electrical engineering from the University of Hannover. From 1998 to 2002, he worked for ABB Corporate Research as a developer, process improvement consultant, project manager, and manager of a research group. Since 2002 he has worked for Robert Bosch GmbH as a software architect. His research interests include process improvement, conceptual modeling, software architecture, and testing.
In this Book
-
Introduction
-
Automating Unit Tests
-
Basic Steps of the Test-First Approach
-
Test Ideas and Heuristics
-
The Inner Life of a Test Framework
-
Dummy and Mock Objects for Independence
-
Inheritance and Polymorphism
-
How Much is Enough?
-
Persistent Objects
-
Concurrent Programs
-
Distributed Applications
-
Web Applications
-
Graphical User Interfaces
-
The Role of Unit Tests in the Software Process
-
Loose Ends and Opportunities
-
Bibliography and List of References