Menu

Home

Juan P Paz Grau

TDD MAS Toolkit

A set of powerful tools to perform TDD on MAS based on JADE


Software testing is the most important task in software engineering

The ability to introduce software testing in the implementation phase of a software lifecycle is a determinant CSF (Critical Success Factor)

  • To cut down costs
  • To cut down time
  • To guarantee quality assurance

Nevertheless, the link from requirement analysis to software testing is recognized, but MAS methodologies partially address it. The TDD MAS Toolkit tries to close this gap by providing a set of tools that allows the software developer to create test suites that leverage a Test Driven Development approach to MAS development.

The included tools are as follows:

  • Test behavior: An agent's test task to be used or extended in a test case to create a test
    stub. The agent task is supposed to be fired from the test suite's gateway agent.

  • ACL Message Matchers: A set of ACL message matchers. Matchers are one of the most powerful tools available in JUnit; these ACL Message Matchers can be used in combination with the default JUnit Matchers to assert complex conditions during the test case execution flow.

  • Mock Agent Infrastructure: A set of classes to implement the Mock Agent and the Mock Agent Gateway. The gateway acts as a controller to create, destroy and configure Mock Agents.

  • Jade Runner: A simple JUnit runner that configures a JADE Agent Platform and then launches a Gateway Agent in a test container in order to perform active agent testing.

You can find some background information on the work in the TDD MAS Toolkit in the following papers:

References


Organization of the file repository


The file repository is organized as follows:

  • test_case: A test case for an Agent that performs SUBSCRIBE and UNSUBSCRIBE protocols. The test case uses all the tools that are available in the toolkit. It serves as an example on how to use it.

  • tddmas_toolkit: The jar file and libraries needed to include in your project test libraries to implement the toolkit in your MAS development effort.

  • test_jade_ap: A JADE agent platform that includes the AUT (Agent Under Test) that is referenced in the test case. You need this AP to run the demo test case.

  • javadocs: The TDD on MAS toolkit javadocs in zip format.

Check the instructions here on how to setup the demo test AP and test case.

Project screenshots


The screenshots are as follows:

  1. The Test Driven Development framework where these tools fit in. Please review the references for a further explanation of the test stages.

  2. A view of the Jade inspector when running the demo test case. The test case includes positive and negative test cases for the SUBSCRIBE and UNSUBSCRIBE protocol. The messages exchanged with the AMS to create and destroy the mock agents used in the test are also shown.

  3. A view of the Jade inspector when running the demo test case. It includes also a view of the test case source code, related each set of sentences with the corresponding messages exchanges between the AUT (Agent Under Test), the Mock Agents, and the Test Agent.

Screenshot thumbnail
MAS TDD V-Model
Screenshot thumbnail
A test case execution (traced with Jade Inspector)
Screenshot thumbnail
Passive vs Active MAS Testing

Download!


You can download the TDD for MAS toolkit from here:


Related

Wiki: Run the Demo

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.