Pact.io and Consumer-Driven Contracts

Pact.io claims that it can fully replace End-to-End testing. I’m not so sure about that, but it’s an intersting tool!

October 12, 2023 · 3 min

Resemblance and Likeness Testing Patterns

The Resemblance and Likeness patterns improve the readability and diagnosability of developer tests.

September 15, 2023 · 5 min

Evolving Test Data Arrangement

This post recounts my journey to understand tests data arrangement from before my blogging days. This exploration cemented key lessons in reusability and composition.

May 11, 2023 · 12 min

Footwork for Developers

Sports generally have some fundamental skills that athletes drill endlessly. These fundamentals are the foundation for good execution. They must be committed to muscle memory if the athlete wants to focus on higher-level skills and strategy. In fencing, footwork is fundamental. What is the equivalent for software?

May 5, 2023 · 2 min

Should tests be Pure?

I noticed Scala has several testing libraries that tout functionally pure tests. Is purity desirable for developer tests?

April 27, 2023 · 5 min

What fails and what to test

Releasing frequently requires repeatable confidence that changes are safe. Reliably verifying system health requires covering the many failure modes of a system. So, what are those failure modes?

February 10, 2023 · 2 min

Assessing Understanding with Unit tests

I’ve been thinking of ways I can encourage students to get knowledge out of their head and experiment. Both so I can give feedback and to get them in the habit of checking their own understanding. I think unit tests might be an effective tool.

January 20, 2023 · 4 min

Performance as a Domain Property

Sometimes performance is an observable domain behavior that belongs in our normal test suite

August 19, 2022 · 2 min

Tests as Values

Lambdas, or functions as values, have worked their way into mainstream programming and transformed development for many programmers.

May 20, 2022 · 5 min

TestApi and Test Reuse in C#

The TestApi pattern helps decouple tests from our system and enables more stable and reusable tests. I’ve shown how I use the pattern in F#. Now here’s a similar example in C#.

May 16, 2022 · 5 min