Считает ли покрытие заявления ложным, если заявления?
При проверке покрытия выписки для моего кода:
double programme(double x, double y)
{
double z
if(x>=5){
z = 15;
}
else if(x>=3){
z= 10;
}
else {
z=0;
}
if (y>z)
{
z=y;
}
return z;
}
с использованием двух тестовых случаев (например, тест 1: x = 6, y = 10 и тест 2: = 3, y =5)
Я не уверен, что покрытие заявления равно 100% или 66%, основываясь на том факте, что я не уверен, считали ли вы последнее утверждение if, поскольку оно ложно оба раза.
1 ответ
Решение
В вашем методе есть восемь операторов - три условия, четыре назначения и return
:
if (x>=5)
z=15
if (x>=3)
z=10
z=0
if (y>z)
z=y
- вернуть
Первый тестовый пример охватывает операторы 1, 2, 6 и 8. Второй тестовый пример охватывает 1, 3, 4, 6 и 8. Поэтому операторы 1, 2, 3, 4, 6 и 8 охватываются 6 из 8 или 75% покрытия.