What is performance testing and why should we bother with it? Whether a question or a statement – it seems a reasonable point to ask?
For those at the sharp-end if performance testing or engineering, the answer is simple: it is about determining a system’s ability to process one or transactions concurrently to expected volume levels at given times of day within operating windows. It sounds simple, but for those not in the game, performance testing often looks like an esoteric subject they feel is best left to the technical experts.
We all need an understanding of performance testing!
Whilst I agree it is probably best left to the experts to conduct performance testing using specialised tools, there are many reasons that key stakeholders of a project should have a greater understanding of and need for performance testing, particularly when planning. Whatever, your role, make no mistake that performance testing is vital to assuring successful operations of both new and changed systems – before you send them to your production environment
What’s the end goal of performance testing?
So, just why is performance testing so important and what does it strive to achieve? I’ve seen many definitions, but for me performance testing is about determining if a system or process will:
Each of the different classes of performance tests in the diagram are long accepted by the industry as key to operational and non-functional success. Indeed, they have a clear definition of what they set out to achieve and the reasons why we should consider incorporating them into our corporate and programme level performance strategies and plans. Whilst some of the classes might look similar, each has its own unique and distinct function.
Performance testing and the eight key measures:
Performance testing can be used to measure many things, including what are now considered by many as the eight mandatory tests to measure, minimise and assure:
The point being about the above is that it is vital that each different processing day be characterised and profiled in terms of time, transaction and volume, and that the six classes of tests are planned and conducted to:
Summary
In summary, performance testing is about your peace of mind that your new or changes system or process will underpin and continue to underpin your business. You might think that some classes of performance testing can be omitted – and that may be the case – but as a minimum we strongly recommend that:
- Meet the processing and turnaround needs of the business;
- Underpin any SLA in place for operations;
- Physical processing capacity is sufficient, both now and with planned future growth.

- Network latency;
- Memory leakage;
- Database indexing;
- Transaction response;
- Transaction throughput;
- Operating windows;
- System breakpoints;
- Recovery times.
- a normal business day operating at an arbitrary 200 transactions per day;
- Growth over a sustained period that takes volume beyond the normal business day;
- Planned numbers for endurance testing, spike testing, load testing and stress testing.

- Determine that transactional and processing spike, load, volume and stress are manageable for sustained operations over and above the normal business day(s);
- The growth rate is manageable and at point in time;
- Any changes in profile are sustainable.

- You understand the key operational parameters are of the business and service management team and any SLA;
- You characterise and profile your business days and plan tests that your system must meet, such as transaction response, system resilience, transaction throughput and system recovery time;
- You have the right tool to engineer and manage performance testing for you;
- You don’t try to do manage performance testing manually!
- Training to turn your performance testing into the science of performance engineering
- Skills to manage the tool to its full extent to maximise defect or test failure analysis.