Identify Your Performance Testing Objectives
The first question with any performance test is “What are the objectives of this test”? One of the misconceptions around load and performance testing is that you throw as much load at the system under test as quickly as you can and find out where it breaks. Unfortunately, this doesn't provide any positive data on the capabilities of the system – all it shows is what the system can't do, and may never have to do.
The objectives of any performance test are informed by the Non Functional Requirements for the system under test, which, amongst other things should define the performance objectives for the system.
The ideal Non Functional Requirement should be:
The requirement should not contradict other requirements for the system under test or contradict an external authoritative source, such as systems design documentation or production trends (i.e. claiming the volume of a transaction will increase by 10% per annum where trending over the last 5 years has shown it decreasing by 5%).
The requirement has no missing information – i.e. “Response times will be determined as a result of performance testing” does not satisfy the completeness criteria as it is dependent on the outcome of the test rather than providing an input to it.
The requirement must not be vague or open to subjective interpretation or opinion.
Requirements like "the system should have fast a response time", or “It should perform no worse than the current system” cannot be tested, as there is no definition of ‘fast’ or under what load ‘fast’ could be achieved.
The requirement must be able to be verified. This is typically achieved by executing the workload the system is expected to process while measuring key performance metrics.
Typically performance requirements are problematic to define, however input from a performance-testing engineer can prove invaluable to provide a different perspective on the
requirements gathering process.
Ideal Technology's engineers have experience working with business owners and business analysts across a range of industries in assisting with requirements definitions, and modelling workloads for current peak loads and for future growth.