Не слишком-то понятно! Кроме того вводится дополнительное понятие пути, которое не имеет объяснения в этой версии
силлабуса.
Если немного покопаться в разных источниках, то мы встретим такие виды покрытий.
- Statement coverage — покрытие операторов в коде;
- Decision coverage — покрытие решений;
- Branch coverage — покрытие веток;
- Path coverage - покрытие путей.
Давайте разберемся поподробнее.Statement coverage — покрытие операторов в коде.
Оператор - наименьшая неделимая единица выполнения.
В приведенном выше примере это, например, C = A – B или Print “Error”.
Decision coverage — покрытие решений.
Решение - это точка/узел программы, в котором программа имеет два или более альтернативных маршрута.
В примере выше это IF A > B и IF C = D
Branch coverage — покрытие веток.
Ветка - это альтернативный маршрут, выходящий из точки решения.
Покрытие веток измеряет покрытие как условных, так и безусловных веток.
Path coverage - покрытие путей.
Путь - это маршрут из условно “начальной” точки программы до условно “конечной”. В нашем примере “начальная” точка программы это IF A > B, а “конечная” - последний ENDIF.
Теперь на выбранном примере давайте посчитаем сколько тестов потребуется для достижения 100% Statement Coverage и Branch Coverage, а так же дополнительно посчитаем Path Coverage.
Чтобы решить эту задачу, давайте нарисуем блок-схему для приведенного в ней кода.