Jan 31 2010

The Art of Application Performance Testing

Tag: Book ReviewChristian Antognini @ 2:52 pm

If you are looking for a book that describes how to approach and carry out a performance testing project, don’t look further. Get a copy of The Art of Application Performance Testing: Help for Programmers and Quality Assurance (O’Reilly, 2009). In it Ian Molyneaux manages to cover, in 160 pages, a crucial topic that is not only often forgotten in real projects, but also by authors. In fact, on the one hand, I know few companies that take performance testing seriously. What a shame! On the other hand, I am aware of few books that cover that particular topic. In my opinion, these two facts are not unrelated at all.

Let me shortly describe the five chapters of the book. Chapter 1, even though it is entitled Why Performance Test?, it focuses on the most common reasons why projects fail because of bad performance. Chapter 2, The Fundamentals of Effective Application Performance Testing, describes the ten essential requirements to plan an effective performance testing strategy. Chapter 3, The Process of Performance Testing, introduces several checklists that describe which activities have to be carried out for every step of a performance testing project. To do so the author also introduces two case studies based on real projects. Chapter 4, Interpreting Results: Effective Root-Cause Analysis, shows how to use the information provided by a performance testing tool to do a root-cause analysis. Also in this chapter examples taken from real projects are used. Chapter 5, Application Technology and Its Impact on Performance Testing, gives some guidance on how to deal with technologies and products like AJAX, Citrix, HTTP, Java, SAP and SOA.
To have a detailed look at the content you can take advantage of Google Books.

As you can see, what it is not covered is a performance testing tool. In other words, only the methodology is fully described. This is, in my opinion, not a problem. Not only because it is clearly out of scope, but also because the documentation provided with the performance testing tool of your choice should provide that information.

All in all, a very good book. I wish I would have read it several years ago!


Mar 23 2009

SQL and Relational Theory

Tag: Book ReviewChristian Antognini @ 9:24 pm

C. J. Date was the keynote speaker at this year’s Hotsos Symposium. The speech was entitled “Foundation Matters”. I couldn’t agree more. Fondations are very, very important. As I wrote at the beginning of part 1 (which, by the way, is entitled “Fondations”) of my book:

He who has not first laid his foundations may be able with great ability to lay them afterwards, but they will be laid with trouble to the architect and danger to the building.
Niccoló Machiavelli, Il principe. 1532.

I found Chris’ speech really interesting. As a result, I decided to read his newest book: SQL and Relational Theory: How to Write Accurate SQL Code. Even if I must admit that it was not always an easy read…, I would advise every developer who uses SQL on a regular (daily) basis to read it.

There are only two things that disappointed me:

  • Chris is known for being against NULLs in relational databases. Hence, I was expecting to have full coverage of this topic in such a book. Instead, there are only few pages in chapter 4 (No Duplicates, No Nulls) about it. And, sadly, the chapter ends with the following paragraph:

Of course, if nulls are prohibited, then missing information will have to be handled by some others means. Unfortunately, those other means are much too complex to be discussed in detail here. The SQL mechanism of (nonnull) default values can be used in simple cases; but for a more comprehensive examination of the issues involved, including in particular an explanation of how you can still get “don’t know” answers when you want them, even from a database without nulls, I’m afraid I’ll have to refer you to some of the publications listed in Appendix D.

  • I did not understand why there is so much Tutorial D in the book. I mean, since this is a book for database practitioners, it makes not much sense, in my opinion, to spend so much time explaining its syntax and its features.

All in all, a very interesting reading!