4. #jfall15 performance testing traditionally…
…happens several times per year
…and/or at major releases
…is performed by specialists
- changes were made long ago
- many different code changes
- at a certain moment in time
- when is test required?
This has some cons:
5. #jfall15 performance testing traditionally
design
write code
test code
performance test
release
unit tests
integration tests
6. #jfall15 with continuous delivery
design
Write code
Test code
Release
unit tests
integration tests
performance tests
7. #jfall15 Continuous Delivery
Always production ready Has to be under control
Short feedback cycles Effects should be clear ASAP
Maintained by self-supporting teams No external specialists
Demands code to be With regards to performance
8. #jfall15 Part of the process
With the same level of support as
- Unit-tests and integration tests
- Continuous Integration
- Zero-downtime deploys
Performed by the development team
14. #jfall15 Gatling core concepts
Scenario
Feeder
A sequence of http request used to simulate application usage
A tool used to fill request parameters
Recorder The tool used to record http requests or take a HAR-file
and convert it to Gatling DSL
18. #jfall15 Interpretations
See how changes affect performance
Have feedback on performance in short amount of time
See which load the application can endure
We can
We cannot
19. #jfall15 Results so far
- At least one time prevented issues in production
- Discovered configuration error in test infrastructure
- Helped testing performance fixes
- Helped track down and validate a workaround for a memory leak
20. #jfall15 Further development
Automate recording process
Reuse functional test scenarios as performance tests
for example by leveraging tools like
cucumber/protrector/fitnesse/browserstack to
specify and record a scenario
Eliminate custom code changes
21. #jfall15 Some take-aways
Performance testing should be part of the development cycle at the same level as unit and
integration tests
Take changes in your frontend into account with regards to application performance
Gatling is an awesome programmer friendly tool for load testing
Using the approach from this presentation we can only monitor trends in performance, not
determine which load the application can endure.