skip to main content

Blog | About me

Don’t “check” or “verify” in your tests

Clearly communicating intent is an underrated skill in writing tests. In automated tests especially it is tempting to think that since the code defines what gets checked, the human-readable parts of the test — the description or the method names — aren’t as important to get right. I often see people define custom assertion functions… Read more

Scaling visual testing with BackstopJS (Part 1)

As a free and open source tool for conducting visual tests, BackstopJS is a good way to start exploring visual testing before buying into one of the many paid services. I’ve found it does face some limitations in scaling to even a modest number of scenarios, for two reasons: Testing scenarios are defined in a… Read more

Testing in 2019, according to my Twitter bookmarks

I’m not a particularly active twitter user, but I do find it a great way to get a wider perspective on software testing and development. I’ll often bookmark interesting tweets or threads as I come across them so I can remember to come back to them, either to read later or to think more about…. Read more

The paradox of why we automate

One of the most important challenges in test automation is figuring out what is actually worth automating. Not all things can be automated, not all things should be automated. But some can, and presumably some should. So inevitably we need to ask, why automate this thing and not that thing? That question came up in… Read more

Can tests cause bugs?

Some of the best podcasts about testing aren’t about testing at all. Enter: last week’s episode of 99% Invisible on Cautionary Tales. The episode is about examples of things going horribly wrong, and why. Obviously there some superficial connection to testing already: one reason we test software is to help prevent things from going horribly… Read more