Best practices #2: Why QA’s are hypocrites

The role of a quality engineer in many companies is not only testing features or implementing automation tests but introducing best coding practices and mentoring team how to test software. They (we actually) are telling developers how good coverage is important and almost force them to implement unit tests wherever it’s possible. And we all know that it’s a good approach. We all know that every production or reused code should be tested. But wait… Are testers who say so much about unit testing and coverage follow principles they enforce?

Usually testers (QA’s) are responsible for high level e2e tests. Most probably they are using selenium for that purpose. But not only selenium. In most cases companies need their own  framework for environment and data setup as well as performing most common operations. Sometimes they even wrap up selenium. And here we come to the point. In most cases libraries doing all these things are not separated from the testing code and what is even worse they are not unit tested at all!

Let’s ask ourselves how much do we have reused code in our tests. Do we create frameworks, libs, methods for data setup and common operations? Think how many unit tests do we have assuring that they are working fine? What is the coverage of our testing frameworks and libraries? And last but not least think if this is something we would expect from developers 🙂

Hope in your companies it look different and tools for testing purposes are tested in details. Let me know in comments how does it look like 😉