DevOps: Continuous Performance Testing

Performance is a key factor for the success of a software application. In research we find the established area of “Performance Engineering”. However, research on integrating performance test in the emerging field of DevOps and Continuous Delivery is yet to be done.

This thesis deals with the problem of using performance tests inside a continuous delivery deployment pipeline. With each run of the pipeline the software will be tested for newly introduced performance problems. In general there are two ways of performing performance tests:

  • Load-/Stresstest: Try to bring the software down by massive load and request generation
  • Microbenchmarking: use a minimal load to detect performance difference between software versions

Based on our framework JARVIS the following topica can be addressed in this thesis.

Problems/Topics:

  • Performance Models for CD
  • Modelling Environments for Performance Tests (SUT, TestDriver, Stubs/Mocks)
  • Metrics (adhoc, historic)
  • APM
  • Reporting/Monitoring
  • Regression Benchmarking/Test

Tools:

  • JMeter
  • Gaitlin
  • Kieker, Dynatrace
  • Jenkins
  • ELK Stack

Literature:

Resources

Project information

Status:

Finished

Thesis for degree:

Master

Student:

Sabir Alizada

Supervisor:
Id:

2018-017