Java Tools for Extreme Programming - Mastering Open Source Tools Including Ant, JUnit and Cactus

By Richard Hightower and Nicholas Lesiecki

I was just not writing actively on this blog since past 3-4 months. So many books which I read are still not logged here.This book is one of the first books which I read when I took ACM Professional Membership in February 2005.
The book starts with inroduction to XP. XP is extremely disciplined methodology that centers on constant code review, frequent testing, customer involvement and rapid feedback; incessant refactoring and refining the architecture; continuous integration to discover problems early in the development process; ongoing design and redesign; and constant planning. Kent Beck, originator of the XP,defines four key values of XP-
Communication, Simplicity, Feedback and Courage. He iterated four basic practices: coding, testing,listening and designing expressed in 12 major areas : Planning game, Small releases, Simple Design, Testing,Continuous integration, Refactoring, Pair programming, Collective ownership, On-site customer, Metaphor and Coding Standard. The second chapter described J2EE Components and deployment concepts.It describes pet store case study application which highlights the structure of classes, JSP files and build files.The build tool Ant is described very well and its important use in continuous integration.It covered the basics of using Ant and the concept of buildfiles, projects, targets, conditional targets, tasks, filesets, filters, nested buildfiles and properties.The other tools which are described with example usage are JUnit, Cactus,HttpUnit, JMeter and JUnitPerf for load testing. Automated Testing using JUnit and Ant is described with case study of Adding an entity bean to the Pet Store. In-Container Testing is achieved by using tool Cactus and describes its advantages over Mock Objects approach. HttpUnit more closely approximates functional
testing, or black-box testing. Web application tests written using HttpUnit do not test pieces of the application code but rather query the Web server externally and examine the responses received.JMeter is by Apache. You can use JMeter to post and get pages. You can also send HTML parameters to simulate a form post. Sometimes you may want to manage the session information cookie with a JMeter cookie manager. JMeter makes performance testing so easy. JunitPerf is for load testing , but I did not read that chapter in detail.

Leave a Reply