Online testing of service-oriented architectures to detect state-based faults