If I had written this article six to eight years back, then probably it would have been thrown into the rubbish bin stating heresy and lack of software development knowledge. But today, we live in a different world that means business and we are going to talk of the role of testing and testers in a software development project that is managed in a DevOps model.
Testing is the process of quality assurance to ensure and assure stakeholders (such as the product owner) that the product that is built conforms to requirements – that are both functional and non-functional in nature. Quality is an evergreen aspect that always has a seat at the table, not only in the software development project but across every single industry.
However, the same cannot be said of testers.
Wait, quality finds a seat in every project but why the hell not testers?
Testers were the people who tested products and certified them as fit for purpose and fit for use, which was a quality passed tag that made a product succeed. This was the situation a few years ago. What has changed today?
Today we don’t need testers to put a stamp of quality on products. We have testing tools that can simulate a tester to test every single aspect that is necessary before the stamp of approval can be formalized. Actually, tools are a hell lot faster than human testers and surely eliminate human errors. Tools are cheap and we can buy them once and use them as many times as we want.
There’s a catch though, a small one at that. You would still need a tester or two to write some scripts and to maintain the tools. Wait, there is more bad news to come for testers. Enter artificial intelligence that can mimic whatever minimal that the testers could have hoped to do. AI can do everything that testers do, you just need to let them shadow you through a project or two to get them to perfect the art of testing. And there’s more bad news. There are tools in the market such as Tosca and Cucumber that does not need a test script and it simply mimics the user.
Wait! There’s a whole lot more where this came from.
These automation testing tools not only replace testers from projects but also the role of users in testing. No more acceptance testing as BDD tools ensure that those can be automated too if we understand the requirements pretty clearly. Getting a hang of requirements is a different ball game though – an aspect that is yet to be conquered.
Hovering back to the topic of testers in software development projects. It is indeed sad that the advent of automation and robotics has clearly signalled the end of an era of quality assurance. A critical link in any software development project (which was often blamed for delays) has been completely outfoxed by our own creation. So where do the testers go from here?
Let’s be honest here. Testing was never a job that required anybody to use their high IQ to think out of the box – mostly. The role made the best of us timid and put us in a box. With the automation conquering testing jobs, it has blown open a new dimension of jobs for testers. They can jump into the world of development, a role that they generally despised because it involved too much analytical thinking. Or they can get into AI and be the people who further develop their nemesis. The options are plenty for those willing to explore. And testers, this is your chance to climb out of the bubble and grow wings.