Constraint-based Evolutionary Testing of Autonomous Distributed Systems