Tolerância a falhas é a propriedade que permite que
sistemas (em geral,
computacionais) continuem a operar adequadamente mesmo após falhas em alguns de seus componentes. Se sua qualidade de operação diminui, a queda é proporcional à severidade da falha. A tolerância a falhas é propriedade inerente em
sistemas de alta disponibilidade ou aplicações críticas como às dedicadas a
Medicina.
A tolerância a falhas não é uma propriedade somente de máquinas individuais; ela pode caracterizar também a maneira como as máquinas interagem entre si. Por exemplo, o protocolo
TCP foi projetado para permitir a comunicação de duas vias confiável em uma rede de troca de pacotes, mesmo na presença de ligações imperfeitas sobrecarregadas. Isso é feito requerendo a expectativa de perda de pacotes, duplicação, reordenação ou corrupção, de forma que tais condições não prejudiquem a integridade dos dados.
Formatos digitais também podem ser designados para tolerar dados incorretos. O
HTML foi projeto para que os
navegadores ignorem entidades (etiquetas) que não entendem sem a instabilidade da apresentação do documento.