
Explore performance testing with K6 JavaScript to validate APIs and web apps under load. Use Grafana Cloud and Jenkins pipelines for end-to-end results.
Perform smoke testing as a minimal load preflight for performance tests, validating the flow with 1-2 virtual users for five minutes in a k6 script before you start load testing.
Perform load testing to validate non-functional performance under normal and peak loads, distinguishing it from smoke testing, using concurrent users on end-to-end flow like add to cart and place order.
Learn how to simulate realistic load with k6 using staged ramp-ups and ramp-downs, and distinguish load from stress testing with example scenarios to identify breaking points, capacity, and recovery.
Learn spike testing: validate system behavior under sudden load surges, verify auto scaling and recovery time, and distinguish spike from stress testing with practical case patterns.
Soak testing uses a moderate, continuous load for extended periods to reveal memory leaks and resource exhaustion, using K6 or JMeter to benchmark over 24 to 48 hours.
Install and configure k6 with VS Code to write load testing scripts in JavaScript; choose Mac or Windows installers, set PATH, and use open source tooling.
Set up a new k6 project in VS Code by installing Node.js, initializing a Node project with npm init -y, and verifying k6 is installed for js or ts tests.
Configure k6 load tests using configuration options, set up a node project for auto-complete in VS Code, and run a simple http get test with virtual users.
Analyze k6 output: three virtual users, 24 requests in 10 seconds, average 283 ms, min 236.9 ms, max 338 ms. P90 around 346 ms and P95 338.52 ms.
Explore how to measure expected responses and thresholds in k6 by filtering for 200 OK requests, computing HTTP request duration, and applying percentile and failure-rate thresholds.
Design realistic load tests in K6 by using stages to ramp up and down virtual users, set thresholds, and monitor HTTP request duration and failures.
Learn how to implement checks in K6 load tests to validate functional flow, asserting status 200 and that the response body contains the pizza keyword, with thresholds.
Learn how to use tags in k6 to filter HTTP request duration by API calls, set per-call thresholds, and pinpoint slow endpoints with 95th percentile metrics.
Learn how to create and use custom metrics with the trend class in K6 to measure server processing time, waiting time, and 95th percentile thresholds for load testing.
Build end-to-end functional flows and apply load testing on core API calls like login and get all products with K6 to identify bottlenecks and optimize performance.
Demonstrate end-to-end load testing of four API endpoints—from register to retrieve order—using K6 with bearer token on QuickPizza Grafana, building functional scripts from a Postman project and applying ramp up/down.
Build an end-to-end K6 script that registers a user, logs in for a token, places and retrieves a pizza order, using a centralized base url and load configuration.
Build an end-to-end registration API flow in k6, asserting status 201, logging outcomes, and preparing for login, token usage, and CRUD operations in a later step.
Learn to extract a token from a login JSON response and assert its presence in K6 scripts using response.json and status checks.
Build a k6 options object with stages to ramp two to four users and back, and enforce thresholds for p95 http request duration under 350 ms and 0.9 pass rate.
Create a pizza order in Postman using a dynamic JSON payload and bearer token, then validate the response and prepare for order retrieval in k6.
Learn to construct a retrieve order API call with HTTP GET using the order ID in the URL, reuse headers and bearer token, and integrate it into K6 script flow.
Explore building group based metrics in K6 to measure module level load parameters, using tags or business flow groups like order management to track 95th percentile and group duration.
Learn how to build customized k6 load metrics with the rate metric to monitor authentication success rates. Implement per-iteration additions of 1 or 0 and apply thresholds to validate logins.
Learn how to implement a k6 custom metric counter to track order occurrences, set thresholds (for example five orders in 13 seconds), and validate performance with reports and Grafana dashboards.
Explore browser-level load testing with the K6 browser library, integrating Playwright scripts to measure front-end performance, login flow, image loading, and UI errors alongside API testing.
Learn to build end-to-end browser tests in k6 using the Playwright layer, create a browser context and page, navigate, locate elements with CSS selectors, and validate results with checks.
Build k6 browser load tests by extracting header text and validating it with checks, while running parallel backend and UI scenarios using executor with shared iterations and chromium headless mode.
Learn to build load test scenarios in k6 for backend and browser, configure executors and thresholds, and analyze browser web vitals.
Learn to measure web vitals and browser performance under load using FCP, LCP, CLS, FID, INP, and TTFB to guide thresholds and optimization.
Learn how to measure first input delay (FID) and time to first byte (TTFB), analyze browser and server interactions, and set browser-level performance thresholds with K6 for end-to-end testing.
Learn to apply k6 core options to track web vitals by page using the url as a tag, isolating metrics like lcp and cls for end-to-end browser and api load.
Visualize k6 performance results in the Grafana dashboard with end-to-end reports of requests, failures, and response times, and gain insights from checks, thresholds, groups, and browser metrics.
Learn to connect local K6 tests to Grafana Cloud, authenticate with a token, configure project id and distribution, and run tests in the cloud to monitor results in Grafana dashboards.
Optimize k6 end-to-end scripts into framework standards by converting the test into reusable components and runtime-configurable options via test configs.json for smoke, load, spike, and other performance tests.
Explain how to read a per-test JSON configuration for k6, parse it into a JavaScript object, and select a test type via environment variable to drive load, smoke, and scenarios.
Drive k6 tests by dynamically loading stages and thresholds from external resources, mapping config to test types, and applying runtime values for cloud execution and ci/cd integration.
Understand the life cycle of a k6 script, from init code and setup to the default function and teardown, with health checks, base URL validation, and data passed from setup.
Set up Jenkins on your local system by verifying Java requirements and downloading the long-term support war. Clean dot Jenkins data, run with java -jar, and complete the initial setup.
Integrate k6 with Jenkins ci/cd and Grafana Cloud to run cloud-based performance tests, parameterize test types, schedule runs, and manage environments via environment variables.
Performance testing today is not just about generating load — it is about measuring, analyzing, and validating system behavior across APIs and browsers with proper observability.
This K6 Performance Testing MasterClass teaches you how to design complete performance testing solutions using K6 and JavaScript — covering both backend API flows and frontend browser-level validation.
You will start by mastering core K6 concepts including stages, thresholds, checks, tags, and custom metrics. You will learn how to design realistic load models and validate non-functional requirements effectively.
The course then walks you through building real-world API test flows such as registration, login, and transactional chains. You will extract dynamic data from JSON responses, implement assertions, and structure modular K6 scripts using JavaScript best practices.
Beyond APIs, you will integrate the K6 Browser library with Playwright to perform browser-level load testing. You will capture Web Vitals metrics such as LCP and CLS, track page-wise performance, and validate real user experience under load.
A dedicated section covers Grafana Cloud integration, where you will stream K6 metrics to Grafana dashboards for real-time monitoring, visualization, and performance analysis. This bridges the gap between load generation and observability — a key skill in modern DevOps environments.
Finally, you will integrate K6 tests into CI/CD pipelines to automate performance validation.
By the end of this course, you will be capable of designing scalable, observable, production-ready performance testing frameworks using K6.
This is a complete API + Browser + Observability Performance Engineering MasterClass.