137 5.4. Построение маршрута из точки dMj в точку XIк, на котором не встречается никакое другое dMj е dM. Если такого маршрута не существует, то переход к подшагу 5.3. 5.5. Построение маршрута из точки XIк в точку ср, на котором не встречается никакое другое -А7у^с/((р,А7) рсли такого маршрута не существует, то переход к подшагу 5.3. 5.6. Генерация маршрута dMj-XIk-ty в качестве проверяющего жизненность Х1{ в точке Ф и занесение его в множество маршрутов, выбранных по критерию 1. Шаг 6. Генерация дополнительных маршрутов, проверяющих жизненность определений МI в точке (Р. 6.1. Инициализация множества dM(^i). 6.2. Выбор очередного элемента dM($)j из dM($ рсли с/А/(<р) исчер_ пано, то переход к шагу 5. 6.3. Сравнение dMj с с7Л/((р)у.. Если равны, то переход к подшагу 6.2. 6.4. Построение маршрута из точки XIк в точку dM($)j. Если такого маршрута не существует, то переход к подшагу 6.2. 6.5. Выбор из множества РА маршрута из точки dM((p)j в точку (р. 6.6. Генерация маршрута dMj-XIk-dM( в качестве проверяющего жизненность Xl{ в точке ср, соответствующего определению маски и занесение его в множество маршрутов, выбранных по критерию 1. |
3) Модуль генерации маршрута между узлом определения и узлом использования ИО по графу бизнес-процесса. Ниже приводятся алгоритмы, реализующие ядро генератора маршрутов тестирования, а именно блока генерации маршрутов тестирования операции с номером ср и модуля генерации маршрута “определение использование”. Алгоритм А1. Построение множества маршрутов, удовлетворяющих требованию критерия 1. Вход: 1) Граф бизнес-процесса 2) Номер тестируемой операции ср Выход: 1) Среда данных операции ср 2) Множество маршрутов, удовлетворяющих критерию тестирования 1 Шаг 1. Построение множества определений маски dM. Шаг 2. Построение множества живых определений маски в точке ср dM( 2.1.Выбор очередного элемента dM,из dM. 2.3. Занесение элемента dMj в множество dM(cp). Занесение соответствующего маршрута в множество РА. 2.4.Переход к подшагу 2.1. Шаг 3. Выбор очередного аргумента XI операции <р. Если список аргументов исчерпан, то переход к шагу 7. Шаг 4. Построение множества определений аргумента XI d(q>, XI). Шаг 5. Генерация маршрутов, проверяющих жизненность определений из d( 5.1. Если такого маршрута не существует, то переход к подшагу 5.3. 6.2. Если dM(cp) исчерпано, то переход к шагу 5. 138 6.6. Генерация маршрута dMj Xlk dM(cp)j ср в качестве проверяющего жизненность XlkJ в точке ср, соответствующего определению маски dM(cp)j, и занесение его в множество маршрутов, выбранных по критерию 1. 6.7.Переход к подшагу 6.2. Шаг 7. Завершение работы алгоритма А1. Алгоритм А2. Построение множества маршрутов, удовлетворяющих требованию критерия 2. Вход: 1) Граф бизнес-процесса 2) Номер тестируемой операции ср 3) Р множество маршрутов в графе программы между начальной точкой и точкой ф, соответствующей тестируемой операции Выход: 1) Q1 контекст данных операции ф 2) Q2 множество маршрутов тестирования контекста, удовлетворяющих критерию 2 Шаг 1. Инициализация множеств Q1 и Q2. Шаг 2. Выбор очередного элемента множества Р. Если Р исчерпано, то переход к шагу 6. Шаг 3. Генерация последовательности определений аргументов П операции ф вдоль выбранного из Р маршрута. 3.1. Инициализация графа бизнес-процесса, генерируемой последовательности П и рабочей маски М. 3.2.Выбор очередного узла графа бизнес-процесса. 3.3. Если номер выбранного узла равен номеру тестируемой операции, то переход к шагу 4. 3.4. Если выбранный узел не является узлом, соответствующим операции определения маски, то переход к подшагу 3.7. 3.5. Занесениие определения маски в М. 3.6.Переход к подшагу 3.2. 3.7. Если выбранный узел не является узлом, соответствующим операции определения какого-либо из аргументов XI операции ф, то переход к подшагу 3.2. 139 |