By: Don Sherwood
I remember going to Disneyland as a child, and exploring the Carousel of Progress in Tomorrowland, caught up in the wonder of what the future could look like. I imagined a world where robots and advanced technology would create a high level of convenience and simplicity, so that we could spend more of our time focusing on the most important and interesting parts of our jobs and our lives – like those happy, wax families, smiling and playing holographic games together while the robots cleaned up the kitchen and vacuumed the carpet. How I dreamed to be a part of creating such a world!
Robotic Process Automation
ACD has now taken bold steps into that future through Robotic Process Automation (RPA). Simply stated, RPA is the creation of software-based systems that can emulate human behaviors to accomplish repetitive tasks that previously had to be done by a person. In our case, we applied that to testing our software.
Challenges of the Past
Traditionally, after a developer commits their changes to the code, the task gets handed off to a tester, who installs the code on their computer, launches the application, logs in, and tries out the feature that was newly written to see if it works as expected. A good tester will also try out other features that are ancillary to the ticket, to ensure that the changes did not have unintended consequences, and that they still work the same as before. This process is slow and tedious, and a tester can never be sure they tested all the right ancillary features, so bugs can sometimes slip through the cracks and break our customers’ experience.
Enter the Robots!
ACD now has a development team dedicated solely to the creation of automated testing. They named their team the “AutoBots”, in reference to a benevolent race of living robots in the Transformers universe (Yes, we are total nerds).
Following the principles of RPA, the AutoBots team has created a process that monitors the source code for changes, and every time any developer commits any changes to the code, it automatically deploys the changes to a test server and runs a series of targeted tests on it.
The tests launch a web browser and simulate clicks and keystrokes on the elements of the page as if a human was actually sitting at the computer. If errors occur, it detects them and fails the test, capturing a screen-shot, and alerting the team that the code has errors in it. Thus far, the team has created over 460 tests, which a single robot is able to run through in about 45 minutes. These tests are already finding bugs missed by our manual testing, allowing the developers to fix them before they can impact our customers. And this is just scratching the surface of what we can accomplish with automation. “In the future, robots will make your life easier,” said the voice on the Carousel of Progress. For ACD, that future is now.