Есть ли ситуация, когда вы можете иметь покрытие 100% -ного покрытия и все еще иметь пути DU, которые не были протестированы? Если да, могу ли я, пожалуйста, простой пример?Отрасль отделения и пути DU
Благодаря
Есть ли ситуация, когда вы можете иметь покрытие 100% -ного покрытия и все еще иметь пути DU, которые не были протестированы? Если да, могу ли я, пожалуйста, простой пример?Отрасль отделения и пути DU
Благодаря
Если я понимаю пути определения назначения правильно (для каждого заданного значения там должно быть тестами, которые идут в точки, где используются значение), я думаю, что покрытие филиала этого не гарантирует. Рассмотрим следующую программу:
z = "foo"
if x > 10:
z = "bar"
else
pass
if y > 5:
print z
else
pass
Теперь, если мы тестируем с (х = 0, у = 10) и (х = 20, у = 0), мы покрываем все ветви. Первый тест будет оценивать ложную ветвь в первой if и true ветке во второй if. Второй тест будет оценивать истинную ветвь в первой ветке if и false во втором случае if. Все ветви покрыты, но нет теста, где печать z приведет к «бару».
ах да, поэтому это незаконное использование, потому что оно еще не определено. очень хороший пример спасибо. – clay
z был определен в начале кода, но значение может измениться. Отличие состоит в том, что выбор ветвей не использует все определенные переменные. – Edu