The Clean Test Automation Monthly is a monthly blog post that highlights the best test automation content which I read during the current month. This blog post is always published on the last day of the month.
Let's begin!
What is your definition of a Unit, Integration, and End-to-End test? is an interesting Reddit discussion which kind of demonstrates that these terms aren't very useful because people have so many different definitions for them.
Some things to consider when implementing contract testing is a thought-provoking blog post which identifies five things we should take into account when we want to do contract testing.
Enhancing Test Stability With Test Doubles for Flaky Test Management provides an introduction to different test doubles and describes how we can fix flaky tests with these test doubles.
We're moving continuous integration back to developer machines is an interesting blog post which argues that remote test runners aren't faster, simpler, or cheaper (my own addition) than running tests on developer machines.
Test Failures Should Be Actionable is an excellent blog post which argues that if a test fails, we should be able to figure out "what's wrong" by using only the name of the test and the failure message.
Flakiness isn't from your test framework is a solid blog post which explains why different end-to-end testing frameworks (such as Playwright, Selenium or Cypress) can never prevent us from writing flaky tests.
The fine art of "Bean-Driven Development". How not to test your software? is a funny blog post that introduces four rules which help us to test our application like Mr Bean.
Automating Testing with GitHub Actions: Continuous Integration (CI) Part 1 and Part 2 is a good tutorial that describes how we can create a CI pipeline with Github actions.
Avoid the Long Parameter List is a very good blog post which describes how we can write methods which are easy read, use, and test.
Using Azurite to Test Azure Blob Interactions in Spring Boot is a comprehensive blog post which explains how we can write tests for Azure blob interactions with Testcontainers and Azurite.
3 Reasons Why We Shouldn’t Initialize Our Test Data With Production Code is my own blog post which identifies the problems we face if we initialize our test data with production code and describes how we can write robust and useful tests.