Java Extreme Programming Cookbook: Extreme Programming in the Real World

Java Extreme Programming Cookbook: Extreme Programming in the Real World

Java Extreme Programming Cookbook: Extreme Programming in the Real World

Java Extreme Programming Cookbook: Extreme Programming in the Real World

Paperback

$34.95 
  • SHIP THIS ITEM
    Qualifies for Free Shipping
  • PICK UP IN STORE
    Check Availability at Nearby Stores

Related collections and offers


Overview

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.

Product Details

ISBN-13: 9780596003876
Publisher: O'Reilly Media, Incorporated
Publication date: 03/14/2003
Pages: 288
Product dimensions: 7.00(w) x 9.19(h) x 0.73(d)

About the Author

Burke is a Java consultant. Eric has a Bachelor of Science degree in Computer Science from Southern Illinois University at Carbondale and is currently Principal Software Engineer with Object Coomputing, Inc. in St. Louis, MO.

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.

Table of Contents

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;
From the B&N Reads Blog

Customer Reviews