skip to main content

Blog | About me

Lumpers and Splitters in Testing

I find myself getting frustrated a lot with the online discourse around testing. Often, it comes down to what language we choose to use to describe what we do as testers. I have a running list of “debates I no longer care about” in my notes app, but this post isn’t about airing those grievances…. Read more

Creating a Job DSL seed job with JCasC

I spent a good amount of time trying to figure this out today and thought it would be worth putting out in case it helps others. I’ve been exploring different ways of automating Jenkins administration lately, which has led me to trying both Jenkins Configuration as Code (JCasC) and the Job DSL plugins. I’ll write… Read more

Scaling visual testing with BackstopJS (Part 2)

In Part 1, I wrote about how I break up the monolithic BackstopJS config file. We were able to organize multiple test files in folders any way we liked while at the same time reducing duplication between scenarios. This dealt with the first of two related limitations of BackstopJS: one giant flat configuration file. Now,… Read more

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