There has been some work on testing agent based
systems in recent years (e.g (Zheng and Alagar, 2005;
Seo et al., 2004)). The former provides an approach
to compare the properties of the agent and the observ-
able behaviours with the specification of the system,
by building a behavioral model for the system using
extended state machines. The latter studied how to
build a state-based model for an agent-based system
using extended Statecharts, and then proposed an ap-
proach to generate test sequences. Both of the above
work is based on conformance testing, which tests if
the system meets the business requirements and are
restricted to black-box testing. In contrast to these
approaches, our work looks at fault directed testing
which tests the internal processes of the system and
not the business requirements. Our approach is also
integrated with the design methodology and supports
testing at early stages of development.
There are other work on multi-agent testing that
defines agents as test units (e.g (Caire et al., 2004;
Rouff, 2002)). We however, explore the internals of
an agent and choose plans and events as test units.
While we obtain and use more structural informa-
tion than standard black box testing, we are limited
in the information we use as we obtain this informa-
tion from the design. Hence, implementation specific
structure is not considered. The testing framework is
also reliant on the implementation following the de-
sign specification.
Although we have completed the implementation
of the testing framework using JACK Intelligent Sys-
tems (Busetta et al., 1999), and done some prelimi-
nary evaluation as discussed in the previous section,
further evaluation is required. For this purpose we in-
tend to use programs developed by post-graduate stu-
dents as part of an agent programming course.
In this work we have only addressed unit test-
ing, in future work we will extend this work to in-
clude integration testing. To this end, we expect to
build on existing work (e.g. (Padgham et al., 2005;
Coelho et al., 2006)). The former described a debug-
ger which, similar to this work, used design artefacts
of the Prometheus methodology to provide debugging
information at run-time. Their approach of converting
protocol specifications to petri-net representations is
of particular relevance to our future work on integra-
tion testing. The latter presented a unit testing ap-
proach for multi-agent systems based on the use of
Mock-Agents, where each Mock-Agent tests a single
role of an agent under various scenarios.
As future work we also look to embed the testing
functionality into the Prometheus Design Tool (PDT)
(Thangarajah et al., 2005). PDT is a tool for develop-
ing agent systems following the Prometheus method-
ology, and includes automated code generation which
we hope to extend to generate testing specific code.
ACKNOWLEDGEMENTS
We would like to acknowledge the support of the Aus-
tralian Research Council and Agent Oriented Soft-
ware, under grant LP0453486.
REFERENCES
Apfelbaum, L. and Doyle, J. (1997). Model Based Test-
ing. In the 10th International Software Quality Week
Conference, CA, USA.
Binder, R. V. (1999). Testing Object-Oriented Systems:
Models, Patterns, and Tools. Addison-Wesley Long-
man Publishing Co., Inc., Boston, MA, USA.
Bresciani, P., Perini, A., Giorgini, P., Giunchiglia, F., and
Mylopoulos, J. (2004). Tropos: An Agent-Oriented
Software Development Methodology. Autonomous
Agents and Multi-Agent Systems, 8(3):203–236.
Busetta, P., R
¨
onnquist, R., Hodgson, A., and Lucas, A.
(1999). JACK Intelligent Agents - Components for
Intelligent Agents in Java. Technical report, Agent
Oriented Software Pty. Ltd, Melbourne, Australia.
Caire, G., Cossentino, M., Negri, A., Poggi, A., and Turci,
P. (2004). Multi-Agent Systems Implementation and
Testing. In the Fourth International Symposium: From
Agent Theory to Agent Implementation, Vienna.
Coelho, R., Kulesza, U., von Staa, A., and Lucena, C.
(2006). Unit Testing in Multi-Agent Systems using
Mock Agents and Aspects. In Proceedings of the 2006
International Workshop on Software Engineering for
Large-Scale Multi-Agent Systems, pages 83–90.
Cohen, D. M., Dalal, S. R., Fredman, M. L., and Patton,
G. C. (1997). The AETG system: An Approach to
Testing Based on Combinatiorial Design. Software
Engineering, 23(7):437–444.
Deloach, S. A. (2001). Analysis and Design using MaSE
and agentTool. In the 12th Midwest Artificial Intel-
ligence and Cognitive Science Conference (MAICS
2001), Miami University, Oxford, Ohio.
El-Far, I. K. and Whittaker, J. A. (2001). Encyclopedia of
Software Engineering, chapter Model-Based Software
Testing, pages 825–837. Wiley.
Padgham, L. and Winikoff, M. (2004). Developing Intelli-
gent Agent Systems: A practical guide. Wiley Series
in Agent Technology. John Wiley and Sons.
Padgham, L., Winikoff, M., and Poutakidis, D. (2005).
Adding Debugging Support to the Prometheus
Methodology. Engineering Applications of Artificial
Intelligence, special issue on Agent-Oriented Software
Development, 18(2):173–190.
Patton, R. (2005). Software Testing (Second Edition). Sams,
Indianapolis, IN, USA.
AUTOMATED UNIT TESTING FOR AGENT SYSTEMS
17