Warehouse Stock Clearance Sale

Grab a bargain today!


Sign Up for Fishpond's Best Deals Delivered to You Every Day
Go
Java Extreme Programming ­Cookbook

Rating
25 Ratings by Goodreads
Already own it? Write a review
Format
Paperback, 288 pages
Published
United States, 1 April 2003

Extreme Programming does not mean programming naked while rollerblading down the side of the Grand Canyon. It does mean a new approach to software development that is both radical and common-sense. Unlike many software development methodologies, XP has been accepted quickly because its core practices--particularly code sharing, test-first development, and continuous integration--resonated immediately with software developers everywhere. Instead of impressing developers with a body of theory, XP got programmers to say, "Yeah, that's how I'd like to work."Oddly enough, although most developers turn to Extreme Programming methods in order to code real, hands-on, and extensible projects quickly ("Code comes first"), most books on Extreme Programming insist on focusing on the theory and not the practice.Not the Java Extreme Programming Cookbook.Brimming with over 100 "recipes" for getting down to business and actually doing XP, the Java Extreme Programming Cookbook doesn't try to "sell" you on XP; it succinctly documents the most important features of popular open source tools for XP in Java--including Ant, Junit, HttpUnit, Cactus, Tomcat, XDoclet--and then digs right in, providing recipes for implementing the tools in real-world environments.Each recipe offers solutions that help you put an extreme programming environment together: then provides code for automating the build process and testing. Although the time saved using any one of these solutions will more than pay for the book, Java Extreme Programming Cookbook offers more than just a collection of cut-and-paste code. Each recipe also includes explanations of how and why the approach works, so you can adapt the techniques to similar situations.One of the biggest challenges facing developers today is sorting through the wide variety of tools available form various source and figuring out how to them effectively. The recipes in Java Extreme Programming Cookbook showcase how to use the most important features of these XP tools. Many of these tools are geared towards unit testing, while others are invaluable for continuous integration; with these practical examples, you'll be able to choose the most effective tools to accomplish your goals, then implement them in a cohesive development environment quickly.If you want to set up a test-driven development environment that allows you to focus on writing testable code--now--this book will prove invaluable.


Eric Burke is an O'Reilly author and a principal

software engineer with Object Computing, Inc. in St.

Louis, MO. He specializes in Java and his job duties

include consulting, training, and public speaking

engagements. Eric can be reached at burke_e@yahoo.com.



Brian M. Coyner is coauthor of the Java Extreme Programming Cookbook and a Senior Software Engineer with Object Computing, Inc. in St. Louis, MO. He has a B.S. in Computer Science from Southeast Missouri State University, and specializes in Java training and consulting. When he is not working, which is rare, Brian enjoys playing the guitar and spending time with his family.


Dedication;

Preface;

Audience;

About the Recipes;

Organization;

Conventions Used in This Book;

Comments and Questions;

Acknowledgments;

Chapter 1: XP Tools;

1.1 Java and XP;

1.2 Tools and Philosophies;

1.3 Open Source Toolkit;

Chapter 2: XP Overview;

2.1 What Is XP?;

2.2 Coding;

2.3 Unit Testing;

2.4 Refactoring;

2.5 Design;

2.6 Builds;

Chapter 3: Ant;

3.1 Introduction;

3.2 Writing a Basic Buildfile;

3.3 Running Ant;

3.4 Providing Help;

3.5 Using Environment Variables;

3.6 Passing Arguments to a Buildfile;

3.7 Checking for the Existence of Properties;

3.8 Defining a Classpath;

3.9 Defining Platform-Independent Paths;

3.10 Including and Excluding Files;

3.11 Implementing Conditional Logic;

3.12 Defining a Consistent Environment;

3.13 Preventing Build Breaks;

3.14 Building JAR Files;

3.15 Installing JUnit;

3.16 Running Unit Tests;

3.17 Running Specific Tests;

3.18 Generating a Test Report;

3.19 Checking Out Code from CVS;

3.20 Bootstrapping a Build;

Chapter 4: JUnit;

4.1 Introduction;

4.2 Getting Started;

4.3 Running JUnit;

4.4 assertXXX( ) Methods;

4.5 Unit Test Granularity;

4.6 Set Up and Tear Down;

4.7 One-Time Set Up and Tear Down;

4.8 Organizing Tests into Test Suites;

4.9 Running a Test Class Directly;

4.10 Repeating Tests;

4.11 Test Naming Conventions;

4.12 Unit Test Organization;

4.13 Exception Handling;

4.14 Running Tests Concurrently;

4.15 Testing Asynchronous Methods;

4.16 Writing a Base Class for Your Tests;

4.17 Testing Swing Code;

4.18 Avoiding Swing Threading Problems;

4.19 Testing with the Robot;

4.20 Testing Database Logic;

4.21 Repeatedly Testing the Same Method;

Chapter 5: HttpUnit;

5.1 Introduction;

5.2 Installing HttpUnit;

5.3 Preparing for Test-First Development;

5.4 Checking a Static Web Page;

5.5 Following Hyperlinks;

5.6 Writing Testable HTML;

5.7 Testing HTML Tables;

5.8 Testing a Form Tag and Refactoring Your Tests;

5.9 Testing for Elements on HTML Forms;

5.10 Submitting Form Data;

5.11 Testing Through a Firewall;

5.12 Testing Cookies;

5.13 Testing Secure Pages;

Chapter 6: Mock Objects;

6.1 Introduction;

6.2 Event Listener Testing;

6.3 Mock Object Self-Validation;

6.4 Writing Testable JDBC Code;

6.5 Testing JDBC Code;

6.6 Generating Mock Objects with MockMaker;

6.7 Breaking Up Methods to Avoid Mock Objects;

6.8 Testing Server-Side Business Logic;

Chapter 7: Cactus;

7.1 Introduction;

7.2 Configuring Cactus;

7.3 Setting Up a Stable Build Environment;

7.4 Creating the cactus.properties File;

7.5 Generating the cactus.properties File Automatically;

7.6 Writing a Cactus Test;

7.7 Submitting Form Data;

7.8 Testing Cookies;

7.9 Testing Session Tracking Using HttpSession;

7.10 Testing Servlet Initialization Parameters;

7.11 Testing Servlet Filters;

7.12 Securing Cactus Tests;

7.13 Using HttpUnit to Perform Complex Assertions;

7.14 Testing the Output of a JSP;

7.15 When Not to Use Cactus;

7.16 Designing Testable JSPs;

Chapter 8: JUnitPerf;

8.1 Introduction;

8.2 When to Use JUnitPerf;

8.3 Creating a Timed Test;

8.4 Creating a LoadTest;

8.5 Creating a Timed Test for Varying Loads;

8.6 Testing Individual Response Times Under Load;

8.7 Running a TestSuite with Ant;

8.8 Generating JUnitPerf Tests;

Chapter 9: XDoclet;

9.1 Introduction;

9.2 Setting Up a Development Environment for Generated Files;

9.3 Setting Up Ant to Run XDoclet;

9.4 Regenerating Files That Have Changed;

9.5 Generating the EJB Deployment Descriptor;

9.6 Specifying Different EJB Specifications;

9.7 Generating EJB Home and Remote Interfaces;

9.8 Creating and Executing a Custom Template;

9.9 Extending XDoclet to Generate Custom Files;

9.10 Creating an Ant XDoclet Task;

9.11 Creating an XDoclet Tag Handler;

9.12 Creating a Template File;

9.13 Creating an XDoclet xdoclet.xml File;

9.14 Creating an XDoclet Module;

Chapter 10: Tomcat and JBoss;

10.1 Introduction;

10.2 Managing Web Applications Deployed to Tomcat;

10.3 Hot-Deploying to Tomcat;

10.4 Removing a Web Application from Tomcat;

10.5 Checking If a Web Application Is Deployed;

10.6 Starting Tomcat with Ant;

10.7 Stopping Tomcat with Ant;

10.8 Setting Up Ant to Use Tomcat's Manager Web Application;

10.9 Hot-Deploying to JBoss;

10.10 Hot-Deploying a Web Application to JBoss;

10.11 Testing Against Multiple Servers;

Chapter 11: Additional Topics;

11.1 Introduction;

11.2 Testing XML Files;

11.3 Enterprise JavaBeans Testing Tools;

11.4 Avoiding EJB Testing;

11.5 Testing Swing GUIs;

11.6 Testing Private Methods;

Colophon;

Show more

Our Price
£19.63
Elsewhere
£27.99
Save £8.36 (30%)
Ships from UK Estimated delivery date: 9th Apr - 11th Apr from UK

Buy Together
+
Buy together with Beginning Google Maps Applications with Rails and Ajax at a great price!
Buy Together
£44.18
Elsewhere Price
£47.12
You Save £2.94 (6%)

Product Description

Extreme Programming does not mean programming naked while rollerblading down the side of the Grand Canyon. It does mean a new approach to software development that is both radical and common-sense. Unlike many software development methodologies, XP has been accepted quickly because its core practices--particularly code sharing, test-first development, and continuous integration--resonated immediately with software developers everywhere. Instead of impressing developers with a body of theory, XP got programmers to say, "Yeah, that's how I'd like to work."Oddly enough, although most developers turn to Extreme Programming methods in order to code real, hands-on, and extensible projects quickly ("Code comes first"), most books on Extreme Programming insist on focusing on the theory and not the practice.Not the Java Extreme Programming Cookbook.Brimming with over 100 "recipes" for getting down to business and actually doing XP, the Java Extreme Programming Cookbook doesn't try to "sell" you on XP; it succinctly documents the most important features of popular open source tools for XP in Java--including Ant, Junit, HttpUnit, Cactus, Tomcat, XDoclet--and then digs right in, providing recipes for implementing the tools in real-world environments.Each recipe offers solutions that help you put an extreme programming environment together: then provides code for automating the build process and testing. Although the time saved using any one of these solutions will more than pay for the book, Java Extreme Programming Cookbook offers more than just a collection of cut-and-paste code. Each recipe also includes explanations of how and why the approach works, so you can adapt the techniques to similar situations.One of the biggest challenges facing developers today is sorting through the wide variety of tools available form various source and figuring out how to them effectively. The recipes in Java Extreme Programming Cookbook showcase how to use the most important features of these XP tools. Many of these tools are geared towards unit testing, while others are invaluable for continuous integration; with these practical examples, you'll be able to choose the most effective tools to accomplish your goals, then implement them in a cohesive development environment quickly.If you want to set up a test-driven development environment that allows you to focus on writing testable code--now--this book will prove invaluable.


Eric Burke is an O'Reilly author and a principal

software engineer with Object Computing, Inc. in St.

Louis, MO. He specializes in Java and his job duties

include consulting, training, and public speaking

engagements. Eric can be reached at burke_e@yahoo.com.



Brian M. Coyner is coauthor of the Java Extreme Programming Cookbook and a Senior Software Engineer with Object Computing, Inc. in St. Louis, MO. He has a B.S. in Computer Science from Southeast Missouri State University, and specializes in Java training and consulting. When he is not working, which is rare, Brian enjoys playing the guitar and spending time with his family.


Dedication;

Preface;

Audience;

About the Recipes;

Organization;

Conventions Used in This Book;

Comments and Questions;

Acknowledgments;

Chapter 1: XP Tools;

1.1 Java and XP;

1.2 Tools and Philosophies;

1.3 Open Source Toolkit;

Chapter 2: XP Overview;

2.1 What Is XP?;

2.2 Coding;

2.3 Unit Testing;

2.4 Refactoring;

2.5 Design;

2.6 Builds;

Chapter 3: Ant;

3.1 Introduction;

3.2 Writing a Basic Buildfile;

3.3 Running Ant;

3.4 Providing Help;

3.5 Using Environment Variables;

3.6 Passing Arguments to a Buildfile;

3.7 Checking for the Existence of Properties;

3.8 Defining a Classpath;

3.9 Defining Platform-Independent Paths;

3.10 Including and Excluding Files;

3.11 Implementing Conditional Logic;

3.12 Defining a Consistent Environment;

3.13 Preventing Build Breaks;

3.14 Building JAR Files;

3.15 Installing JUnit;

3.16 Running Unit Tests;

3.17 Running Specific Tests;

3.18 Generating a Test Report;

3.19 Checking Out Code from CVS;

3.20 Bootstrapping a Build;

Chapter 4: JUnit;

4.1 Introduction;

4.2 Getting Started;

4.3 Running JUnit;

4.4 assertXXX( ) Methods;

4.5 Unit Test Granularity;

4.6 Set Up and Tear Down;

4.7 One-Time Set Up and Tear Down;

4.8 Organizing Tests into Test Suites;

4.9 Running a Test Class Directly;

4.10 Repeating Tests;

4.11 Test Naming Conventions;

4.12 Unit Test Organization;

4.13 Exception Handling;

4.14 Running Tests Concurrently;

4.15 Testing Asynchronous Methods;

4.16 Writing a Base Class for Your Tests;

4.17 Testing Swing Code;

4.18 Avoiding Swing Threading Problems;

4.19 Testing with the Robot;

4.20 Testing Database Logic;

4.21 Repeatedly Testing the Same Method;

Chapter 5: HttpUnit;

5.1 Introduction;

5.2 Installing HttpUnit;

5.3 Preparing for Test-First Development;

5.4 Checking a Static Web Page;

5.5 Following Hyperlinks;

5.6 Writing Testable HTML;

5.7 Testing HTML Tables;

5.8 Testing a Form Tag and Refactoring Your Tests;

5.9 Testing for Elements on HTML Forms;

5.10 Submitting Form Data;

5.11 Testing Through a Firewall;

5.12 Testing Cookies;

5.13 Testing Secure Pages;

Chapter 6: Mock Objects;

6.1 Introduction;

6.2 Event Listener Testing;

6.3 Mock Object Self-Validation;

6.4 Writing Testable JDBC Code;

6.5 Testing JDBC Code;

6.6 Generating Mock Objects with MockMaker;

6.7 Breaking Up Methods to Avoid Mock Objects;

6.8 Testing Server-Side Business Logic;

Chapter 7: Cactus;

7.1 Introduction;

7.2 Configuring Cactus;

7.3 Setting Up a Stable Build Environment;

7.4 Creating the cactus.properties File;

7.5 Generating the cactus.properties File Automatically;

7.6 Writing a Cactus Test;

7.7 Submitting Form Data;

7.8 Testing Cookies;

7.9 Testing Session Tracking Using HttpSession;

7.10 Testing Servlet Initialization Parameters;

7.11 Testing Servlet Filters;

7.12 Securing Cactus Tests;

7.13 Using HttpUnit to Perform Complex Assertions;

7.14 Testing the Output of a JSP;

7.15 When Not to Use Cactus;

7.16 Designing Testable JSPs;

Chapter 8: JUnitPerf;

8.1 Introduction;

8.2 When to Use JUnitPerf;

8.3 Creating a Timed Test;

8.4 Creating a LoadTest;

8.5 Creating a Timed Test for Varying Loads;

8.6 Testing Individual Response Times Under Load;

8.7 Running a TestSuite with Ant;

8.8 Generating JUnitPerf Tests;

Chapter 9: XDoclet;

9.1 Introduction;

9.2 Setting Up a Development Environment for Generated Files;

9.3 Setting Up Ant to Run XDoclet;

9.4 Regenerating Files That Have Changed;

9.5 Generating the EJB Deployment Descriptor;

9.6 Specifying Different EJB Specifications;

9.7 Generating EJB Home and Remote Interfaces;

9.8 Creating and Executing a Custom Template;

9.9 Extending XDoclet to Generate Custom Files;

9.10 Creating an Ant XDoclet Task;

9.11 Creating an XDoclet Tag Handler;

9.12 Creating a Template File;

9.13 Creating an XDoclet xdoclet.xml File;

9.14 Creating an XDoclet Module;

Chapter 10: Tomcat and JBoss;

10.1 Introduction;

10.2 Managing Web Applications Deployed to Tomcat;

10.3 Hot-Deploying to Tomcat;

10.4 Removing a Web Application from Tomcat;

10.5 Checking If a Web Application Is Deployed;

10.6 Starting Tomcat with Ant;

10.7 Stopping Tomcat with Ant;

10.8 Setting Up Ant to Use Tomcat's Manager Web Application;

10.9 Hot-Deploying to JBoss;

10.10 Hot-Deploying a Web Application to JBoss;

10.11 Testing Against Multiple Servers;

Chapter 11: Additional Topics;

11.1 Introduction;

11.2 Testing XML Files;

11.3 Enterprise JavaBeans Testing Tools;

11.4 Avoiding EJB Testing;

11.5 Testing Swing GUIs;

11.6 Testing Private Methods;

Colophon;

Show more
Product Details
EAN
9780596003876
ISBN
0596003870
Publisher
Other Information
Illustrated
Dimensions
23.7 x 17.9 x 1.9 centimeters (0.59 kg)

Table of Contents

1. XP Tools - Java and XP Tools and Philos ophies Open Source Toolkit 2. XP Overview What Is XP? Coding Unit Testing Refactoring Design Builds 3. Ant 3.1 Writing a Basic Buildfile 3.2 Running Ant 3.3 Providing Help 3.4 Using Environment Variables 3.5 Passing Arguments to a Buildfile 3.6 Checking for the Existence of Properties 3.7 Defining a Classpath 3 .8 Defining Platform-Independent Paths 3.9 Including and Excluding Files 3.10 Implementing Conditional Logic 3.11 Defining a Consistent Environment 3.12 Preventing Build Breaks 3.13 Building JAR Files 3.14 Installing JUnit 3.15 Running Unit Tests 3.16 Running Specific Tests 3.17 Generating a Test Report 3 .18 Checking Out Code from CVS 3.19 Bootstrapping a Build 4. JUnit 4.1 Getting Started 4.2 Running JUnit 4.3 assertXXX( ) Methods 4.4 Unit Test Granularity 4.5 Set Up and Tear Down 4.6 One-Time Set Up and Tear Down 4.7 Organizing Tests into Test Suites 4.8 Running a Te st Class Directly 4.9 Repeating Tests 4.10 Test Naming Conventions 4.11 Unit Test Organization 4.12 Exception Handling 4.13 Running Tests Concurrently 4.14 Testing Asynchronous Methods 4.15 Writing a Base Class for Your Tests 4.16 Testing Swing Code 4.17 Tes ting with the Robot 4.18 Testing Database Logic 4.19 Repeatedly Testing the Same Method 5. HttpUnit 5.1 Installing HttpUnit 5.2 Preparing for Test-First Development 5.3 Checking a Static Web Page 5.4 Following Hyperlinks 5.5 Writing Testable HTML 5.6 Testing HTM L Tables 5.7 Testing a Form Tag and Refactoring Your Tests 5.8 Testing for Elements on HTML Form s 5.9 Submitting Form Data 5.10 Testing Through a Firewall 5.11 Testing Cookies 5.12 Testing Secure Pages 6. Mock Objects 6.1 Event Listener Testing 6.2 Mock Object Self-Validation 6.3 Writing T estable JDBC Code 6.4 Testing JDBC Code 6.5 Generating Mock Objects with MockMaker 6.6 Breaking Up Methods to Avoid Mock Objects 6.7 Testing Server-Side Business Logic 7. Cactus 7.1 Configuring Cactus 7.2 Setting Up a Stable Build Environment 7.3 Creating the cactus.properties File 7.4 Generating the cactus.properties File Automatically 7.5 Writing a Cactus Test 7.6 Submitting Form Data 7.7 Testing Cookies 7.8 Testing Session Tracking Using HttpSession 7.9 Testing Servlet Initialization Parameters 7.10 Testing Servlet Filters 7.11 Securing Cactus Tests 7.12 Using Http Unit to Perform Complex Assertions 7.13 Testing the Output of a JSP 7.14 When Not to Use Cactus 7.15 Designing Testable JSPs 8. JUnitPerf 8.1 When to Use JUnitPerf 8.2 Creating a Timed Test 8.3 Creating a LoadTest 8.4 Creating a Timed Test for Varying Loads 8.5 Testing Individual Response Times Under Load 8.6 Running a TestSuite with Ant 8.7 Generating JUnitPerf Tests 9. XDoclet 9.1 Setting Up a Development Environment for Generated Files 9.2 Setting Up Ant to Run XDoclet 9.3 Regenerating Files That Have Changed 9.4 Generating the EJB Deployment Descriptor 9.5 Specifying Different EJB Specifications (Part Contents).

About the Author

Eric Burke is an O'Reilly author and a Principal Software Engineer with Object Computing, Inc. in St Louis, MO. He specializes in Java and his job duties include consulting, training and public speaking engagements. Brian M. Coyner is a Senior Software Engineer with Object Computing, Inc. in St Louis, MO. He has a B.S. in Computer Science from Southeast Missouri State University, and specializes in Java training and consulting. When he is not working, which is rare, Brian enjoys playing the guitar and spending time with his family.

Show more
Review this Product
Ask a Question About this Product More...
 
Item ships from and is sold by Fishpond World Ltd.

Back to top
We use essential and some optional cookies to provide you the best shopping experience. Visit our cookies policy page for more information.