
Learn how to use Locust for stress and load testing in Python, distinguish the two tests, meet SLAs, predict capacity, and visualize results with dashboards and clustering.
In this session we are installing Locust in the virtual environment, creating a simple locustfile.py and exploring options available for GUI & CLI
Explore controlling the flows of load and stress tests by configuring a low-cost Locust setup, defining endpoints, sla thresholds, and grouping requests for pagination.
Explore how to define and measure service level agreements, analyze error rates, and use percentile-based performance targets (P90, P95, P99) with Locust for effective load and stress testing.
Explore custom load shapes in Locust to control user ramp-up, spawn rate, and duration, test peak load, and observe scaling effects on on-prem, monolithic, and cloud environments.
Explore authentication and authorization in Locust testing, covering basic authentication, cookies, JWT, Paseto, session, and single sign-on with identity providers and SAML.
Master low-cost file uploading and downloading in Locust to stress test disk input-output operations. Verify integrity using hash sums and digest headers, and simulate network delay with tc and Docker.
Explore load and stress testing a caching layer with Locust, comparing pre-cached versus cold cached pages using Redis, preheating 30 pages and observing latency differences.
Generate Python gRPC stubs from proto, implement a Locust custom user with hello and delayed hello tasks, and run a gRPC load test with interceptors and accurate timing.
Leverage Locust to stress test an Oracle database by executing select and update queries through an Oracle client, configuring user, password, and DSN, and reporting response times in Locust UI.
Test queues with RabbitMQ using the pika adapter and Revit MQ, building a gevent-based Locust client to publish and consume messages across defined queues.
Define a simple Locust http user with tasks, tag tests for selective runs, run headless with a runtime limit, and use exit codes to signal CI/CD success or failure.
Generate html and csv reports with Locust using a headless 10-second run, saving to named files and viewing stats and charts in a browser.
Install locust-plugins dashboards, connect timescale with Postgres, and launch locust headlessly to stream test results into Grafana for real-time monitoring of responses and load.
Learn to perform distributed load testing with Locust by setting up a master and worker architecture, spinning up workers on separate machines, and running tests via the web UI.
Create a GitLab CI pipeline for Locust load testing by building a simple Python script, configuring GitLab CI YAML, and validating happy-path and failure scenarios with downloadable artifacts.
Create a low-cost Jenkins pipeline from source control to run Locust load tests for ci/cd, including setting up a Jenkins file, virtual environment, dependencies, and test execution.
This course is intended for the beginners in the Stress & Load testing field.
It will guide you through such topics as:
- How test & stress tests differ, and when to use what
- What parameters does Web UI & CLI have, how to configure and persist configuration between runs
- How to run the tests in CI/CD, how to write the pipelines
- How to test HTTP, gRPC and other protocols
- How to check authorization & authentication with Basic, JWT, SSO and PASETO methods
This course is covering the most common scenarios in corporate QA activities, and consists primarily from the coding examples.
You will learn what is the error rate, percentiles and SLAs. You will create custom adapters for the protocols and custom shape profiles for better simulation of chaotic traffic.
You will also learn how to modify the default Web UI, by extending the graphs and introducing custom parameters for the custom Locust users.
This course will demonstrate how to integrate the locust-plugins pip package with the Grafana & Prometheus and providing better observability for the test results.
You will learn how to generate and consume reports of test executions
This course is assuming that you already know some basics of Python programming or any other C-like languages