In simple terms, Performance testing is carried out to ensure that your website or application can do what you expect, under a given workload. It is used to discover bottlenecks and establish a baseline for future Performance testing. Performance testing also helps to evaluate other characteristics such as Scalability and Reliability and as a way to test Disaster Recovery scenarios.
To help manage how performance testing is delivered, there needs to be a clearly defined set of steps that ensure a consistent approach is taken on each project. This helps provide a framework upon which relevant activities, practices and approaches can be built.
As such the Performance testing approach takes place on a number of levels and encompasses a range of performance test types. As a minimum the test types used include Load Testing, Stress Testing and Soak Testing. We should also undertake other forms of Performance testing activities such as Spike, Configuration and Isolation.
Before conducting Performance testing you need to define Performance Objectives for your website or application. These will ensure you can recognise when the system is performant to your expectations and can be part of the business case to support undertaking the testing. Typical attributes that are assessed include Concurrency / Throughput, Server Response and Resource Usage.
Alongside the actual Performance testing the website or application there are a number of other activities that can be carried out once Performance testing is completed, this includes Benchmarking, Configuration and Component Isolation. Performance is not something that can be bolted-on at the end of a project. It is an emergent quality achieved by planning, development and testing from start to end of the project.
Thoughts? Send a message!