<img height="1" width="1" style="display:none;" alt="" src="https://dc.ads.linkedin.com/collect/?pid=1005900&amp;fmt=gif">

Insights

A Guide to Performance Engineering in Continuous Integration

Continuous Integration is designed to ensure quicker delivery of changes to production. But we still need to ensure these changes meet perform to expectation. How can we deliver performance assurance in the fast moving world of CI ?

There are 4 key ingredients:

  1. Automation
  2. Risk-driven approach
  3. Performance engineering strategy
  4. Smart test analysis

1. Automation

In a CI environment, speed and accuracy are some of the biggest challenges. You need to keep up with the increased level of change, but ensure that you are not creating noise. Automation of test execution and test analysis can give you this edge.

Discover how to increase software delivery velocity without impacting  performance, download Agile Performance: How to Move Fast and Not Break Things

2. Risk-driven approach

A risk-driven approach ensures that you only concentrate on the sources of performance risk and can help you to keep up with the velocity of change. Not all changes need to be tested. This goes hand in hand with automation as automating the testing process should free up the time to spend on assessing risk. There are 6 key sources of performance risk for which each change should be assessed and appropriate mitigation actions designed:

6 pillars of software performance

3. Performance engineering strategy

Define a strategy for testing in continuous integration. This could mean mitigating medium/low risks through gradual rollouts, monitoring in production, modelling or production testing. This video describes the strategy used at Arcadia

 

4. Smart test analysis

Pattern matching is a technique the should speed up the traditionally lengthiest part of the performance engineering process; analysis. By using these techniques and defining what “good” looks like, we can automate the process of finding “bad”:

smart analysis

The next step is then to take that one step further with smart analysis, and using machine learning to gradually perfect the pattern matching process, reducing the frequency of false positive results.

Agile Performance: How to move fast and not break things