Testing network apps

Dirk Koopman djk at tobit.co.uk
Tue Jan 20 10:23:01 GMT 2009

I am thinking about a framework to test an networking app (networking 
over both wire and radio [of various sorts]) that would involve 
dynamically generating configurations on each of two "nodes" and then 
running/controlling those nodes via each of those several bearers - 
either from one of the nodes or from a third computer (connected via 
normal TCP over wires to the controllers).

It seems likely that this will involve a "node controller" process for 
each end (to generate configs and start/stop the processes) and a 
testing process which both talks to each controller and provides the 
actual input to one node and monitors the output from the other.

The actual tests themselves are mainly very simple, along the lines of 
"send xx bytes and check that we get them out the other end the same", 
but there are some slightly more complex ones to do with failure modes 
(which will involve the controllers).

Obviously, this will involve a lot of IO::Select and IO::Net* and a lot 
of asynchronous/non blocking working with timers and stuff going off

Any suggestions as to a) which of the Test::* modules would be easiest 
to bend for this sort of thing and b) any other modules that spring to 
mind that would save my wrist? c) Has anyone got an SDLC implementation 
in perl?


More information about the london.pm mailing list