Testing With An Invisible Friend
Do you think it possible that robots could test as well as you? It’s an interesting thought, but for most of us, working in projects where the problems we face are cultural, organisational and human-centred it doesn’t seem likely any time soon.
But there are opportunities to use bots to support testing. One possibility is to employ a bot as a ‘paired tester’. Most of us have experienced working closely with a colleague as a pair to solve a problem, do some testing, programming or other collaborative task. “Two heads are better than one” is a well-known maxim. Two people collaborating can be more effective than two people working alone.
So, I thought it would be an interesting experiment to create a bot that simulated a human partner in testing. The tester would speak to a bot that obeyed commands, captured the thoughts of the tester and recorded the models that the tester uses to inform their testing.
It was quite easy to create a bot that understood speech commands from the tester and used text-to-speech to make it a two-way conversation. Initially I used Google speech recognition to get a basic prototype working but it made lots of errors. However, with the arrival of Amazon’s Alexa and the Echo Dot device, the performance of the bot is a whole lot more reliable.
This talk shares my experience of using Alexa as a paired tester.
Of course, the bot requires that you adopt a certain protocol and language to communicate but that is a small challenge. I found that the exploration process changes with a software partner keeping track of what you are doing. Of course the bot cannot do everything a human can do. What is most interesting is that the test process that fits most naturally to the human-bot pair also fits the new dynamic of Shift-Left, Continuous Delivery and DevOps. The way teams with bots interact could make test managers redundant.
Perhaps using bots to support testing is the future after all?