in reply to Testing by Contract

A naive probabilistic approach to the problem of testing all possible combinations:

Instead of testing all possible combinations, we could try to estimate the total number of bugs by a probabilistic approach. Given a list of all possible combinations, we randomly select two subsets of combinations for Tester One and Two to test.

Or, the more common bugs found by both Tester One and Two, the more likely that they have found most of the bugs.

_________

If someone wanna see the Venn diagram:

Instead of testing all possible combinations, we could try to estimate the total number of bugs by a probabilistic approach. Given a list of all possible combinations, we randomly select two subsets of combinations for Tester One and Two to test.

Let T be the total unknown number of possible bugs associated with all combinations. Let A be the number of bugs found by Tester One. Let B be the number of bugs found by Tester Two. Let C be the number of bugs found byHence (let P(X) be probability of X)bothTester One and Two.

P(A and B) = P(C) (by definition)That means, the less bugs both Tester One and Two found at the same time, the more likely there're still a large number of unknown bugs yet to be found.

P(A)P(B) = P(C) (independence assumption) A B C --- * --- = --- T T T A*B ----- = T C

Or, the more common bugs found by both Tester One and Two, the more likely that they have found most of the bugs.

_________

If someone wanna see the Venn diagram:

+----------------------------------+ | | | +------------+ | | | | T | | | A | | | | | | | | +------|-------+ | | | | C | | | | +-----|------+ | | | | B | | | | | | | +--------------+ | | | +----------------------------------+

In Section
Seekers of Perl Wisdom