Classification of failures of software products into five different types is as follows:
- Transient– Transient failures occur only for certain input values while invoking a function of the system.
- Permanent– Permanent failures occur for all input values while invoking a function of the system.
- Recoverable– When recoverable failures occur, the system recovers with or without operator intervention.
- Unrecoverable– In unrecoverable failures, the system may need to be restarted.
- Cosmetic– These classes of failures cause only minor irritations, and do not lead to incorrect results. An example of a cosmetic failure is the case where the mouse button has to be clicked twice instead of once to invoke a given function through the graphical user interface.