Over the next few weeks, some of the guys at Trust IV will be giving you an insight to their roles as performance testers. In our first instalment, John Howley, discusses some the challenges he faced testing a client's application.
Our client asked us to test just the external interfaces of a third-party application. Using some lateral thinking and a combination of LoadRunner techniques, we were able to achieve our goal. Despite the full end-to-end application being unavailable.
The story started with our project evaluation and our recommendation was that the application should go through a period of early performance testing, tihs would ensure that any problems were discovered prior to the “code freeze”. This would allow plenty of time to get code fixes in place before the full “frozen code” deployment at the end of our early performance testing window.
However, due to the client's budget restraints our proposal for early performance testing was rejected. This decision was made on the basis that the risk of application failure was deemed to be low. Inevitably, when we finally tested the application, we found both performance and coding issues!
The elements we needed to test had performed poorly under load and were part of a bigger online process which traversed many elements of the client's diverse application environment. The performance issues revealed themselves very late in the development lifecycle and we couldn't afford the luxury of continued testing against the whole environment. We had to quickly think of a way to continue testing: Using some output routines, we ran through all of our test data with the explicit purpose of exporting the specific xml that the external links needed. Then we constructed a LoadRunner script with just the relevant calls in to test the external links (without the rest of the application).
The net result meant we were able to continue testing way beyond the scheduled end of our test period. That alone allowed the developers to make several improvements to the performance of their code just in time for "go live", and importantly we kept our project manager happy!