Jeff
Jeff

Reputation: 139

Distributed systems testing

I have an application designed with distributed system architecture. I want to test availability of my app, but I'm newbie in it. Can anybody please tell me, which way it's better to do that? What principals preferred to use for testing of high availability?

Upvotes: 1

Views: 246

Answers (1)

Michael Deardeuff
Michael Deardeuff

Reputation: 10697

I am in charge of building, testing, and maintaining several distributed systems. For sanity and automation, most of our testing is done in unit test land.

What we have done is stub out the network and the clocks so that our tests can move those forward when necessary. That means our network and clock is injected in, and we can have multiple nodes running in a test.

We call this type of testing Interaction Testing.

Note: Global variables and Singletons are bad for this style of testing.


The features we've kept for our network stub are: * ability to drop messages -- especially all messages between a pair of given nodes. * ability to pick which message to deliver

The features we've kept for our clock stub are: * Time only moves forward (we design our systems to only use nano-clocks, not wall clocks).

Upvotes: 1

Related Questions