Testing and fault Diagnosis