The Clean Test Automation Monthly is a monthly blog post that shares interesting or useful test automation content which I consumed during the current month. This blog post is always published on the first day of the "next" month.
Let's begin!
Test Design
API Tests – Rent You Don’t Need to Pay defines the term API test, identifies the cost of "duplicate test coverage", and shares practical tips that help us to write good API tests.
The AI Testing Hangover: When More Automation Means Less Confidence identifies the cost of valuing quantity over quality, argues that we shouldn't track code coverage, shares four metrics which are more useful, and explains what we should do next.
System/UI Tests – The Layer You Should Hate Needing defines the term system test, identifies bugs that only a system test can catch, and helps us to build a reliable and useful system test suite.
The Spec Is the Contract: How SDD Is Changing API Test Strategy describes how spec-driven development can help us to do contract testing, identifies three risks of spec-driven development, and explains how QA engineers can gain an advantage by co-owning the specification documents.
The Conversation You’re (Probably) Not Having describes how both QA engineers and developers can increase confidence and reduce production bugs by building healthy collaboration habits.
Test the Feature, Not the Endpoint argues that API tests which test only only one API endpoint don't help us to verify that a feature is working as expected. Thus, if we want to ensure that a feature is working as expected, we should write workflow tests.
Backend
Tiberius: A Security Testing Framework for LLM Applications in Java provides a quick introduction to Tiberius which is a vulnerability and security testing library that integrates with both JUnit Jupiter and Spring Boot.
Rest-Assured Configuration and Specifications: Writing Maintainable API Tests demonstrates how we can remove duplicate code from our API tests which use Rest Assured.
The Jqwik Anti-AI Affair explains why the author of the Jqwik library decided to add the "infamous line" to the standard output of each test run.
UI / End-to-End
Three Paths to Agentic UI Automation identifies three different approaches which an AI agent can use when it wants to drive a browser, explains the pros and cons of each approach, and helps us to select the correct approach.
Data Driven API Testing in Playwright TypeScript: Part 1 and Part 2 is a two part tutorial that provides a quick introduction to data-driven testing and explains how we can write data-driven API tests with Typescript and Playwright.
Mocking Server Side HTTP in Playwright with mockttp describes how we can write Playwright tests which mock HTTP requests with mockttp.