Nell'ingegneria dell'affidabilità la tolleranza ai guasti (o fault-tolerance, dall'inglese) è la capacità di un sistema di non subire avarie (cioè interruzioni di servizio) anche in presenza di guasti. La tolleranza ai guasti è uno degli aspetti che costituiscono l'affidabilità. È importante notare che la tolleranza ai guasti non garantisce l'immunità da tutti i guasti, ma solo che i guasti per cui è stata progettata una protezione non causino fallimenti.
I controlli di protezione (che vengono effettuati a tempo di esecuzione), assieme a controlli analoghi effettuati staticamente (come a tempo di progettazione o di compilazione), sono una metodologia molto efficace per ottenere un'elevata robustezza (rapida rilevazione degli errori e loro confinamento) in un sistema. La tolleranza ai guasti può portare al peggioramento di altre prestazioni, per cui nella progettazione di un sistema è necessario trovare adeguate ottimizzazioni e compromessi.