The role of AI in Software testing

The evolving role of software testing – Software testers are asked to check new application functionality after developers have deemed it “done”. They have a list of actions to perform & they manually click through each & every step trying to faithfully follow all instructions & methodically document the outcome of each step in case something goes awry. They don’t really understand the business or the application’s users, and they rarely interact with the developers or stakeholders.  Their primary goal is entering X and checking that the outcome is Y and not Z.

This is undeniably boring—but I don’t think it’s truly testing.  It’s certainly not the type of software testing that’s required to deliver exceptional customer experiences faster than your competitors.

The “digital transformation” sea change is impacting virtually every department at every business today, and few QA departments will remain untouched.  The resulting wave will likely wipe out the “boring as sh*t” manual verification I described above. But it could also elevate testing to a “sexy” discipline where testers become the primary stewards of the customer experience.

That’s probably the most memorable takeaway from “The Great Software Testing Debate”: a recent panel I participated on with Jeff Wilkinson (Managing Director at Accenture) and Anders Wallgren (CTO at Electric Cloud). As we debated the evolution of testing, we touched upon topics like the emerging role of SDETs and the future of TCoEs. We all agreed that the disruption we’re facing today presents a great opportunity to reposition testing as a discipline that’s driving innovation rather than dragging it down.  However, the devil is in the details. What exactly needs to change, and how do we get there?

Anders introduced a great mantra that captures how quality has become everyone’s responsibility: “When customers see a bug, they don’t blame the testers or the developers. They blame the company that released the crappy software.”

Continuing on this theme, Anders also shared an interesting analogy for how to approach quality as a process: “Think of the School House Rock on how a bill becomes a law. This is how we need to think about our code. We need to consider all the different things that happen to our code as it passes along the conveyer belt of our software delivery factory, all the different people that are involved in the process. Once we have this mapped out, that’s when we can really start optimizing the process…If a bug escapes through that process and reaches the customer, this means that there’s a larger organizational failure that must be identified, analyzed, and addressed.”

Jeff is a passionate champion of diversity. In past conferences, I’ve witnessed his moving presentations about how including employees from a broad mix of backgrounds not only benefits specific testers…it also enhances the quality of your overall testing.

In this panel, Jeff focused on how the shift to DevOps is opening up a variety of different options to accommodate different skillsets.  For example, former manual testers can take a number of different paths to contribute to the automation effort. Those who want to continue along the testing path might learn model-based test automation and/or Selenium to remain marketable in the software testing field. Some might decide to focus on test data management.  Others will be more inclined to branch off and master DevOps practices and platforms. There are 40,000 testers at Accenture. They don’t all have the same personalities and skillsets…and Accenture is a much stronger company as a result.