Software Test Automation has reached unprecedented heights. Every product organization is investing heavily in this space and newer tools and frameworks (whether IP, commercially sold or open source) are flooding the market. Software test automation is a lucrative career to grow into and is much sought after today. Automation strategy itself has evolved leaps and bounds whether it be feature file driven, BDD driven, API level, robustness of the test cases to withstand UI changes, ability to handle testing across attributes such as functionality, security, performance, usability etc.
However sophisticated the function can get, as an organization that specializes in software testing and as a test professional myself for the last several years, one concerning trend is whether this whole concept of automation is taken a bit too far in the industry, losing focus and understanding on the core application under test.
For example, I was recently interviewing a software test automation engineer – She had quit her job and was looking to get back in the industry and did not mind the change in role to take up a manual test position, which we had open – while we often assume that moving from a manual to automation position is something that one needs to grow into, we fail to recognize that the reverse is also true. So, here I have this automation engineer sitting in front of me, saying she can automate any test case, but when asked what exposure she has had testing products, she was lost. She had joined her product company directly as an automation engineer without any experience of testing applications. While it is fine to directly join as an automation engineer, what shocks me is how one can survive, without any exposure to the manual testing practices. Is it not common sense that a test automation suite is also only as smart as we design it to be? That we cannot purely rely on requirements, and the automation tester needs to first understand the core functionality of the system under test to duly identify what the automation priorities need to be?
This interview left me wondering on whether in the larger push to automation, we are losing focus on the core that an application understanding and testing practices are fundamental to anyone involved in software development – even if you are not officially a tester. Today, it is important to not just understand the push to automation – but also to equally understand that quality is everyone’s responsibility (including the automation engineer) and that core application understanding and constant interaction with the application at a manual level further enhances the robustness of the automation suite.