hmm ... if the list were in a different order, with the absent entries earlier, we'd still have the same pattern of [0] and [1] set, [2] and [3] unset, wouldn't we ?  I'd prefer a test that has the extant and absent servers interleaved in the list and checks that [0] is cfengine.com, [1] is ntua.gr while the other two are unset.
Is there a way to test "test.alive_servers only has two keys" ? i.e. there are no other keys than the ones we're checking ...