Тестирование и отладка распределенных систем это ужасно. В первую очередь потому что они сложные. Но во многом еще и потому, что в мире, где существует больше одного компьютера очень часто происходят вещи о которых многие даже не задумываются. Я в свое время был немало удивлен увидев как ряд популярных FOSS (Free and OpenSource software) продуктов реагирует на Network Split. К счастью это все можно сильно упростить немного развив концепции применяемые в других областях тестирования.