in reply to OT: How do you test without knowing the results?
in thread When test-driven development just won't do
For saftey critical systems, producing such data should be done by at least two completely independant programs, generated in clean room conditions by two completely different teams working from a theoretically proved, or engineering(ly) determined specification.
The testing is done by comparing the output of the two systems and investigating any anomolies.
This is a similar technique to that used by fly-by-wire systems on commercial aircraft. Three separate computers, often with different cpus to detect things like the Pentium floating-point bug, run different software written by different teams to the same spec. The independant computers are supplied the same information and perform the same computations, and another independant computer verifies their results against each other. If one of the computers produces different results from the other two, then the control computer will disregard that system's output and go with the other two. If one of them starts to produce consistantly different results, then it probably gets shut down.
What happens if all three produce substantially different results? Panic I guess.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: OT: How do you test without knowing the results?
by Anonymous Monk on Aug 05, 2005 at 17:57 UTC |