An Experimentation with Statistical Testing

Hélène Waeselynck, Pascale Thévenod-Fosse · 1994

Statistical testing is based on a probabilistic generation of test data: classical structural or functional criteria serve as guides for defining an input profile and a test size. The method is intended to compensate for the imperfect connection of current criteria with software faults, and should not be confused with random testing, a blind approach that uses a uniform profile over the input domain. This paper reports on experimental results obtained on a software component from the nuclear field: • unit testing of four functions ‐ statistical input sets were designed according to structural criteria; their efficiency was compared to the one of 1) deterministic sets derived from the same criteria and 2) uniform random sets; the comparison involved 2816 faults of mutation type seeded one by one in the source codes. • whole component testing ‐ statistical functional testing was designed from behaviour models of the component: finite state machines, decision tables, Statecharts; its efficiency was compared to the one of random testing, using two versions of the component: the real one, in which a minor fault was found, and a student version with 12 revealed faults. The results showed the high fault revealing power of statistical testing, and its best efficiency in comparison to deterministic and random testing.

Read the paper · More papers on PaperTik