Критерий покрытия решений

Критерий покрытия операторов

 

Подразумевает выполнение каждого оператора программы по крайней мере один раз.

Например:

 

void func(int a, int b, float x)

{

if(a>1 && b==0) x = x/a;

if(a==2 || x>1) x++;

}

1: a = 2, b = 0, x = 3 a, c, e

 

Чтобы выполнить каждый оператор не менее одного раза, нужно составить единственный тест со следующими значениями: a = 2, b = 0, x = 3.

Данный поход обладает недостатками. Например, если в условии x>1 программист ошибется и напишет x<1, x<-1, то с помощью этого теста данная ошибка не будет обнаружена. Если a>1 и b=0, ошибка также не найдется.

 

 

 

В соответствии с этим критерием, необходимо составить такое число тестов, при которых каждое условие программы примет значение "истина" или "ложь":

 

2: a = 3, b = 1, x = 0 a, b, d

либо

1: a = 3, b = 0, x = 0 a, c, d

2: a = 0, b = 1, x = 2 a, b, e