QA | Load Testing with K6.io

Experimenting with k6.io for Automated Performance Testing

Dan Emmons
3 min readNov 21, 2019

I’m asking for early feedback on this in order to learn more.

k6 is a developer centric open source load and performance regression testing tool for testing the performance of your cloud native backend infrastructure: APIs, microservices, serverless, containers and websites. It’s built to integrate well into your development workflow and CI/CD automation pipelines.

In short, k6 is “like unit-testing, for performance”. Kicking off my test was a simple one-liner: docker run -i loadimpact/k6 run — <Checkout.js

I’m doing a proof of concept Load Test on one of our Checkout pages, and it yielded some very interesting and actionable information in a short amount of time. Here are some highlights.

  • Checkout — 10 Virtual Users, over a 10 minute period
  • Average 13 seconds to load the checkout page and its assets,
  • Total number of 391 test iterations.
  • At least 1 user encountered a 20 second wait time.

I generated a javascript test configuration using k6.io chrome plugin and used the loadimpact/k6 docker image to run it. Kinda neat. More info on this tool I’m investigating can be found here: https://github.com/loadimpact/k6

k6 is just one of the many up and coming tools that might be very useful in the near future. I also think it could be useful for us to have a plugin/helper that integrates into CodeceptJS (my favorite Test Suite Framework). The k6 js tool is free and open source but they also offer a kind of freemium tool for graphical analysis. Kinda cool.

Freemium Graphical Analysis tool for Load Tests also provides hooks into your CI stack

I want to compare the usefulness of this performance-based Load tool, to something that’s already available with Puppeteer one-off performance statistics, and also the https://webdriver.io/docs/devtools-service.html I have mentioned in the past.

It looks like you can even get pretty fancy by integrating with Grafana.

It looks like you can even get pretty fancy by integrating with Grafana.
Credits: https://grafana.com/dashboards/2587

More Features

There’s even more! See all features available in k6

Are there any other Performance and Load testing Tools you enjoy using? Do you have any thoughts on what I am using here?

Now with 19 years of experience, Dan Emmons strives to make issues that seem complex, overwhelming, or insurmountable more manageable for the Team, and to provide exceptional service that exceeds clients’ expectations. For more information, contact him on LinkedIn or through Emmonspired LLC.

--

--

Dan Emmons

A leader who strives to make issues that seem complex, overwhelming, or insurmountable more manageable for the Team & provide exceptional service to my clients.