Storyboard mcd cv3

26
Modified Condition/ Decision coverage

Transcript of Storyboard mcd cv3

Modified Condition/ Decision coverage

Main characteristcs:► N+1 test situations► Uses the term “neutral value”

● Value of a condition (0 or 1) that does not effect the outcome of the decision point○ should apply for both possible outcomes of the

determining condition○ depends on OR or AND

Modified Condition/ Decision coverageEvery possible outcome of a condition determines at least once the outcome of the decision.

► Neutral value for AND

Modified Condition/ Decision coverageEvery possible outcome of a condition determines at least once the outcome of the decision.

A B Outcome

1 . 1

0 . 0

AND

Let’s say A is the determining condition. A can be true and

false.So when A is true, the

outcome has to become true.When A is false, the outcome

has to become false.

► Neutral value for AND

Modified Condition/ Decision coverageEvery possible outcome of a condition determines at least once the outcome of the decision.

A B Outcome

1 . 1

0 . 0

AND

On these places a value has to be added that has no

influence on the outcome of the decision point

► Neutral value for AND

Modified Condition/ Decision coverageEvery possible outcome of a condition determines at least once the outcome of the decision.

A B Outcome

1 1 1

0 0/1 0

AND

When A is false both the value true and false can be added here. But since the neutral is a value

that should apply for both possible outcomes of the

determining condition, we chose true.

► Neutral value for AND

Modified Condition/ Decision coverageEvery possible outcome of a condition determines at least once the outcome of the decision.

A B Outcome

1 1 1

0 0/1 0

AND

Neutral value of AND is 1

► Neutral value for OR

Modified Condition/ Decision coverageEvery possible outcome of a condition determines at least once the outcome of the decision.

A B Outcome

1 . 1

0 . 0

OR

Let’s say A is the determining condition. A can be true and

false.So when A is true, the

outcome has to become true.When A is false, the outcome

has to become false.

► Neutral value for OR

Modified Condition/ Decision coverageEvery possible outcome of a condition determines at least once the outcome of the decision.

A B Outcome

1 . 1

0 . 0

OR

On these places a value has to be added that has no

influence on the outcome of the decision point

► Neutral value for OR

Modified Condition/ Decision coverageEvery possible outcome of a condition determines at least once the outcome of the decision.

A B Outcome

1 0/1 1

0 0 0

OR

When A is true both the value true and false can be added here. But since the neutral is a value

that should apply for both possible outcomes of the

determining condition, we chose false.

► Neutral value for OR

Modified Condition/ Decision coverageEvery possible outcome of a condition determines at least once the outcome of the decision.

A B Outcome

1 0/1 1

0 0 0

OR

Neutral value of OR is 0

► Two ways of notation

A OR B R

1 0 1R = A OR B 1A 1 0

The outcome of the decision for this test situation is true

► Two ways of notation

A OR B R

1 0 1

0 0 0

R = A OR B 1 0A 1 0 0 0

The outcome of the decision for this test situation is false

► Two ways of notation

A OR B R

1 0 1

0 0 0

0 1 1

R = A OR B 1 0A 1 0 0 0B 0 1

► Two ways of notation

A OR B R

1 0 1

0 0 0

0 1 1

0 0 0

R = A OR B 1 0A 1 0 0 0B 0 1 0 0

► Two ways of notation

A OR B R

1 0 1

0 0 0

0 1 1

0 0 0

R = A OR B 1 0A 1 0 0 0B 0 1 0 0

Since the combination “0 0” occurs twice (two times the same test situation) we can strikethrough one of them

► A more complex example

IF (type of car = delivery van AND first use ≥ 1 July 2006) OR

entrepreneur = noTHEN Tax liable

R = (A AND B) OR B

1 0

A 1 . . 0 . .B . 1 . . 0 .C . . 1 . . 0

Three rows for 3 conditions

► A more complex example

IF (type of car = delivery van AND first use ≥ 1 July 2006) OR

entrepreneur = noTHEN Tax liable

R = (A AND B) OR C

1 0

A 1 . . 0 . .B . 1 . . 0 .C . . 1 . . 0

The determining values in a diagonal

► A more complex example

IF (type of car = delivery van AND first use ≥ 1 July 2006) OR

entrepreneur = noTHEN Tax liable

R = (A AND B) OR C

1 0

A 1 1 . 0 . .B . 1 . . 0 .C . . 1 . . 0

The determining value A is connected with B (between brackets) by the operator AND. The neutral value of

AND is 1 (true)

► A more complex example

IF (type of car = delivery van AND first use ≥ 1 July 2006) OR

entrepreneur = noTHEN Tax liable

R = (A AND B) OR C

1 0

A 1 1 0 0 . .B . 1 . . 0 .C . . 1 . . 0

The combination of A AND B is true and is connected to C

by the operator OR. The neutral value of OR is 0

(false)

► A more complex example

IF (type of car = delivery van AND first use ≥ 1 July 2006) OR

entrepreneur = noTHEN Tax liable

R = (A AND B) OR C

1 0

A 1 1 0 0 1 0B . 1 . . 0 .C . . 1 . . 0

Since they are neutral values we can add the same values

here

► A more complex example

IF (type of car = delivery van AND first use ≥ 1 July 2006) OR

entrepreneur = noTHEN Tax liable

R = (A AND B) OR C

1 0

A 1 1 0 0 1 0B 1 1 0 1 0 0C . . 1 . . 0

► A more complex example

IF (type of car = delivery van AND first use ≥ 1 July 2006) OR

entrepreneur = noTHEN Tax liable

R = (A AND B) OR C

1 0

A 1 1 0 0 1 0B 1 1 0 1 0 0C . . 1 . . 0

The determining value C is connected with the

combination of B and B (between brackets) by the

operator OR. This combination has to become

false (0)

► A more complex example

IF (type of car = delivery van AND first use ≥ 1 July 2006) OR

entrepreneur = noTHEN Tax liable

R = (A AND B) OR C

1 0

A 1 1 0 0 1 0B 1 1 0 1 0 0C . 0 1 . . 0

We continue the consistent application of the neutral

value by making one of those conditions false. E.g. B

► A more complex example

IF (type of car = delivery van AND first use ≥ 1 July 2006) OR

entrepreneur = noTHEN Tax liable

R = (A AND B) OR C

1 0

A 1 1 0 0 1 0B 1 1 0 1 0 0C 1 0 1 . . 0

Alse here we continue the consistent application of the

neutral value. B is connected with B by the operator AND. The

neutral value of AND is 1 (true)

► A more complex example

IF (type of car = delivery van AND first use ≥ 1 July 2006) OR

entrepreneur = noTHEN Tax liable

R = (A AND B) OR C

1 0

A 1 1 0 0 1 0B 1 1 0 1 0 0C 1 0 1 1 0 0

► A more complex example

IF (type of car = delivery van AND first use ≥ 1 July 2006) OR

entrepreneur = noTHEN Tax liable

R = (A AND B) OR C

1 0

A 1 1 0 0 1 0B 1 1 0 1 0 0C 1 0 1 1 0 0

We strikethrough any duplicate test situation