k6 – API performance testing tool

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.

This is one of the better tools that I’ve seen in a long time. Not only it does its job great, but it integrates brilliantly with your development and testing pipelines.

You can either build your tests from scratch, or you can convert import them from your existing tools. For example, Postman collections, environments, and tests can be converted to k6 with postman-to-k6. Here’s a blog post to get you started on that path.

Side note: if you hit the “EACCES: permission denied, mkdir ‘/usr/local/lib/node_modules/postman-to-k6/vendor’” durin the postman-to-k6 installation, then simply append “–unsafe-perm=true –allow-root” to the “npm install” command, as suggested in this GitHub thread.

k6 provides excellent functionality for extending your basic performance tests with additional checks, metrics, and thresholds. You can even keep using your existing Postman tests within k6.

There’s also a variety of output formats, ranging from CSV and JSON, all the way to InfluxDB with Grafana charts.

Reading postmortems

Once in a while a seemingly straightforward article turns into a goldmine of links and resources. This happened to me today with this one – “Reading postmortems“.

Not only this article itself is a very nice roundup of common sources for system failures, but it also links to a couple of awesome references:

  • Simple Testing Can Prevent Most Critical Failures: An Analysis of Production Failures in Distributed Data-Intensive Systems. This is both a talk and a paper.
  • danluu/post-mortems – a GitHub repository with a collection of publicly available postmortems from a variety of organizations, like Google, Amazon, Facebook, NASA, GitHub, and more.

If you still have no idea what postmortem is, Wikipedia explains.

composer-plugin-qa – Composer Plugin for PHP Quality Assurance Tools


composer-plugin-qa is a Composer plugin which adds all the most popular PHP quality assurance tools as composer scripts, so that you don’t have to install and set them up one by one.  The list of tools includes the following:

  • PHPUnit: Testing Framework
  • PHPCOV: CLI frontend for the PHP_CodeCoverage
  • Paratest: Parallel testing for PHPUnit
  • DbUnit: Puts your database into a known state between test runs
  • PHPLOC: A tool for quickly measuring the size of a PHP project
  • PHPCPD: Copy/Paste Detector
  • PHP_Depend: Quality of your design in the terms of extensibility, reusability and maintainability
  • PHPMD: User friendly frontend application for the raw metrics stream measured by PHP Depend
  • PhpMetrics: Static analysis tool, gives metrics about PHP project and classes
  • PHP_CodeSniffer: Detects violations of a defined set of coding standards
  • PHP-CS-Fixer: A tool to automatically fix coding standards issues
  • Security-Checker: Checks if your application uses dependencies with known security vulnerabilities

This list is very similar to the one in my other recent post.




Mailtrap – safe email testing for development teams


Mailtrap is a handy service for any developer or team that needs to test outgoing emails from test and staging environments, without spamming real users.  It’s basically a fake SMTP server with some controls of where and how to forward messages, and ways of analyzing, sharing, and testing of HTML rendering.




Unit Testing – The Big Picture


Unit Testing – The Big Picture” is a super useful for those of us who need a refresher or an overview of what software testing is in general, and how unit testing relates to other types of testing in particular.  It covers a bit of history of testing, different approaches, terminology, and more.