Our columnist, Kirk Pepperdine, reviews Emily Halili's book "Apache JMeter".Published July 2008, Author Kirk Pepperdine
Saturday afternoon was hot. The kids were all happily splashing about in the pool. Than meant, finally, I had some time to sit down in the shade with an Urquell and a copy of Emily Halili's book, Apache JMeter. This little gem from Packt Publishing promised to be a very short read. In fact at 108 pages, I was wondering if I'd finish it before the beer. I also wondered if a book this short could do JMeter justice. After all, the online document is dispensed in 20 chapters and even then I've found the need to to dive into the source code to sort things out. That said, I've read shorter books on more complex topics that have done the job quite nicely.
The first three chapters which consumed 26 pages, did nothing to address my concerns. Although there were a number of choice tidbits of information, overall I felt that much of the content could have been placed in an appendix and the rest condensed into a single chapter. It's possible that had I not been reviewing the book, I might have just jumped into the pool at this point, which would have been a shame. I say this because the book really takes off in chapter 4, "The Test Plan".
In Chapter 4, Emily starts to get into the meat of Apache JMeter. She describes the main components of a "Test Plan" and then demonstrates how to build one. Chapter 5 gets even meatier with the creation of an even more complex "Test Plan" complete with listeners, timers, and CVS data set configuration elements.
Chapter 5 started off with the IEEE 90 definition of performance testing. But then it was followed up with this definition for load testing:
"the process of subjecting a component or a whole system to a work level approaching it's limits."
This definition describes what I'd almost call a stress test. I say almost because when I stress test I am looking for when the system will break. Hopefully that breaking point will be beyond what would normally be seen in production. A load test works the system to a level that would be commensurate with that found in production. The difference would describe the headroom that is available for growth.
Though Chapter 6 is about functional testing with JMeter, the information covered is useful in performance testing such as working with user defined variables. Chapter 7 covers some more advanced features that include flow controllers such as while, and for-each. There are also close to 3 pages on regular expressions. Since Apache JMeter regular expression are a little different than what you maybe used to, the information in this few pages is actually worth more than the price of the book.
The first page in the book states that the book is "a practical beginner's guide". There is no doubt that the book meets that promise. This book does in a few pages what the 20 chapter online documentation can't: completely focuses on the essential elements that you need in order to start performance testing your application. If that is what you are looking for, I think you'll will be very satisfied with this offering.