[jdev] Testing clients (general architecture)

Peter Saint-Andre stpeter at jabber.org
Thu May 3 10:55:06 CDT 2007

Brendan Taylor wrote:
> Hi list.
> I'm one of the XSF's GSoC 2007 students. I'm going to be implementing
> Encrypted Sessions (XEP-0116) and a test suite for it this summer.
> I've found a fair amount of information out there about test suites for
> servers. Unfortunately, there doesn't seem to be much about testing clients.
> So, client developers: what general architecture for a test suite would
> be most useful to you? It needs to work for any client interested in
> implementing the XEP, and I would like to make it as simple to use as
> possible.
> My current plan is to make a server component that will respond to
> several JIDs, each representing a different test case. Tests that
> require the suite to initiate a process will be initiated with a
> message sent to the suite. If you think it's worthwhile, logs of the raw
> XMPP traffic will be made available (via HTTP?).
> Your thoughts?

Is this part of your GSoC project or just a nice thing you want to do? :)

First, I am not a client developer, so take what I say with a generous 
helping of salt.

It seems to me that part of the challenge with client testing is that 
clients interact with a broader range of entities than servers do. In 
many ways it's easier to test and write servers than it is to test and 
write clients. So for instance clients interact with:

1. Servers
2. Other clients
3. MUC services
4. Gateways
5. Pubsub services
6. Bots
7. Etc.

So I suppose it depends on what you want to test. For your purposes, it 
may make sense to write a bot that interacts like a client would. But 
you could do the same thing as a server component, naturally, and that 
would enable you to create multiple JIDs and extend the testbed for 
testing features other than e2e. But then eventually your component will 
essentially do everything, simply in test mode. And that seems like a 
big project. :)


Peter Saint-Andre
XMPP Standards Foundation

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 7358 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://mail.jabber.org/pipermail/jdev/attachments/20070503/03700654/attachment-0002.bin>

More information about the JDev mailing list