views:

32

answers:

1

A client has a piece of hardware - it doesn't really matter what it does. 150 of them can connect to a PC and up to 150 PCs can interface to the single server. These are his figures and I and not sure if I want to query them.

At his premises he has a largish room with 150 h/w devices mounted on the walls - and testing consists of a lot of guys trying to push buttons all at once.

He has seen the light and wants to have a software simulation. So, how best to proceed?

Automated, script-based testing, I would imagine. His guys code in C, so I might do the tests in C++ and use CPPunit.

Can a single test PC simulate 150x150 hardware deceives? S'pose it depends on how much traffic they are sending.

Should I parameterize it, to drive how many units to simulate, what operations they should perform, etc?

Should I slap a GUI on the top to impress management? I could control the number of simulated units with a slider, display system load on a histogram - you low, pictures ... management ...

Any suggestions for this sort of thing? Gotchas? Good URLs, books?

I know it might sound vague, but I am sure that there are some general guidelines for this sort of thing.

+1  A: 

Be very clear what you are testing. Sounds like currently they test 150 devices, 1 (or a few) PCs and one server. That's a long way from 150x150devices, 150 PCs and 1 server.

So is the goal to stress the server, the PC? To determine behaviour under stress? To exercise particular paths?

Sounds like you intend to build some software to run on PC (LoadProducer) that shall emulate the devices, and fire the LoadProducer against the real PC. Hopeing to emulate people pressing buttons.

I think that this potentially has a lot of value.

As to bells and whistles, my advice is first to get a simple command/file driven version going and then consider whether you can afford to build the UI. UIs are effort sinks, if you don't get the function right first you'll allow your attentions to be diverted towards prettyness.

I would not be too concerned about the number of devices you can emulate, surely it's many, if it's not 150, then presumably you just use several LoadProducers.

If I really wanted to exercise the PC code then I might also want to emulate the server, or create a test version of the server code that can do amusing things such as go really slow, or send spurious answers.

djna
sorry for the delay. SO was having a lot of problems when I tried to +1 and post a reply earlier. Thanks - some good advice there. I will 1) test the PC with a dummy server and dummy devices, 2) test the server with dummy PCs, 3) test the system with real server and PCs and dummy devices.Do you have any advice as to how others do this in real life? Any recommended books or URLs?
Mawg