Error: mistake made by the developer; located in people’s heads.
Fault: an error in a program. An error may lead to one or more faults.
Failure: execution of faulty code may lead to one or more failures. Failures are found by comparing the actual output with the expected output.
Many people still call it a “bug”!