Blog post -

How we created k6 - the engineering story.

As mentioned in a previous blogpost, we here at Load Impact had realized there were no load testing tools suitable for developers. Most of them were either too simple and limited, like ApacheBench, or they were old, large and clunky GUI applications with little appeal to developers, like JMeter or Load Runner. The end result of this lack of suitable tools was that developers have not been doing much load testing at all. Given the complex-to-learn and -use tools it hasn’t been worth the effort for them.

We wanted to change this, and at the same time build a tool we could use ourselves in our online load testing service, so we sat down and thought about what a good, modern load testing tool for developers should look like, and then tried to come up with a design that matched those criteria. We have written an article explaining our reasoning, the conclusions and the decisions we made.

In our view, a good load testing tool for developers should be:

  • Scriptable in a popular, high-level language, so that a large portion of developers would feel at home immediately and not have to learn much that was new to them, while still giving them the power and flexibility they need. They can write test cases in real code, not some limited DSL.
  • High-performing, so that it could be run on limited hardware (e.g. a laptop) and still be useful.
  • Written in a popular language, so that we might get community contributions in the open source project.
  • Suitable for automation. Automation-friendly scripting API, pass/fail results, standardized output format that can be parsed by a computer, etc.

We also have some requirements that probably do not affect the design of the tool, such as:

  • It should be an open source project. Developers these days expect open source and many shy away from tools that do not publish their source code, or even from tools without an open source license acceptable to them. We also believe that having the code out in the open makes the tool better, plus it may encourage more help from, and interaction with, the community. Check out our open source stewardship text for more information.

Read the full article here

Related links

Topics

  • Computers, computer technology, software

Categories

  • k6
  • load impact
  • load testing
  • performance testing
  • open source load testing
  • open source load testing tool
  • golang
  • javascript
  • automation testing
  • unit testing
  • devops
  • continuous integration
  • continuous delivery

Related content