Error: An error is a human action that produces a wrong result. Like we made a mistake in code of a program. The results of an error become a fault.
Fault: A sign of an error in software is called fault. When a tester finds the error in the code is called Bug. A collection of faults become a reason of failure.
Failure: The errors and faults in a program become a reason of failure, when software unable to provide its expected delivery or service.