ЛЕКЦИЯ 26. Курс: Проектирование систем: Структурный подход Каф. Коммуникационные сети и системы, Факультет радиотехники и кибернетики Московский физико-технический институт (университет) / Марок Ш. ЛЕВИН Институт проблем передачи информации, РАН Ноябрь 5, 2004 ПЛАН: 1.Тестирование систем (основные подходы): *white-box тестирование (системы с известное структурой) *black-box тестирование как проверка модели (model checking) *black-box тестирование как много-функциональное тестирование 2.Много-функциональное тестирование: базовые комбинаторные задачи: *предварительный анализ системы, *композиция тестовых входов (test cases) *проектирование цепочки тестовых входов (chain of test cases), *покрытие орграфа кластеров функций цепочками 3.Иллюстративный пример много-функционального тестирования
Систьема как черный ящик (Black-box system) Система Вход Выход …… x1x1 xnxn y1y1 ymym
Пример структуры тестового входа (test case) x1 x2 S=x1*x2*x3*x4*x5*x6 0: x1=Any (2) 1: x1=1(3) 2: x1=2(3) 0: x2=Any (2) 1: x2=1(3) 2: x2=2(3) x3 0: x3=Any (4) 1: x3=1(1) 2: x3=2(1) 0: x4=Any (4) 1: x4=1(1) 2: x4=2(1) 3: x3=3(3) x4 0: x5=Any (2) 1: x5=1(3) 2: x5=2(3) x6 0: x6=Any (4) 1: x6=1(2) 2: x6=2(2) x5 3: x6=3(2) 4: x6=4(3) 5: x6=5(1) ТЕСТОВЫЙ ВХОД (TEST CASE)
Отбор тестовых входов (text cases) (базовые подходы) Базовое множество тестовых входов (test cases) Результи- рующее Множество Тестовых входов (test cases) Основные алгоритмы: 1.Сужение (Reducing) исходного множества (по эквивалентности) 2.Построение множества тестовых входов (test cases), которые покрывают суженное множество тестовых входов
Дополнительная размерность Реальное поведение системы (пользователь, black-box метод) Спецификации основанные на входе (проектировщик, white box метод) Построенные тестовые входы (test cases) (специалист по тестированию, black-box метод, Проверка модели - Model checking и др.) Мы находимся здесь ПЛЮС: Динамика как развитие / эволюция системы
Иллюстрация много-функционального тестирования на примере человека: N функций и составной тестовый вход Человек Функция 2 Болезнь 2 Составной (общий) Тестовый вход (test case) Функция 1 Болезнь 1 Функция N Болезнь N
Иерархия характеристик системы при много-функциональном тестировании Отношения Вход & Выход Функции системы Кластеры Функций системы Вход & Выход XY F1F1 F2F2 F3F3 Орграф Кластеров Функций системы
Уровни процесса тестирования и проблемы Граф переходов на блоках (состояниях, кластерах функций) Цепочки блоков (состояний, функций) Блоки / Состояния / Функции Уровень Блоков Базовый нижний уровень Тестовые входы (Test cases) Отбор/ построение Уровень цепочек Группы блоков (состояний, функций) Уровень групп (кластеров) Уровень графа Отбор/ построение Отбор/ построение Отбор/построение (тестовые последовательности) Покрытие цепочками
«Пространство» функций системы и кластеров функций Кластер F 2 Кластер F 1 Кластер F 6 Кластер F 5 Кластер F 3 Кластер F 4
Тестовый вход (Test case) для кластера функций и цепочка (последовательность) тестовых входов для цепи кластеров функций Кластер системы Тестовый вход (Test case) 1 Тестовый вход (Test case) 2 Тестовый вход (Test case) 3 Кластер F 2 Кластер F 3 Кластер F 1
Цепи кластеров функций и покрытие F5F5 F6F6 F1F1 F2F2 F3F3 F4F4 F3F3 F4F4 F5F5 F6F6 F1F1 F5F5 Орграф кластеров функций системы F1F1 F2F2 F3F3 F3F3 F3F3
Прикладная оборонная система (против ракет / самолетов) Центр управления Ракетная система 1 Другие системы (системы «соседи», системы других уровней) Ракетная система 2
Функции и кластеры функций Кластеры функций Функции: 1. Сканирование исследуемой области f 1 2.Захват f 2 3.Идентификация f 3 4.Сопровождение целей f 4 5. Multi-target multi-track assignment f 5 6.Управление огнем (назначение Ракет по целям) f 6 7. Удаление неопасных целей f 7 8.Получение данный от др. систем f 8 9.Отправки данных к др. системам f 9 F 1 : f 1 F 2 : f 1, f 4 F 3 : f 2, f 3, f 4 F 4 : f 4, f 5 F 5 : f 4, f 7 F 6 : f 5, f 6 F 7 : f 5, f 8, f 9
Орграф кластеров функций F2F2 F3F3 F7F7 F5F5 F6F6 F4F4 F1F1 F2F2 F3F3 F4F4 F6F6 F7F7 F3F3 F2F2 F5F5 F4F4 F3F3 F5F5 F3F3 F4F4 F7F7 F1F1
Recent papers on multi-function system testing 1.M.Sh. Levin, M. Last, Multi-Function System Testing: Composition of Test Sets.8 th IEEE Int. Conf. HASE 2004, Tampa, FL, , M.Sh. Levin, M. Last, Test Case Sequences in System Testing: Selection of Test Cases for a Chain( Sequence) of Function Clusters. 17 th Int. Conf. IEA/AIE, Ottawa, LNCS 3029, Springer, , M.Sh. Levin, M. Last, Collection of Test Case Sequences Covering of Function Cluster Digraph. IASTED Int. Conf. AI and Applications, Innsbruck, , Febr