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