We QAs are so adamant about owning automated tests. Why do we think that automated tests should be solely owned by us?
I’ve spoken to many QAs, and they all have their own opinions.
Many believe they can’t rely on their dev team members to own and maintain automated tests, as they lack a testing mindset.
Some think developers might add false assertions to make the tests pass.
Others believe that developers are only there to add application code and should not interfere with testing.
I understand that developers might not have the testing mindset due to the psychological reason that the maker can’t be the right checker.
[Read about why automated tests become unreliable and how to keep them reliable]
But I have a question for QAs doubting the testing mindset of developers: What sort of tests do you automate? Are the majority of your automated tests the edge cases that developers can’t think of?
If your answer is YES, then don’t you think there is a problem with your approach to automated tests?
If your answer is NO, then there’s no need to question the testing mindset. Any team member should be encouraged and asked to contribute to quality. They should be contributing to positive/negative scenario additions to your automated tests. QAs are not solely responsible for automated tests. If you still doubt about the sufficient coverage by devs, you can still contribute and add missing tests
Similarly, I have a question for QAs, who believe devs may add false assertions.
Well, you can review their code.
The last group who believe that developers are only there to add application code and should not interfere with testing.
Please rethink your testing approach. A developer should be responsible for delivering the feature in an end-to-end manner. At the very least, developers should ensure that a sufficient safety net is in place for their changes. If needed, they should also contribute to UI (E2E) tests.
I understand there are certain reasons like tight deadlines, lack of expertise, or team dynamics that might make this challenging.
In this case it is acceptable for QAs to solely own the automated tests. However, there would be a situation in future where rate of adding new features will not match with the pace of adding automated tests, eventually leading to gap in test coverage.
Why joint ownership is important?
- Collective Ownership of Quality: When both developers and QAs have ownership over automated tests, they share responsibility for ensuring the quality of the software.
- Better Automated Test Code: There is no doubt that developers write better code than QAs. It can be leveraged to write automated tests that adhering to best coding practices. This results in more maintainable, efficient, and scalable test code.
- Faster Feedback Loops: Developers become direct consumers of automated tests when they are responsible for maintaining them. This leads to faster feedback on their changes, as they can immediately validate their code against the automated test suite.
- Improved Test Maintenance: With joint ownership, there is less risk of developers breaking tests without understanding how to fix them.
- Cross-Functional Skills: In the absence of QAs or during peak times, developers can step in and handle testing tasks.
Follow me on Substack and Medium.
Latests Posts
- Why I Avoid IDs and CSS Selectors as Locators
- An In-Depth Understanding of getByRole in Playwright
- Please Stop Celebrating Defects
- Characteristics of a Good QA
- Fluent Wait in Selenium 4: The most comprehensive guide
Thank you for reading this post, don't forget to subscribe!