Ensuring Performance isn't last on the list.

Performance is frequently assumed, but not explored or validated until the last moment. PTP recommends that you collect your performance and requirements whilst you are gathering your functional requirements and have the two streams interweave so your agile project is truly in a constant state of release-readiness. This approach will also ensure that as your system grows any additional complexity’s impact on performance can be detected early where it is cheapest and quickest to resolve. We don’t want you to spend money needlessly or have services you depend on fail for you or your customers right when you need them most.

  • Load testing is the activity of generating specific workloads through the generation of user or system activity to exert pressure on a part, or entire system to ensure it behaves as expected. This type of test is typically done for a sustained period of time to ensure system stability is achieved and may also entail monitoring solutions are working correctly and accurately.

  • Systems do not always have a consistent workload. In situations where traffic is unpredictable, the service can be inundated with sudden and unexpected volume of requests. These can put the entire architecture under stress which our performance testers create and measure to ensure scaling systems are able to counter the load and then scale back again.

  • Under sustained pressure, resources budgeted to sustain the service can become strained to the point that services stop being delivered in a timely, consistent or acceptable level. This type of performance testing is about measuring to what extent a system can operate within the available capacity.

  • While most performance testing types deal with resources, hardware, networking, volume testing is about data and varying sizes and shapes of that data which is heavily dependant on how data is processed and how it impacts downstream systems.

  • While robustness is about measuring how much a system can sustain, resilience is about measuring how quickly and how well a system recovers from an outage. There are many sub areas such as failover, disaster recovery, backup and restore.

  • While many types of performance testing activities are conducted over a relatively brief period of time, Soak is run over a longer period, and long haul is run in isolated environments over a prolonged period. This type of test is normally run where small degradations in the system are not tolerable and need to be discovered- such as leaking memory, file handles etc.

  • Performance testers are not only specialists in putting systems under pressure, they are also specialists in tuning applications and infrastructure to achieve optimal performance characteristics, including recommending what type of resources need to be added and where.

  • Performance testing isn't run in isolation. It is run in operationally sensitive environments where fluctuations of traffic and resource usage need to be measurable and reportable. To achieve this, alarms need to be setup, scaling triggers need to be invoked and conversely when traffic reduces, the resources need to be handed back. This may also involve setting up APM software so ongoing measurement can occur in normal operations.

Our Approach

  • Set clear performance benchmarks based on user expectations and system requirements. Discovery is key to ensure that we will give you the best solution.

  • Simulate real-world load and usage patterns during testing.

  • Track CPU, memory, and network usage to identify bottlenecks.

  • Integrate performance testing into the development cycle to catch issues early.

  • Use performance metrics to identify and address performance issues.