Autoscaling load tests
Problem to solve
Load testing is a valuable test to run but as implemented is against a single data point. Developers want to know how their software will perform against multiple cases without having to run multiple load test jobs in their pipeline.
Intended users
Further details
When I (Sasha) am testing software for load, I want my load testing job to scale up requests and report back at each level, so that I can be confident about when load will be too much for my software.
Proposal
When Sasha creates a new load testing job they will enter not just the static values for number of requests, end points and time but also a min, max and scale value for requests. This should result in multiple tests running and reporting. For example a job with min 5, max 10 and scale 1 would run a first test 5 requests per second, then a test with 6, then 7, etc. until getting to 10 per second.
This can make use of the spike testing capabilities that k6 allows for but creating the config file on the fly for the user.
Permissions and Security
We will need to add guardrails of sorts to ensure this feature isn't abused to enable DDOS attacks intentionally or unintentionally let loose.