/Tests

Keeping The Cloudflare API 'All Green' Using Python-Based Testing

- Elie Mitrani tl;dr: This article discusses Scout, an automated system running Python tests verifying the end to end behavior of Cloudflare’s APIs. Scout evaluates APIs in production-like environments, green lights a production deployment and monitors the behavior of APIs in production. This article dives deep into how it operates.

featured in #399


Testing Practices I Follow

- Eliran Turgeman tl;dr: “I’ll share my practices for writing tests and talk about when I write tests. Disclaimer: This is not groundbreaking advice, if you’re an experienced software engineer the following might be obvious to you.”

featured in #393


The Only Guide To Automated End-To-End Testing You’ll Ever Need

tl;dr: If you’re looking for automated test coverage, there are a few options to consider: in-house, traditional outsourcing, or Test Coverage as a Service. We wrote this guide to help you find a solution that aligns with your product, team size, budget, and overall testing needs.

featured in #390


Cleaner Unit Tests With Custom Matchers

- Jamie King tl;dr: "When unit testing, it’s important to cover all your edge cases, but that can come at a cost. Covering edge cases often means making the same or similar assertions over and over again. While test names should clearly describe what is being tested, sometimes these assertions can be messy and have an unclear purpose. Using custom matchers in your tests can help make your assertions cleaner and less ambiguous."

featured in #387


How eBay’s Notification Platform Used Fault Injection In New Ways

- Wei Chen tl;dr: To achieve this, the faults are injected by simulation in the application level by the code instrumentation. As far as we know, we are the very first in the industry to practice this idea officially and widely to experiment on the mission-critical system with different kinds of deliberately designed faults.

featured in #381


What If Writing Tests Was A Joyful Experience?

- James Somers tl;dr: "At Jane Street we use a pattern / library called “expect tests” that makes test-writing feel like a REPL session, or like exploratory programming in a Jupyter notebook - with feedback cycles so fast and joyful that it feels almost tactile. Having used them for some time now this is the only way I’d ever want to write tests."

featured in #380


How To Boost Code Coverage With Functional Testing

tl;dr: From the DoorDash team, "We introduce a functional testing approach that doesn't need any manual setup and can be run like unit tests locally or in a CI pipeline. This approach: (1) Helps catch & reproduce more bugs during local development and greatly reduces debugging time. (2) Accelerates refactoring by testing API contracts without getting involved in implementation details. (3) Provides greater code coverage than traditional tests. 

featured in #379


Developers Are Already Responsible For Code Quality. Don't Add Blackbox E2E Tests To Their Backlog Too.

- Kirk Nathanson tl;dr: Should developers manage end-to-end tests? No. In this post we explain why effective teams offload blackbox end-to-end tests to dedicated experts.

featured in #379


Simplifying Developer Testing Through SLATE

tl;dr: "Testing a service in isolation (i.e. unit, integration, component tests) is important as it gives faster feedback to developers. But to validate whether the requirements for a service are met with the current state of dependencies and get confidence, developers rely on E2E testing. This article describes how we enabled E2E tests for developers with improved dev experience."

featured in #373


I Have Complicated Feelings About TDD

- Hillel Wayne tl;dr: "The difference is that I treat it as a useful technique, one of many, while the very strongest advocates consider it transformational... I practice “weak TDD”, which just means “writing tests before code, in short feedback cycles”. Hillel explains why he holds complicated feelings for TDD.

featured in #344