Code coverage and end-to-end testing – sometimes called path testing – are particularly well-suited for automation, but they’re only as good as the training and implementation.
Since AI doesn’t have an imagination, it is up to the model and whoever is feeding in that data to cover as many paths as you can in an end-to-end test. So how would the AI discover something that the person creating the model couldn’t think of?
“If you hire a manual tester tomorrow, you say to them on Day One, ‘I want you to test my application,’ ” Appvance’s VP of Product Kevin Parker said. ” ‘Here’s the URL, here are 10 things you need to know, use this user ID and password to log in as an end user. And make sure that whenever you see quantity, price and cost, that quantity times price equals cost.’ You’re going to give that manual tester the basic rules.”
Parker said AI can be trained in the same way. “What you teach is that the manual tests involve three things: how to behave, what to test, and what data to use. You teach the AI, ‘That’s an annoying popup box, just dismiss it. Don’t click the admin button, don’t go into the marketing content.’ You communicate those things to the AI, which then has the ability to autonomously go to each page, identify if any of the rules you’ve trained it on apply – how to behave, how to interact, what data to enter – and then exercise them.”
It turns out that it’s way easier to spend your time training the AI that will yield huge amounts of tests generated than it is to sit down and manually write those tests, he explained. And that means that testing can now keep pace with development because you’re able to generate tests at scale and at volume, Parker said.
Model trainers have the mechanism to teach the AI the ability to adapt, so when it sees something it’s not seen before, it can extrapolate an answer from the business rules it was trained it on, Parker said. “We can then assume that what it’s about to do is the right thing,” he said. Yet most importantly, he added, is that it needs to know when to ask questions. “It needs to know when to phone home to its human and say, ‘Hey, this is something, I’m not confident I know what to do, teach me,” Parker said.
And in that way, AI bots can be trained to autonomously interact with the application, and test it independently of humans.