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!
Clean All The Tests! emphasizes the importance of maintaining test code quality by treating it with the same rigor as production code. The author (Gil Zilberfeld) argues that if we apply clean code principles to our test code, we end up with a well-structured test suite that's easy to read and maintain. Finally, the author states that a clean test suite helps us to understand the requirements of our code which is useful when we have to troubleshoot it.
Documentation: Distribution of Tests (Testing Shapes) explores three different models which can be used to distribute tests between different layers or targets. These models help us to maximize the effectiveness of our test suite by giving us a rough idea what kind of tests we should write.
SMURF: Beyond the Test Pyramid challenges the traditional test pyramid and argues that it isn't helpful when our test suite grows and we face difficult trade-offs. The author offers a fresh approach and introduces the so called SMURF mnemonic which identifies the trade-offs we have to consider when we work on our test suite.
The Beleaguered Page Object Model describes how the page object model can sometimes lead to overly complex tests which are hard to maintain. This post argues that while the page object model aims to improve readability and code reuse, sometimes developers create an over-engineered monster that should be replaced with testing library selectors.
What Are We Really Testing? takes a philosophical look at the purpose and scope of automated testing, tackling questions like the ideal number of tests and the boundaries of test coverage. The author considers whether tests should focus only on one's own code or cover the code written by others, such as frameworks or runtime components. This encourages developers to think about their testing goals and find tests that add true value.