Search:

Product Information All Elsevier Sites   Advanced Product Search
SiteStat.jsp
UNIT TESTING IN JAVA
Unit Testing in Java
How Tests Drive the Code
To order this title, and for more information, click here

By
Johannes Link, andrena objects ag, Karlsruhe, Germany.

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.

Audience
Software developers and Java programmers.

Contents


Part 1: Basic Techniques
1 Introduction 1.1 Important Terms 1.2 XP Testing 1.3 Classic Testing 1.4 "Test-First Development" - A Brief Definition 1.5 Java Only - Or Other Coffee? 1.6 Objectives of This Book 1.7 Organization of This Book 1.8 Conventions in This Book 1.9 Web Site to This Book 2 Automating Unit Tests 2.1 What Do We Want to Automate? 2.2 Requirements to an Automation Framework 2.3 Junit 2.4 Summary 3 Basic Steps of the Test-first Approach 3.1 Step by Step 3.2 Dependencies 3.3 Organizing and Running Tests 3.4 Summary 4 Test Ideas and Heuristics 4.1 Reworking Single Tests 4.2 Black and White Boxes 4.3 Testing the Typical Functionality 4.4 Threshold Values and Equivalence Classes 4.5 Error Cases and Exceptions 4.6 Object Interactions 4.7 Design by Contract 4.8 More Ideas to Find Test Cases 4.9 Refactoring Code and Tests 4.10 Summary 5 The Inner Life of a Test Framework 5.1 Statics 5.2 The Life Cycle of a Test Suite 5.3 Project-specific Expansions 5.4 Summary 6 Dummy and Mock Objects for Independence 6.1 Little Dummies 6.2 Weltering in Technical Terms 6.3 Big Dummies 6.4 Extending our Mansion 6.5 Endoscopic Testing 6.6 Mock Objects from the Assembly Line 6.7 Testing Threshold Values and Exceptions 6.8 How Does the Test Get to the Mock? 6.9 Evil Singletons 6.10 Lightweight and Heavyweight Mocks 6.11 File Dummies 6.12 More Typical Mock Objects 6.13 External Components 6.14 The Pros and Cons 6.15 Summary 7 Inheritance and Polymorphism 7.1 Inheritance 7.2 Polymorphism 7.3 Summary 8. How Much is Enough? 8.1 The XP Rule 8.2 Clear Answers to Clear Questions 8.3 Test Coverage 8.4 Summary

Part II: Advanced Topics
9 Persistent Objects 9.1 Abstract Persistence Interface 9.2 Persistent Dummy 9.3 Designing a Database Interface 9.4 Testing the "Right" Persistence 9.5 Interaction Between Persistence Layer and Client 9.6 Summary 10 Concurrent Programs 10.1 Problems Using Threads 10.2 Testing Asynchronous Services 10.3 Testing for Synchronization 10.4 Summary 11 Distributed Applications 11.1 RMI 11.2 Enterprise JavaBeans 11.3 Summary 12 Web Applications 12.1 Functional Tests 12.2 Testing on the Server 12.3 Testing with Dummies 12.4 Separating the Servlet API from the Servlet Logic 12.5 Testing the HTML Generation 12.6 Summary 13 Graphical User Interfaces 13.1 The Direct Way 13.2 Short Detours 13.3 Summary 14 The Role of Unit Tests in the Software Process 14.1 Activities in the Defined Software Process 14.2 Process Types and Testing Strategies 14.3 Costs and Benefits of Automated Unit Tests 14.4 Commercial Process Models 14.5 Will Automated Unit Tests Fit in My Process? 15 Loose Ends and Opportunities 15.1 Unit Testing for Existing Software 15.2 Introducing Unit Tests to the Development Team 15.3 What's Missing

Part III: Appendix
A. Notes to JUnit B. Unit Tests with Other Programming Languages C. Glossary D. Bibliography & References

Bibliographic details
Paperback, 376 pages, publication date: MAY-2003
ISBN-13: 978-1-55860-868-9
ISBN-10: 1-55860-868-0
Imprint: MORGAN KAUFFMAN

Price and Ordering
Price:
EUR 41.95
USD 53.95
GBP 35.99
order now
Books and book related electronic products are priced in US dollars (USD), euro (EUR), and Great Britain Pounds (GBP). USD prices apply to the Americas and Asia Pacific. EUR prices apply in Europe and the Middle East. GBP prices apply to the UK and all other countries.
See also information about conditions of sale & ordering procedures, and links to our regional sales offices.

077/760
Last update: 7 Sep 2009
Book contents
Table of contents
Reviews
Submit your review
Bookmark this page
Recommend this publication
Overview of all books
Printer-friendly version   Printer-friendly version