Utilizing a Multi-Agent Approach in Automated Software Testing
You have a complex engineering problem. Perhaps you need to develop software to optimize logistics for a package delivery company. Maybe you need to make sense of information from a vast customer database. It’s possible you’ve even been told to develop the next generation of routers to manage the ever growing volume of internet traffic. What if I told you I had a secret to solve these problems and more, and that an example of it could be found in your own backyard?
Consider the ant. Not what you were expecting? Let’s back up and start with a problem that ants actually solve: designing ant colonies.
Writing software to design an ant colony would be a complex affair. It would have to take into account many parameters such as total ant population, adequate air circulation, efficient food storage; the list goes on and on. So what if, instead of writing software to design a colony, we wrote software to power an individual ant? This is the concept of a multi-agent system.
Writing the software for an individual ant, or intelligent agent, is much simpler than attacking the overarching problem as a whole. When many of these autonomous agents are executed concurrently, their individual simplistic behaviors manifest as complex behavior of the system as a whole, despite the fact that no one agent requires insight into the entire system.
At IDT, we believe there is a tremendous opportunity to change the current concepts of automated software testing by using a multi-agent approach. In our experience, applying a multi-agent approach enables an automated testing solution that is not only highly reliable and able to provide expanded test coverage in less time, but also one that is significantly more robust and easier to maintain than the typical software testing approaches. In short, we have seen that a multi-agent approach provides the typical benefits customers expect of automated testing while at the same time providing a far more flexible and maintainable solution.
We look forward to sharing more about our experiences in utilizing multi-agent technology in the future and would be very interested in hearing about your experiences.
Struan is a software engineer at Innovative Defense Technologies (IDT) and is a member of the ATRT: Test Manager and ATRT: Analysis Manger development teams.