Performance Testing in an Agile Environment
Challenges for Performance Testing in a CI/CD environment:
- Getting people educated about performance pain points
- Infrastructure is not ready for performance testing
- Scheduling clashes with Operational groups
- Look into an environment
Agile Performance Testing requirements for incremental releases
- What are the requirements?
- What has been changed?
- Use the above to define realistic and reasonable tests
- Warm and fuzzy by doing incremental/incomplete Performance Tests
- Do Break point testing
- Label instrument all code during development
- Labelled code allows for Green fields data collection
- Labelled code helps pinpoint code issues.
- Done using a different labelled build
Tools for affordable performance risk mitigation
- JMeter cuts cost allowing for cheap and incomplete tests
- Blazemeter is a JMeter compatible cloud performance testing service
Load Particular features to determine whether new code harbors performance issues.
- Beware of false positives during incremental performance tests.
- Isolate performance tests to newly developed features.
Manage risks of making changes.
- Take responsibility of changes made for all aspects of code development
- Make certain tests are run on a production like environment
- Separate code and configuration testing.
Public Launch testing - Before the big go-live
- Decouple PT into a separate project for major releases
- Final builds must involve end to end performance testing
- Run all performance tests: Baseline, Peak, Endurance and Capacity
- Push complete performance test projects into public production release