Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

software testing

What is condition coverage testing?

Kainat Asif

Condition coverage testing is a type of white-box testing that tests all the conditional expressions in a program for all possible outcomes of the conditions. It is also called predicate coverage.

Note: Condition coverage testing tests the conditions independently of each other.

Condition coverage vs. branch coverage

In branch coverage, all conditions must be executed at least once. On the other hand, in condition coverage, all possible outcomes of all conditions must be tested at least once.

For example, consider the code snippet below:

int a = 10;
if (a > 0){
  cout<<"a is positive";
}
  • Branch coverage requires that the condition a > 0 is executed at least once.
  • Condition coverage requires that both the outcomes a > 0 = True and a > 0 = False of the condition a > 0 are executed at least once.

Examples

Example 1

Consider the code snippet below, which will be used to conduct condition coverage testing:

int num1 = 0;
if(num1>0){
    cout<<"valid input";
}else{
    cout<<"invalid input";
}

Condition coverage testing

The condition coverage testing of the code above will be as follows:

Test case number

num1>0

Final output

1

True

True

2

False

False

Example 2

Consider the code snippet below, which will be used to conduct condition coverage testing:

int num1 = 0;
int num2 = 0;
if((num1>0 || num2<10)){
    cout<<"valid input";
}else{
    cout<<"invalid input";
}

Condition coverage testing

The condition coverage testing of the code above will be as follows:

Test case number

num1>0

num2<10

Final output

1

True

Not required

True

2

False

True

True

3

False

False

False

Example 3

Consider the code snippet below, which will be used to conduct condition coverage testing:

int num1 = 0;
int num2 = 0;
if((num1>0) && (num1+num2<15)){
    cout<<"valid input";
}else{
    cout<<"invalid input";
}

Condition coverage testing

The condition coverage testing of the code above will be as follows:

Test case number

num1>0

num1+num2<15

Final output

1

True

True

True

2

True

False

False

3

False

Not required

False

Example 4

Consider the code snippet below, which will be used to conduct condition coverage testing:

int num1 = 0;
int num2 = 0;
if((num1>0 || num2<10) && (num1+num2<15)){
    cout<<"valid input";
}else{
    cout<<"invalid input";
}

Condition coverage testing

The condition coverage testing of the code above will be as follows:

Test case number

num1>0

num2<10

num1+num2<15

Final output

1

True

don't care

True

True

2

True

don't care

False

False

3

False

True

True

True

4

False

True

False

False

5

False

False

Not required

False

RELATED TAGS

software testing

CONTRIBUTOR

Kainat Asif
Copyright ©2022 Educative, Inc. All rights reserved
RELATED COURSES

View all Courses

Keep Exploring