End of year, time for new resolutions and since test automation is still a debatable topic, worth looking into the the future opportunities it can provide. But first, let’s have a look in the past few years and see which were the main trends that I managed to identify. More than 3 years ago, Selenium was the main trend. Everyone thought of Selenium as the main tool to focus on automation so lots of workshops and conferences covered that need. Than APIs became the new hype. Wether is REST or SOAP or just APIs, discussions and tools started to emerge to feed the need on how to test and handle test automation for APIs. The current one is about test automation strategy which emphasises a valid point – the human element is the most important one. The tool just executes a script, but all other activities require a set of skills that, as humans, we need to develop (analysis, design, coding, result interpretation, etc.)
What’s the point of all this? It seems to me that we’re approaching test automation on layers rather than slices. Talking about slices, we used to have Selenium, then APIs. The pyramid of testing levels didn’t help much because also suggests the idea of layers. Instead we’re omitting the business value. Verticals provide the business value, not the layers. Verticals can be deployed and accepted by customers.
Consider the vertical: networking, infrastructure, database, backend systems, message bus/queue, consumers. As testers on test automation, we also need to talk about the lower levels: networking, infrastructure (resilience, replication, failover, scalability, etc.). I meet Ops engineers looking for testing people to validate deployment scripts , but there’s a lack of experience in the area. I see architects looking for testing experience to challenge designs, to challenge replication systems, build monkey armies, but there’s little experience in that area.
We’re progressing towards serverless architectures. In few years time, applications will be just like Legos. A set of micro services interconnected with few lines of code to deliver a specific business value. All of that having virtualisation in mind. Did you find a critical bug? Build container with previous image, fix problem, re-deploy and that’s it. Part of the testing as we know it will become static analysis of 3 lines of code which enable the integration between external components.
I strongly believe that the testing community should start approaching this topics. Conferences should enable discussion panel beyond Selenium, APIs and testing strategies. Here’s my bet: the testing role as we know it know will change dramatically in few years time – as a tester it will be more important to have system thinking and devops mentality with strong skills on scripting. Exploratory testing will always be there but move from the UI/API level to a more operational approach. Testers will have to cope with the un-deterministic model of AI or with the complexity of blockchain.
What I wish for 2018?
- At least one conversation on the future needs on test automation beyond Selenium or APIs
- To see at least one talk on these new topics in conferences
- To define a context where all of the above can be explored in more details.