This section defines validation in a Taguchi context as the process of ensuring that the program meets the functional specification. In other words, no functions have been left out, and gratuitous (unspecified) features and unintended side effects are not present. It's not possible to test all the combinations the program will encounter. Therefore, you must consider which ones to test, how to test them, and what degree of confidence these tests can produce in the program's validity.
Reliability and validity are closely related, because the valid implementation of a responsive, verified design meets its user's requirements. Furthermore, predictive validity in a software system is tantamount to software trustworthiness. Reliability refers to the consistency of a number of measurements using the same measurement methods. Validity means that the measurement taken measures what you intended to measure.[10] Obviously, a measurement may be reliable but not valid. Software metrics researchers classify validity into criterion-related validity and content validity. The former is often called predictive validity and measures how well the software will perform to its user's requirements in the future, clearly a primary measure of trustworthiness. The latter is a measure of how well the validity measurement covers the subject. Kan uses the analogy of a rifle accuracy test to show the difference between reliability and validity.[11] If you take several test shots with a new rifle, and they produce a neat 1-inch grouping at 100 yards at the edge of the target, the rifle has reliable accuracy. On the other hand, if they produce a 10-inch scatter group with its center in the middle of the target, the rifle has valid accuracy. The ideal is a small grouping in the center of the target; this shows that the rifle is both reliable and valid. Having gained this result by careful adjustment, the target shooter can go to his or her next match certain of the gun's trustworthiness, or the hunter can take the rifle into the field confident that it will be a trustworthy firearm. With software testing, we want to establish tests that show that the software is both reliable and valid and thus will be found completely trustworthy by its users. Like sighting in the rifle, there is a bit of tension between reliability and validity, and testing metrics need to respond to both requirements. Of course, such measurements in software are multidimensional compared to sighting in a simple mechanical device such as a firearm. |