TestBash SF 2019 Live Blog: Test Machina: Demystifying AI-Driven Test Automation

Tariq King has been on a tear as of late, appearing at a variety of conferences talking about the prevalence of AI and ML with regards to training computers the way that we train human brains. When we say that machines are learning, what do we actually mean by that?

AI and ML can be seen in a variety of games that systems have been taught to learn from and play. In the process, we can see reinforcement learning in practice. By thinking of a game, we can take a number of complex elements and we can break them down to smaller processes. In computer systems, there is a variety of agents that learn specific tasks and the processor applies logic and reasoning to allow a given agent to run at any given time. As a human, we are also doing something similar but we are not actively aware of it. To us, these actions seem automatic and all-encompassing, rather than discrete steps that individual agents can perform.

So how do we apply AI to testing? In the same way that we break steps down to a simple series of steps where designated agents perform set steps based on the role of the agent, the process comes more down to agent management than it does brute force. the first step is to see the various elements and understand where they fall and how we interact with them. Second is to model their behavior and keep track of what the processes do and what the agents perform as they are run through their paces. From there we test out the scenarios and finally, we encourage the system to score their actions. In short, with an increasing score, we say the machine is learning as the score increases.

I think this is the first time I’ve thought about the idea that each step breaks down to agents and having those agents develop scores for their actions and then putting them in action as their scores increase or decrease. It’s also interesting in realizing that there are times where qualitative testing is important but when quantitative analysis is being performed, a machine can do it steadily and predictably lots more often than a human would be willing to.

Bottom line is that there is a lot of useful applications for AI and ML in testing. Is it enough to make us obsolete? I’m cautiously optimistic, let’s leave it at that.