<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Course overview on Grafana Labs</title><link>https://grafana.com/docs/learning-hub/k6-performance-testing/01-intro/</link><description>Recent content in Course overview on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/learning-hub/k6-performance-testing/01-intro/index.xml" rel="self" type="application/rss+xml"/><item><title>Course overview</title><link>https://grafana.com/docs/learning-hub/k6-performance-testing/01-intro/01-course-overview/</link><pubDate>Fri, 05 Jun 2026 12:46:32 -0400</pubDate><guid>https://grafana.com/docs/learning-hub/k6-performance-testing/01-intro/01-course-overview/</guid><content><![CDATA[&lt;h2 id=&#34;after-this-course-you-can&#34;&gt;After this course you can&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Run&lt;/strong&gt; &lt;strong&gt;&lt;code&gt;k6 run&lt;/code&gt;&lt;/strong&gt; against &lt;strong&gt;QuickPizza&lt;/strong&gt; and read &lt;strong&gt;latency&lt;/strong&gt;, &lt;strong&gt;throughput&lt;/strong&gt;, and &lt;strong&gt;errors&lt;/strong&gt; in the terminal summary.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Execute&lt;/strong&gt; &lt;strong&gt;&lt;code&gt;k6 cloud run&lt;/code&gt;&lt;/strong&gt; and &lt;strong&gt;open&lt;/strong&gt; the stored run in &lt;strong&gt;Grafana Cloud k6&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Add&lt;/strong&gt; &lt;strong&gt;checks&lt;/strong&gt;, &lt;strong&gt;thresholds&lt;/strong&gt;, and &lt;strong&gt;staged load&lt;/strong&gt; so a re-run &lt;strong&gt;passes or fails&lt;/strong&gt; from what you measured.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;who-this-course-is-for&#34;&gt;Who this course is for&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Developers&lt;/strong&gt; who want to catch performance regressions before they ship&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;QA engineers&lt;/strong&gt; who need repeatable, automated performance validation for releases&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Site reliability engineers (SREs) and platform engineers&lt;/strong&gt; who need measured capacity data instead of guesses&lt;/li&gt;
&lt;li&gt;Anyone who has wondered &amp;ldquo;how fast is fast enough?&amp;rdquo; for their system&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;what-this-course-delivers&#34;&gt;What this course delivers&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;You are done when:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Local run:&lt;/strong&gt; Your QuickPizza script finishes with &lt;strong&gt;&lt;code&gt;k6 run&lt;/code&gt;&lt;/strong&gt; and you can read &lt;strong&gt;latency&lt;/strong&gt; and &lt;strong&gt;errors&lt;/strong&gt; from the end-of-test summary.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cloud run:&lt;/strong&gt; At least one &lt;strong&gt;&lt;code&gt;k6 cloud run&lt;/code&gt;&lt;/strong&gt; completes and you can open that run in &lt;strong&gt;Grafana Cloud k6&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Baseline:&lt;/strong&gt; The second path is complete—&lt;strong&gt;thresholds&lt;/strong&gt; come from what you measured, and a re-run &lt;strong&gt;passes or fails on purpose&lt;/strong&gt; (not by accident).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Hands-on — complete in order:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Run your first k6 performance test:&lt;/strong&gt; Install k6, write the QuickPizza script, run &lt;strong&gt;&lt;code&gt;k6 run&lt;/code&gt;&lt;/strong&gt; locally, connect the CLI to Grafana Cloud, then run &lt;strong&gt;&lt;code&gt;k6 cloud run&lt;/code&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Establish a performance baseline with k6:&lt;/strong&gt; Shape load with stages, add checks, run without thresholds, set thresholds from measurements, re-run until stable, then review in Grafana Cloud k6.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You also leave with &lt;strong&gt;checks&lt;/strong&gt;, a &lt;strong&gt;staged load profile&lt;/strong&gt;, and a script you can reuse beside your application code. For documentation after the course, use &lt;a href=&#34;/docs/grafana-cloud/testing/k6/&#34;&gt;Grafana Cloud k6&lt;/a&gt; and the &lt;strong&gt;Where to go next&lt;/strong&gt; slide.&lt;/p&gt;
&lt;h2 id=&#34;know-the-problems-you-are-solving&#34;&gt;Know the problems you are solving&lt;/h2&gt;
&lt;p&gt;This course uses &lt;strong&gt;HTTP metrics&lt;/strong&gt; and &lt;strong&gt;thresholds&lt;/strong&gt; so performance regressions surface &lt;strong&gt;before&lt;/strong&gt; users do, with a clear pass-or-fail line you can use in &lt;strong&gt;reviews&lt;/strong&gt;, &lt;strong&gt;QA sign-off&lt;/strong&gt;, and &lt;strong&gt;pre-release&lt;/strong&gt; checks. For symptoms teams recognize and how &lt;strong&gt;developers&lt;/strong&gt;, &lt;strong&gt;QA&lt;/strong&gt;, and &lt;strong&gt;SREs&lt;/strong&gt; typically use k6, refer to &lt;a href=&#34;../03b-who-uses-perf-testing/&#34;&gt;Who uses performance testing?&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;course-duration&#34;&gt;Course duration&lt;/h2&gt;
&lt;p&gt;~25-35 minutes (hands-on time varies with reading speed)&lt;/p&gt;
]]></content><description>&lt;h2 id="after-this-course-you-can">After this course you can&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Run&lt;/strong> &lt;strong>&lt;code>k6 run&lt;/code>&lt;/strong> against &lt;strong>QuickPizza&lt;/strong> and read &lt;strong>latency&lt;/strong>, &lt;strong>throughput&lt;/strong>, and &lt;strong>errors&lt;/strong> in the terminal summary.&lt;/li>
&lt;li>&lt;strong>Execute&lt;/strong> &lt;strong>&lt;code>k6 cloud run&lt;/code>&lt;/strong> and &lt;strong>open&lt;/strong> the stored run in &lt;strong>Grafana Cloud k6&lt;/strong>.&lt;/li>
&lt;li>&lt;strong>Add&lt;/strong> &lt;strong>checks&lt;/strong>, &lt;strong>thresholds&lt;/strong>, and &lt;strong>staged load&lt;/strong> so a re-run &lt;strong>passes or fails&lt;/strong> from what you measured.&lt;/li>
&lt;/ul>
&lt;h2 id="who-this-course-is-for">Who this course is for&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Developers&lt;/strong> who want to catch performance regressions before they ship&lt;/li>
&lt;li>&lt;strong>QA engineers&lt;/strong> who need repeatable, automated performance validation for releases&lt;/li>
&lt;li>&lt;strong>Site reliability engineers (SREs) and platform engineers&lt;/strong> who need measured capacity data instead of guesses&lt;/li>
&lt;li>Anyone who has wondered &amp;ldquo;how fast is fast enough?&amp;rdquo; for their system&lt;/li>
&lt;/ul>
&lt;h2 id="what-this-course-delivers">What this course delivers&lt;/h2>
&lt;p>&lt;strong>You are done when:&lt;/strong>&lt;/p></description></item><item><title>Performance testing with k6</title><link>https://grafana.com/docs/learning-hub/k6-performance-testing/01-intro/02-what-is-perf-testing/</link><pubDate>Fri, 05 Jun 2026 12:46:32 -0400</pubDate><guid>https://grafana.com/docs/learning-hub/k6-performance-testing/01-intro/02-what-is-perf-testing/</guid><content><![CDATA[&lt;h2 id=&#34;the-k6-vocabulary&#34;&gt;The k6 vocabulary&lt;/h2&gt;
&lt;p&gt;For the performance tests in this course&amp;rsquo;s learning paths, k6 derives latency, throughput, and error metrics from the HTTP requests your script makes. &lt;strong&gt;Checks&lt;/strong&gt; only appear when you define them; this course adds checks on every path. The table below explains these metrics.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Metric&lt;/th&gt;
              &lt;th&gt;What it measures&lt;/th&gt;
              &lt;th&gt;How k6 reports it&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Latency&lt;/strong&gt; (&lt;code&gt;http_req_duration&lt;/code&gt;)&lt;/td&gt;
              &lt;td&gt;Response time per request&lt;/td&gt;
              &lt;td&gt;Percentiles: p50, p90, p95, p99&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Throughput&lt;/strong&gt; (&lt;code&gt;http_reqs&lt;/code&gt;)&lt;/td&gt;
              &lt;td&gt;How much HTTP traffic your script generated&lt;/td&gt;
              &lt;td&gt;Total request count; summary also shows average rate (per second)&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Error rate&lt;/strong&gt; (&lt;code&gt;http_req_failed&lt;/code&gt;)&lt;/td&gt;
              &lt;td&gt;Percentage of failed requests&lt;/td&gt;
              &lt;td&gt;Rate (0.00 = no errors)&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Checks&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Response assertions (correctness, not just speed)&lt;/td&gt;
              &lt;td&gt;Pass rate when your script defines checks&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Percentiles&lt;/strong&gt; (p50, p90, p95, p99) summarize how most requests behaved on the slow end; this course leans on &lt;strong&gt;p95&lt;/strong&gt; for thresholds. Refer to &lt;a href=&#34;/docs/k6/latest/using-k6/metrics/reference/#http&#34;&gt;HTTP metrics&lt;/a&gt; when you need the full set of aggregates.&lt;/p&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;what-is-perf-testing.svg&#34;
  alt=&#34;Performance testing measures system behavior under simulated load&#34;/&gt;&lt;/p&gt;
&lt;h2 id=&#34;thresholds-exit-codes-and-ci&#34;&gt;Thresholds, exit codes, and CI&lt;/h2&gt;
&lt;p&gt;In k6, &lt;strong&gt;thresholds&lt;/strong&gt; on built-in metrics yield a clear pass or fail for the run, and a breach exits with code 99 so a continuous integration job can stop the pipeline without a human reading graphs first. You usually set those thresholds from goals you already use in operations, for example a &lt;strong&gt;p95 latency budget&lt;/strong&gt; for an API or page-backed route, and a cap on &lt;strong&gt;error rate&lt;/strong&gt; so timeouts and failed responses stay rare under representative load. That pairing of scripted limits and a process exit code is how this course automates quality gates; other load-testing tools expose their own failure and reporting models, and many also support response assertions similar to k6 checks.&lt;/p&gt;
&lt;h2 id=&#34;the-testing-spectrum&#34;&gt;The testing spectrum&lt;/h2&gt;
&lt;p&gt;Other common test types compare results against your baseline. That is why baseline comes first.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Test type&lt;/th&gt;
              &lt;th&gt;Question it answers&lt;/th&gt;
              &lt;th&gt;This course?&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Baseline&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;&amp;ldquo;What does normal look like?&amp;rdquo;&lt;/td&gt;
              &lt;td&gt;Yes &amp;ndash; Module 3&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Stress&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;&amp;ldquo;Where does performance degrade?&amp;rdquo;&lt;/td&gt;
              &lt;td&gt;No &amp;ndash; see &lt;a href=&#34;/docs/k6/latest/testing-guides/test-types/&#34;&gt;k6 test types&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Spike&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;&amp;ldquo;Can we survive a sudden traffic burst?&amp;rdquo;&lt;/td&gt;
              &lt;td&gt;No &amp;ndash; see &lt;a href=&#34;/docs/k6/latest/testing-guides/test-types/&#34;&gt;k6 test types&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Soak&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;&amp;ldquo;Does anything break over hours?&amp;rdquo;&lt;/td&gt;
              &lt;td&gt;No &amp;ndash; see &lt;a href=&#34;/docs/k6/latest/testing-guides/test-types/&#34;&gt;k6 test types&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;]]></content><description>&lt;h2 id="the-k6-vocabulary">The k6 vocabulary&lt;/h2>
&lt;p>For the performance tests in this course&amp;rsquo;s learning paths, k6 derives latency, throughput, and error metrics from the HTTP requests your script makes. &lt;strong>Checks&lt;/strong> only appear when you define them; this course adds checks on every path. The table below explains these metrics.&lt;/p></description></item><item><title>Who uses performance testing?</title><link>https://grafana.com/docs/learning-hub/k6-performance-testing/01-intro/03b-who-uses-perf-testing/</link><pubDate>Fri, 05 Jun 2026 12:46:32 -0400</pubDate><guid>https://grafana.com/docs/learning-hub/k6-performance-testing/01-intro/03b-who-uses-perf-testing/</guid><content><![CDATA[&lt;h2 id=&#34;three-roles-three-questions&#34;&gt;Three roles, three questions&lt;/h2&gt;
&lt;p&gt;The same HTTP metrics support goals you already talk about in incidents and planning: &lt;strong&gt;end users waiting on slow responses&lt;/strong&gt;, &lt;strong&gt;clients or gateways hitting timeout limits&lt;/strong&gt;, and &lt;strong&gt;5xx or failed requests when concurrency looks normal&lt;/strong&gt;. k6 does not replace &lt;strong&gt;real user monitoring&lt;/strong&gt; (collecting performance data from actual user sessions in production) or &lt;strong&gt;browser&lt;/strong&gt; testing, but it does give you a repeatable load script and numbers you can gate on.&lt;/p&gt;
&lt;p&gt;These are simplified labels; real teams mix responsibilities. The point is the &lt;strong&gt;question&lt;/strong&gt; each workflow optimizes for, not that only one role may open an editor.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Role&lt;/th&gt;
              &lt;th&gt;Question they need answered&lt;/th&gt;
              &lt;th&gt;Typical k6 touchpoint&lt;/th&gt;
              &lt;th&gt;Outcome you might see&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Developer&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Did my change regress latency or errors before it lands on main?&lt;/td&gt;
              &lt;td&gt;k6 run in &lt;strong&gt;CI&lt;/strong&gt; on the branch with thresholds on &lt;code&gt;http_req_duration&lt;/code&gt; / &lt;code&gt;http_req_failed&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Merge blocked when p95 or error rate crosses a defined line&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;QA / release validation&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Is &lt;strong&gt;this build&lt;/strong&gt; within the same performance envelope as the last release?&lt;/td&gt;
              &lt;td&gt;Scheduled or on-demand k6 run against &lt;strong&gt;staging&lt;/strong&gt;, compare runs in Grafana Cloud&lt;/td&gt;
              &lt;td&gt;Release note or ticket when a metric drifts beyond an agreed budget&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;SRE / platform&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;What is &lt;strong&gt;normal&lt;/strong&gt; load and latency, and how much margin do we have before an event?&lt;/td&gt;
              &lt;td&gt;Baseline against production-like traffic, then capacity or incident follow-up outside this intro course&lt;/td&gt;
              &lt;td&gt;Autoscaling, limits, or comms grounded in measured steady state&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;why-perf-testing-matters.svg&#34;
  alt=&#34;Without vs with performance testing comparison&#34;/&gt;&lt;/p&gt;
&lt;h2 id=&#34;where-youll-start&#34;&gt;Where you&amp;rsquo;ll start&lt;/h2&gt;
&lt;p&gt;This course teaches the skills all three workflows share: writing a test, setting thresholds, and establishing a baseline that produces an automated pass or fail verdict. How you apply those skills depends on your role: in &lt;strong&gt;merge review&lt;/strong&gt;, &lt;strong&gt;release validation&lt;/strong&gt;, or &lt;strong&gt;capacity planning&lt;/strong&gt;.&lt;/p&gt;
]]></content><description>&lt;h2 id="three-roles-three-questions">Three roles, three questions&lt;/h2>
&lt;p>The same HTTP metrics support goals you already talk about in incidents and planning: &lt;strong>end users waiting on slow responses&lt;/strong>, &lt;strong>clients or gateways hitting timeout limits&lt;/strong>, and &lt;strong>5xx or failed requests when concurrency looks normal&lt;/strong>. k6 does not replace &lt;strong>real user monitoring&lt;/strong> (collecting performance data from actual user sessions in production) or &lt;strong>browser&lt;/strong> testing, but it does give you a repeatable load script and numbers you can gate on.&lt;/p></description></item><item><title>Where k6 fits</title><link>https://grafana.com/docs/learning-hub/k6-performance-testing/01-intro/04-where-k6-fits/</link><pubDate>Fri, 05 Jun 2026 12:46:32 -0400</pubDate><guid>https://grafana.com/docs/learning-hub/k6-performance-testing/01-intro/04-where-k6-fits/</guid><content><![CDATA[&lt;h2 id=&#34;k6-in-the-development-workflow&#34;&gt;k6 in the development workflow&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;k6&lt;/strong&gt; is an open-source performance testing tool: JavaScript test scripts, &lt;strong&gt;CLI&lt;/strong&gt; runs, optional &lt;strong&gt;Grafana Cloud k6&lt;/strong&gt; execution and dashboards, and &lt;strong&gt;CI/CD&lt;/strong&gt; integration via exit codes and thresholds.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Develop:&lt;/strong&gt; Write test scripts in JavaScript alongside application code.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Run locally:&lt;/strong&gt; Use &lt;strong&gt;&lt;code&gt;k6 run&lt;/code&gt;&lt;/strong&gt; locally or on a build agent for an instant end-of-test summary.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Run in Grafana Cloud k6:&lt;/strong&gt; Use &lt;strong&gt;&lt;code&gt;k6 cloud run&lt;/code&gt;&lt;/strong&gt; for stored runs and dashboards. Refer to &lt;a href=&#34;/docs/grafana-cloud/testing/k6/&#34;&gt;Grafana Cloud k6&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Automate:&lt;/strong&gt; Reuse the same script in &lt;strong&gt;CI/CD&lt;/strong&gt;; thresholds produce pass/fail without opening a UI.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;where-k6-fits.svg&#34;
  alt=&#34;k6 in the development workflow from code to deploy&#34;/&gt;&lt;/p&gt;
&lt;p&gt;For a fuller comparison of &lt;strong&gt;local &lt;code&gt;k6 run&lt;/code&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;code&gt;k6 cloud run&lt;/code&gt;&lt;/strong&gt;, including commands and optional streaming to Grafana Cloud, refer to &lt;a href=&#34;../../02-your-first-test/11-local-vs-cloud/&#34;&gt;Local vs cloud execution&lt;/a&gt;.&lt;/p&gt;
]]></content><description>&lt;h2 id="k6-in-the-development-workflow">k6 in the development workflow&lt;/h2>
&lt;p>&lt;strong>k6&lt;/strong> is an open-source performance testing tool: JavaScript test scripts, &lt;strong>CLI&lt;/strong> runs, optional &lt;strong>Grafana Cloud k6&lt;/strong> execution and dashboards, and &lt;strong>CI/CD&lt;/strong> integration via exit codes and thresholds.&lt;/p></description></item><item><title>Prerequisites</title><link>https://grafana.com/docs/learning-hub/k6-performance-testing/01-intro/06-prerequisites/</link><pubDate>Fri, 05 Jun 2026 12:46:32 -0400</pubDate><guid>https://grafana.com/docs/learning-hub/k6-performance-testing/01-intro/06-prerequisites/</guid><content><![CDATA[&lt;h2 id=&#34;what-youll-need&#34;&gt;What you&amp;rsquo;ll need&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Grafana Cloud account:&lt;/strong&gt; Free tier is enough. &lt;a href=&#34;/signup/cloud/connect-account&#34;&gt;Create an account&lt;/a&gt; if you need one. Use it to sign in and open k6 dashboards. A path will prompt you to authorize the CLI.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;JavaScript basics:&lt;/strong&gt; Variables, functions, imports. Nothing advanced. If you can read code, you can follow.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Code editor:&lt;/strong&gt; &lt;a href=&#34;https://code.visualstudio.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Visual Studio Code&lt;/a&gt; or &lt;a href=&#34;https://www.cursor.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Cursor&lt;/a&gt; recommended.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Terminal access:&lt;/strong&gt; Command line interface for running k6.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;if-javascript-feels-rusty&#34;&gt;If JavaScript feels rusty&lt;/h2&gt;
&lt;p&gt;The learning paths use &lt;strong&gt;small scripts&lt;/strong&gt; you can follow line by line. If you prefer help authoring or refactoring JavaScript, use &lt;strong&gt;Grafana Assistant&lt;/strong&gt; in &lt;strong&gt;k6 Script Authoring&lt;/strong&gt; mode in Grafana Cloud:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;On the main menu, click &lt;strong&gt;Testing &amp;amp; synthetics&lt;/strong&gt; &amp;gt; &lt;strong&gt;Performance&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;Assistant&lt;/strong&gt; icon at the top of the sidebar to open the Grafana Assistant.&lt;/li&gt;
&lt;li&gt;In the mode selector at the bottom of the Assistant panel, choose &lt;strong&gt;k6 Script Authoring&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Grafana Assistant must be enabled on your stack; contact your administrator if you do not see &lt;strong&gt;Assistant&lt;/strong&gt;. Refer to &lt;a href=&#34;/docs/grafana-cloud/testing/k6/author-run/k6-script-authoring-mode/&#34;&gt;Use k6 Script Authoring mode&lt;/a&gt; for workflows, prompts, and limitations.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example prompt&lt;/strong&gt; (paste into Assistant, then treat the reply as a draft—not the final script):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Create a minimal k6 HTTP test for &lt;code&gt;https://quickpizza.grafana.com&lt;/code&gt; that checks for a &lt;strong&gt;200&lt;/strong&gt; response, uses &lt;strong&gt;&lt;code&gt;sleep(1)&lt;/code&gt;&lt;/strong&gt; between iterations, and runs for &lt;strong&gt;10 iterations&lt;/strong&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Compare whatever Assistant returns with the &lt;strong&gt;&lt;code&gt;script.js&lt;/code&gt;&lt;/strong&gt; in the learning path before you run &lt;strong&gt;&lt;code&gt;k6 run&lt;/code&gt;&lt;/strong&gt;. Wording and structure can vary by stack and model version, so this course does not embed a fixed generated script here.&lt;/p&gt;
&lt;h2 id=&#34;installed-during-the-course&#34;&gt;Installed during the course&lt;/h2&gt;
&lt;p&gt;You don&amp;rsquo;t need to install these in advance. The first learning path covers installation.&lt;/p&gt;
&lt;p&gt;The first learning path installs &lt;strong&gt;k6&lt;/strong&gt;, the performance testing CLI. The same binary sends results to Grafana Cloud. The paths cover login or a token when you need it. Refer to &lt;a href=&#34;/docs/k6/latest/set-up/install-k6/&#34;&gt;install k6&lt;/a&gt; and &lt;a href=&#34;/docs/grafana-cloud/testing/k6/&#34;&gt;Grafana Cloud k6&lt;/a&gt; for details.&lt;/p&gt;
&lt;h2 id=&#34;no-test-environment-needed&#34;&gt;No test environment needed&lt;/h2&gt;
&lt;p&gt;You&amp;rsquo;ll test against QuickPizza. It&amp;rsquo;s a Grafana-maintained demo. You don&amp;rsquo;t need staging or production access to finish the paths.&lt;/p&gt;
&lt;h2 id=&#34;other-entry-points&#34;&gt;Other entry points&lt;/h2&gt;
&lt;p&gt;Not starting from install and baseline? Use these instead:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Already comfortable with k6 thresholds and want &lt;strong&gt;stress, spike, or soak&lt;/strong&gt; first? &lt;a href=&#34;/docs/k6/latest/testing-guides/test-types/&#34;&gt;k6 test types&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Browser-centric&lt;/strong&gt; testing: &lt;a href=&#34;/docs/k6/latest/using-k6-browser/&#34;&gt;k6 Browser&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Little or no code&lt;/strong&gt;: &lt;a href=&#34;/docs/k6/latest/k6-studio/&#34;&gt;k6 Studio&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h2 id="what-youll-need">What you&amp;rsquo;ll need&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Grafana Cloud account:&lt;/strong> Free tier is enough. &lt;a href="/signup/cloud/connect-account">Create an account&lt;/a> if you need one. Use it to sign in and open k6 dashboards. A path will prompt you to authorize the CLI.&lt;/li>
&lt;li>&lt;strong>JavaScript basics:&lt;/strong> Variables, functions, imports. Nothing advanced. If you can read code, you can follow.&lt;/li>
&lt;li>&lt;strong>Code editor:&lt;/strong> &lt;a href="https://code.visualstudio.com/" target="_blank" rel="noopener noreferrer">Visual Studio Code&lt;/a> or &lt;a href="https://www.cursor.com/" target="_blank" rel="noopener noreferrer">Cursor&lt;/a> recommended.&lt;/li>
&lt;li>&lt;strong>Terminal access:&lt;/strong> Command line interface for running k6.&lt;/li>
&lt;/ul>
&lt;h2 id="if-javascript-feels-rusty">If JavaScript feels rusty&lt;/h2>
&lt;p>The learning paths use &lt;strong>small scripts&lt;/strong> you can follow line by line. If you prefer help authoring or refactoring JavaScript, use &lt;strong>Grafana Assistant&lt;/strong> in &lt;strong>k6 Script Authoring&lt;/strong> mode in Grafana Cloud:&lt;/p></description></item></channel></rss>