Performance & Security · Intermediate · 💎 Premium
Performance Testing with JMeter & k6
Plan, script, run and analyse load, stress and spike tests with JMeter 5.6 and k6 - from workload models to CI gates and Grafana dashboards.
10Lessons
69Lab tasks
14h 30mDuration
1Capstone + certificate
About this course
A practical, lab-heavy course that takes you from performance testing fundamentals to production-style load, stress and CI testing with Apache JMeter 5.6 and k6. You will script and correlate real flows on BlazeDemo, QuickPizza, restful-booker and a local Juice Shop, analyse dashboards, find bottlenecks and report like a performance engineer. It ends with a portfolio-ready capstone that recruiters can open on GitHub.
What you will be able to do
- Write SMART performance NFRs and convert business volumes into a workload model using Little's law
- Build correlated, data-driven JMeter test plans with assertions, think time and pacing
- Run JMeter in non-GUI and distributed mode and interpret the HTML dashboard like a performance engineer
- Write k6 load tests in JavaScript with stages, scenarios, executors, checks, thresholds and custom metrics
- Monitor the system under test, locate bottlenecks and present results to stakeholders in a clear report
- Stream k6 results to Grafana and generate shareable HTML reports
- Automate performance gates, baselines and Lighthouse Web Vitals budgets in GitHub Actions
- Deliver an end-to-end BlazeDemo performance project as a GitHub portfolio piece
Syllabus
-
▶
1. Performance Testing Fundamentals: Test Types, KPIs & NFRs Learn load, stress, spike, soak and scalability testing, the KPIs that matter (percentiles, throughput, error %), Little's law and how to write testable NFRs - then measure real numbers with a small Python script.
-
🔒
2. JMeter 5.6 Setup, Test Plan Anatomy & Your First Test on BlazeDemo Install Java and JMeter 5.6.3, understand thread groups, samplers, assertions, timers, listeners and scoping, and build and run a first smoke test against blazedemo.com in GUI and CLI modes.
-
🔒
3. Recording & Correlation: Regex, JSON, Boundary and CSS Extractors Record the blazedemo booking flow with JMeter's HTTP(S) Test Script Recorder, clean it up, and correlate dynamic values using CSS Selector, Boundary, Regex and JSON extractors on blazedemo and restful-booker.
-
🔒
4. Parameterization, Assertions, Think Time & Pacing in JMeter Make the blazedemo booking script realistic: drive it from a CSV, validate every step with Response, Duration, Size and Groovy assertions, and control load with think-time timers and JSR223 pacing.
-
🔒
5. Workload Modeling, CLI Execution & HTML Dashboard Analysis Turn production volumes into a workload model, implement it with Concurrency Thread Groups and Throughput Controllers, run JMeter headless with properties, and analyse the HTML dashboard like a performance engineer.
-
🔒
6. Distributed Testing, Server Monitoring & Bottleneck Analysis Scale JMeter with controller/worker distributed mode, monitor CPU, memory and APM signals while load runs, stress a local Juice Shop to find its breaking point, and report bottlenecks to stakeholders.
-
🔒
7. k6 Basics: VUs, Stages, Checks & Thresholds Install k6 and write JavaScript load tests against Grafana's QuickPizza demo (the successor of test.k6.io): VUs, duration, stages, checks, groups, tags, lifecycle functions and thresholds that fail the run.
-
🔒
8. k6 Advanced: Scenarios, Executors, Test Data, Custom Metrics & Grafana Model mixed workloads with k6 scenarios and executors, drive them with SharedArray data, add business-level custom metrics and thresholds, and visualise results in Grafana via InfluxDB and the k6 web dashboard.
-
🔒
9. Performance Tests in CI/CD: JMeter & k6 in GitHub Actions, Baselines & Web Vitals Wire k6 and JMeter into GitHub Actions with pass/fail gates, compare results with stored API baselines, and add Lighthouse CI budgets for Core Web Vitals.
-
🔒
10. Capstone: End-to-End Performance Test of BlazeDemo Plan, script (JMeter and k6), execute smoke, load and stress runs, analyse results against NFRs and publish a stakeholder report and GitHub portfolio for the BlazeDemo flight-booking journey.