Patterns of intelligent and mobile agents
AGENTS '98 Proceedings of the second international conference on Autonomous agents
Agent system development method based on agent patterns
Proceedings of the 21st international conference on Software engineering
An agent-based approach for building complex software systems
Communications of the ACM
Information systems development through social structures
SEKE '02 Proceedings of the 14th international conference on Software engineering and knowledge engineering
Test Driven Development: By Example
Test Driven Development: By Example
Towards requirements-driven information systems engineering: the Tropos project
Information Systems - The 13th international conference on advanced information systems engineering (CAiSE*01)
The Art of Software Testing
Evaluating Multiagent Systems: A Record/Replay Approach
IAT '04 Proceedings of the IEEE/WIC/ACM International Conference on Intelligent Agent Technology
Extreme Programming Explained: Embrace Change (2nd Edition)
Extreme Programming Explained: Embrace Change (2nd Edition)
Unit testing in multi-agent systems using mock agents and aspects
Proceedings of the 2006 international workshop on Software engineering for large-scale multi-agent systems
eCAT: a tool for automating test cases generation and execution in testing multi-agent systems
Proceedings of the 7th international joint conference on Autonomous agents and multiagent systems: demo papers
Automated unit testing intelligent agents in PDT
Proceedings of the 7th international joint conference on Autonomous agents and multiagent systems: demo papers
Ontology-based test generation for multiagent systems
Proceedings of the 7th international joint conference on Autonomous agents and multiagent systems - Volume 3
Goal-Oriented Agent Testing Revisited
Agent-Oriented Software Engineering IX
SUnit: a unit testing framework for test driven development of multi-agent systems
AOSE'06 Proceedings of the 7th international conference on Agent-oriented software engineering VII
Testing in multi-agent systems
AOSE'10 Proceedings of the 10th international conference on Agent-oriented software engineering
CATest: A Test Automation Framework for Multi-agent Systems
COMPSAC '12 Proceedings of the 2012 IEEE 36th Annual Computer Software and Applications Conference
Enhanced Multiagent Multi-objective Reinforcement Learning for Urban Traffic Light Control
ICMLA '12 Proceedings of the 2012 11th International Conference on Machine Learning and Applications - Volume 01
Hi-index | 0.00 |
Software agents are the basic building blocks in many software systems especially those based on artificial intelligence methods, e.g., reinforcement learning based multi-agent systems (MASs). However, testing software agents is considered a challenging problem. This is due to the special characteristics of agents which include its autonomy, distributed nature, intelligence, and heterogeneous communication protocols. Following the test-driven development (TDD) paradigm, we present a framework that allows MAS developers to write test scenarios that test each agent individually. The framework relies on the concepts of building mock agents and testing common agent interaction design patterns. We analyze the most common agent interaction patterns including pair and mediation patterns in order to provide stereotype implementation for their corresponding test cases. These implementations serve as test building blocks and are provided as a set of ready-for-reuse components in our repository. This way, the developer can concentrate on testing the business logic itself and spare him/her the burden of implementing tests for the underlying agent interaction patterns. Our framework is based on standard components such as the JADE agent platform, the JUnit framework, and the eclipse plug-in architecture. In this paper, we present in details the design and function of the framework. We demonstrate how we can use the proposed framework to define more stereotypes in the code repository and provide a detailed analysis of the code coverage for our designed stereotype test code implementations.