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 last day of the month.
Let's begin!
Test Design
Improve test quality with mutation testing provides an introduction to mutation testing, demonstrates how we can do mutation testing with Pitest, and explains what we should do with the mutation test results.
Mutation testing - not just for unit tests argues that even though mutation testing works best if our tests are fast, it can be a useful tool for "slow" tests as well.
The Tetris Principle aka "Test as Low↓ as Possible" argues that when we want to write an automated test, we should write the test at the lowest reasonable level of the testing pyramid.
Beyond the Test Pyramid: Building New Monuments for Testing argues that the classic test automation pyramid has served us well, but technological advancements (hardware improvements, cloud computing, and containers) have made it obsolete. The author also introduces a new test automation pyramid that helps us ensure that our application meets the expectations of real users.
How to Know When Simple Isn’t Enough Anymore (The TDD Answer) explains how we can use TDD as a design tool.
The Automation Maturity Pyramid introduces a four level pyramid that helps us to increase the maturity of our test automation efforts. The author identifies the levels of the test automation maturity pyramid and explains how we can climb from the lowest level to the top of the pyramid.
Test Driven Development: Bad Example is a review of Kent Beck's 2003 book, Test Driven Development: By Example.
The Testing Skyscraper: A Modern Alternative to the Testing Pyramid argues that the classic test automation pyramid is obsolete and should be replaced with a testing skyscraper where every level is considered good if fulfills a business need.
Backend
Spring Boot Testing: From Unit to End-to-End Testing is a solid quick start guide that explains what kind of tests we should write for our Spring Boot applications.
Making HTTPS Calls to Untrusted SSL Servers With REST Assured is a practical blog post that describes how we can configure REST Assured to accept untrusted SSL certificates.
Implement Unit Test in gRPC Service describes how we can write tests for a gRPC service and a gRPC client.
Introduction to Data-Driven Testing with Java and MongoDB explains how we can write parameterized tests for a Jakarta Data repository with JUnit 5 and Testcontainers.
Optimizing Spring Integration Tests at Scale is a comprehensive guide that helps us to optimize our Spring Boot integration tests.
Supercharging Test Automation with Java Faker: Generating Realistic Test Data provides an introduction to the Java Faker library which helps us to generate realistic test data for our automated tests.
UI / End-to-End
Understanding Stealth Automation identifies the techniques which websites use to detect automation tools (or bots in general), explains how stealth automation works and why it's important, and demonstrates how we can use it for testing a simple demo website.
Simplify the Playwright HTML report explains how we can replace technical descriptions (locator or identifier details) with human-readable descriptions which emphasize the tested business rule.
Transforming UI Test Report: Harnessing HAR Files in Playwright describes how we can enhance our UI test reports by leveraging the HTTP archive (HAR) files.
Debugging "No Tests Found" Errors in Playwright: A Comprehensive Guide provides tips which help us to solve the infamous "no tests found" error.
Playwright Agentic Coding Tips provides an introduction to AI agents, compares different pricing models, and provides five tips that help us to generate API and UI tests with an AI agent.
Frontend Load Testing Against the Thundering Herd Effect provides a quick introduction to the thundering herd effect in frontend applications, and describes how we can write load tests which help us to catch these issues before they reach production and (potentially) cause a service outage.
The Smart Way to Begin Performance Testing is a step-by-step guide that helps us to write our first performance tests with Grafana k6.