Posts

Showing posts from June, 2012

Software automated tests versus medical tests

Medical tests can teach us about how we interpret software automated test results. Ever have blood work ordered by your doctor? Say you’re having some stomach pain and it’s worse than the usual upset stomach. If you see your doctor he might order some “liver tests” with names like ALT (alanine animotransferase), bilirubin, and alkaline phosphatase. Each test result will be printed next to a “normal range”, like bilirubin = 1.0 (0.3 to 1.9) mg/dL. Even if one or two of the tests are out of range your doctor may say they are “normal” and tell you your liver is working OK. Doctors have been doing this sort of laboratory test analysis for a hundred years. Can it teach us anything about unit tests, integration tests, and the types of results we encounter in software? Software is probably the most complex thing humans have ever made. If each individual variable was the equivalent of a mechanical device “moving part” then even a medium size program would be more complicated than the Space Shu