Can anybody explain what fault m开发者_StackOverflowasking is, and and what its consequences are?
From Wikipedia:
a way to ignore faults by seamlessly preparing a backup component to execute something as soon as the instruction is sent, using a sort of voting protocol where if the main and backups don't give the same results, the flawed output is ignored.
Imagine the five CPUs on the Space Shuttle, all crunching the same numbers. If one of them produces an anomalous result, that result is ignored. The other four CPUs "won the election" and "masked" (hid) the bad result.
Fault Masking is an occurrence, in which one defect prevents the detection of another defect.
For instance, if you test a Login form consist from two data fields, "Login" and "Cancel" buttons, along with "Remember me" check box, when press "Login", an unhandled exception fires, so if the "Remember me" check box didn't work you will never know until a successful Login process has been done.
Since you've tagged this as testing, this textbook definition might be what you're looking for
http://hissa.nist.gov/chissa/SEI_Framework/framework_17.html
An acceptance test successfully masks a bad value if a retry or alternate results in a new, correct result within the time limit set for declaring failure.
Also see some discussion here but the final answer is not too clear as an example
http://www.geekinterview.com/talk/7964-fault-masking-is.html
Fault masking is when the presence of one defect hides the presence of another defect. for example: If the "Negative Value" cause a firing of unhandled system exception, the developer will prevent the negative values input. This will resolve the issue and hide the defect of unhandled exception firing.
精彩评论