Peerunit is a testing framework for large-scale distributed systems. It is useful to developers who want to test their Java applications in a distributed way. The framework is based on two original aspects:
The architecture is composed of two modules, the test controller and the testers. The test controller ensures the correct execution of testcases. The testers are distributed and controls the execution and the volatility of the nodes composing the system under test. The can make nodes leave and join the system at any time, according to the needs of a test case.
Testers implement an efficient distributed communication mechanism, for message and properties exchange and for ensuring synchronization. The architecture is implemented in Java and has been used to validate popular open-source P2P systems, such as FreePastry and OpenChord.