skip to main content

Blog | About me

Bad reasons to test

“Complete” testing is impossible, so we have to do the best we can with the time and resources we have. Often, that comes down to making sure that there’s a good reason for each test to exist. If there isn’t, then you should remove it and spend that time on something more valuable. When evaluating… Read more

You might not need to fix your flakey tests

There’s a toxic cycle that can be caused by flakey tests. The more unreliable tests are, the less likely you are to trust their results. At best, it means wasted time as people re-run a failing step in an automated pipeline until they get the result they want. It then takes 2 or 3 times… Read more

Coffee break tests: An exercise in test design

Let’s think about an example test scenario. We’re given a program called MoverBot that is responsible for distributing a data file created by another program, OutputBot, to several servers. Since the two programs operate asynchronously with variable runtimes, OutputBot and MoverBot communicate about which files are ready to be distributed through a shared database entry…. Read more

Testing in 2021, according to my Twitter bookmarks

My annual roundup of all the things about testing (and working as a programmer more generally) on Twitter that I found interesting enough to bookmark. “A picture is worth a thousand assertions“, quoting Angie Jones from the Test And Code podcast (but remember that all those assertions happen at once without being itemized) Angie Jones… Read more

Gatekeeping in testing

We often talking about gatekeeping in testing as a problem in the sense that testers shouldn’t be the ones that decide when something goes out to production. But “gatekeeping” can also be used in the sense of excluding others. In fan communities you might hear “you aren’t a real Marvel fan if you’ve only seen… Read more