[jdev] xmpp server connectivity testing tool

Artur Hefczyc artur.hefczyc at gmail.com
Mon Dec 11 15:39:18 CST 2006

On Monday 11 December 2006 18:51, Stephen Pendleton wrote:
> I write a simple one here that tests some basic features:
> http://movcast.movsoftware.com/XMPPComplianceChecker/
> When I mean "basic" I mean it only tests the following:
>  1) Does the server return "version = '1.0'" in their <stream:stream>
> element?
>  2) Does the server offer the <stream:features> stanza?
>  3) Does the server offer SASL as a authentication mechanism?
> Suprisingly many servers fail even these simple tests. It doesn't cover all
> the features you list below though. You can have the source if you are
> interested, but it is in C#/.NET and uses a proprietary third-party toolkit
> for the XMPP functionality.
> A more complete test harness would be most welcome. Maybe one of the server
> projects have an internal test harness that they can offer up?

I work on Tigase project - Jabber/XMPP implementation.
One of subprojects is XMPP server implementation and another is test suite 
designed to test Jabber/XMPP servers which allows you to build different test
This test suite contains built-in scripting language for creating test 
scenarios. For testing my server I usually use 3 test scenarios:
1. Functional tests - to test all functionality of the server
2. Performance tests - to test.... performance for the most important features
3. Stability tests - to test.... stability ;-)
For each release I run all 3 test scenarios. These test scenarios are built 
from test cases which need to be implemented. There are number of test
cases implemented for now.

For an idea what test cases are implemented currently you can look at the
list of classes in SVN repository here:


All these test cases can be combined in different test scenarios using
scripting language (very, very simple language).
Test suite generates test report for each test scenario.
Here are sample test reports for the last release of Tigase server:

And corresponding script for each of above test scenario:

All the code is GPL2 and sources are available, so feel free to give it a try
and I am happy to help with any problems.

Artur Hefczyc

More information about the JDev mailing list