Тестирование софта - статьи

       

Покрытие путей потока управления


Тестовый набор удовлетворяет критерию покрытия путей потока управления, если его выполнение хотя бы один раз проходит по каждому возможному пути в графе потока управления ведущему от точки входа до точки завершения работы. Этот критерий сильнее критерия покрытия ветвей потока управления. Каждый путь представляет собой последовательность переходов

Покрытие путей потока управления
, где
Покрытие путей потока управления
имеет вид
Покрытие путей потока управления
, при 1 ≤ i ≤ n . Упорядоченным подмножеством пути
Покрытие путей потока управления
назовём последовательность
Покрытие путей потока управления
такую, что
Покрытие путей потока управления
. Заметим, что в упорядоченном подмножестве пути конечный оператор перехода может не совпадать с начальным оператором следующего за ним перехода.

Пусть есть два пути

Покрытие путей потока управления
и
Покрытие путей потока управления
, и пусть

Покрытие путей потока управления

причём

Покрытие путей потока управления
и
Покрытие путей потока управления
. Тогда пути
Покрытие путей потока управления
и
Покрытие путей потока управления
имеют общее упорядоченное подмножество размера m.

Обозначим через length(R) длину пути R, а через

Покрытие путей потока управления
- максимальный размер общего упорядоченного подмножества путей
Покрытие путей потока управления
и
Покрытие путей потока управления
. Определим оценочную функцию для критерия покрытия путей потока управления следующим образом:

Покрытие путей потока управления

Здесь path(t) - это путь, по которому приходит управление при выполнении теста t. Значение в правой части равно количеству переходов в путях R и path(t), не входящих в максимальное общее упорядоченное подмножество этих путей. Оно равно 0 тогда и только тогда, когда пути R и path(t) совпадают.

Содержание раздела