Review: The Way of the Web Tester

This is a book review of The Way of the Web Tester by Jonathan Rasmusson. Hat tip: Alister Scott.

A beginner’s guide to automated testing, though not specific to the web, despite the title. Covering the quintessential pyramid of UI, integration, and unit tests as well as basic building blocks of HTML, CSS, HTTP and REST APIs, and JavaScript. The book also spends time on best practices for general software programming and testing.

The goal for test automation, according to the author, is to have more time to do the fun things like developing new features, and less time on boring things like fixing bugs. We can’t test everything, yet “with the right 20%, we can sure test a lot.” Agreed. In broad strokes, this book debunks many common misconceptions of automated testing.

Don’t try to automate everything. Instead, automate just enough.

I love the dual audience of testers and developers, and how each chapter addresses the goals for each to learn in the coming text. The chapter ending summaries are handy. The text flows and the examples are easy to follow. Though a quick read, the book ends up covering important topics such as organization, naming, coupling, reusable code, and avoiding flaky tests by making them deterministic.

A few minor nitpicks: I found the metaphor of armor and mobility a tad confusing, and some of the humor seemed off-putting and unnecessary. As a beginner book I didn’t like how it conflated an important concept of CSS selectors and using similar syntax with jQuery to select elements by ID; in my opinion this difference should be understood at a beginner level. The author also doesn’t mention targeting data URIs in HTML attributes for selection, which seems to me to be worth a mention as a useful technique when working without relying on extra IDs or classes everywhere—such as legacy code or HTML output from third-party templates that you don’t control—and is present in popular JavaScript frameworks such as React.

I love the concept of a Developer Productivity team at a software company—at Spotify, Rasmusson describes a squad that went around killing and fixing flaky tests. Making things run better, making everyone happier. I think of Excellence Wranglers at Automattic as having a similar goal in our work as quality advocates.

The Way of the Web Tester does a great job introducing important concepts and covers the basics of automated testing, and I’d recommend it to everyone, even seasoned developers and testers.