М. : Институт системного программирования, 2006. — 494 с.
АннотацияВ работе изучается тестирование соответствия систем, в которых возможна блокировка (приёма) стимулов и разрушение системы. Дивергенция также моделируется разрушением. В качестве соответствия предлагается отношение iocoβγδ – обобщение отношения ioco (Input-Output COnformance). Для того, чтобы избегать разрушения реализации при тестировании, отношение строится только на безопасных трассах, которые не могут привести к разрушению. Предлагается гипотеза о безопасности, определяющая класс реализаций, которые можно тестировать на соответствие заданной спецификации. Рассматриваются два вида моделей: трассовые модели и система переходов (Labelled Transition System), и показывается их эквивалентность. Описывается генерация тестов и её алгоритмизация. Рассматриваются различные виды пополнения частично-определённых по стимулам спецификаций. Сравниваются семантики отношений ioco и iocoβγδ. Рассматривается проблема несохранения соответствия при композиции и предлагается её решение с помощью монотонного преобразования спецификаций. Излагается общая теория монотонности соответствия и определяются достаточные условия монотонности. Предлагаются монотонные преобразования для общего случая и для подклассов без блокировок и/или разрушения. Рассматриваются проблемы алгоритмизации преобразований и композиции и описываются соответствующие алгоритмы.
СодержаниеПредисловие
Как читать эту книгу
Общематематические понятия и обозначения
ВведениеФормализация понятия «правильности»Функциональность
Взаимодействие
Аналитическая верификация и тестирование
Формальные спецификации
Математическая модель
Проблема извлечения модели
Тестовые возможности и гипотезы о реализации
Формализация тестового экспериментаМашина тестирования
Разрешение тупиков (θ-наблюдение). Отказы
Разрушение (forbidden action)
Приоритеты
Дивергенция и недетерминизмПроблема дивергенции
Проблема недетерминизма реализации
Недетерминизм спецификации
Трассовая и автоматная моделиТрассовая модель
Автоматная модель
ТестыТрассовые тесты
Автоматные тесты. Синхронное и асинхронное тестирование
Безопасность тестирования
Проблема полноты тестирования
Модели ввода-выводаМинимальные тестовые возможности.
Модели без блокировок стимулов
Отношение iocoβγδ
Проблемы взаимодействия тестера и реализацииПроблема блокировки стимулов
Проблема стимулов «на выбор»
Проблема реакций «на выбор».
Проблема «торможения» реакций
Пополнение спецификацииНеспецифицированный стимул
Допущение полноты (подразумеваемое пополнение)
Проблема рефлексивности соответствия
Асинхронное тестирование и верификация композицииДве проблемы асинхронного тестирования
Безопасность при асинхронном тестировании
Дивергенция при асинхронном тестировании
Проблема монотонности соответствия при композиции.
Синхронное тестированиеМашина тестированияМашина общего вида
Машина для iocoβγδ-тестирования – βγδ-машина
Трассовые моделиβγδ -модель
Разложение βγδ -модели на поддеревья
Модель безопасных трасс
Модель финальных трасс
Соотношение трассовых моделей
Гипотеза о безопасности
Соответствие iocoβγδ
Тест и полный набор тестов
Алгоритмизация
LTS-модельОпределение LTS
LTS-модель
LTS-модель как βγδ -машина
Эквивалентность βγδ -моделей и LTS-моделей
Гипотеза о безопасности и соответствие iocoβγδ
Композиция LTS и тесты
Алгоритмизация
Сравнение моделейСравнение трассовых моделей и LTS-модели
Сравнение моделей безопасных и финальных трасс с βγδ -моделью
Дивергенция вместо разрушения. Модель строго-конвергентных трасс
Различение разрушения и дивергенции
Пополнение спецификацииПополнение состояний
Трассовое пополнение
Классическая семантика ioco
Алгоритмизация
Верификация композицииОбщая теория монотонностиКосая композиция и монотонное соответствие
Восемь достаточных условий монотонности соответствия
План доказательства достаточных условий
Мажорирование βγδ-трасс и отношение iocoβγδМажорирование βγδ-трасс
Эквивалентность iocoβγδ мажорированию βγδ-трасс (Монотонность 1:)
φ-трассыφ-символы, φ-трассы и φ-маршруты LTS
ξ -оператор. Генеративность φ-трасс (Монотонность 2:)
Композиция φ-трасс. Аддитивность (Монотонность 3:)
Общий случай: Мажорирование φ-трассОпределение мажорирования φ-трасс
Мажорирование φ-трасс предпорядок (Монотонность 8:)
Генеративность мажорирования φ-трасс (Монотонность 4:)
Композиционность мажорирования φ-трасс (Монотонность 5:)
Общий случай: Преобразование TβγδПримеры и общая идея преобразования
Формальное определение преобразования
Конформность преобразования (Монотонность 6:)
S-ветвящиеся и локально-конечно-ветвящиеся LTS
Мажорантность преобразования (Монотонность 7:)
Монотонность преобразования
Оптимизация преобразования
Общий случай: АлгоритмизацияЗамкнутость по алгоритмическому преобразованию Tβγδ
Алгоритмизация преобразования Tβγδ для конечного алфавита
Алгоритмическое преобразование Tβγδ при многократной композиции
Алфавит и ветвление при композиции LTS
Проблема дивергенции
Слабо-регулярность и Tβγδ-преобразование. Сильно-регулярность
Двойная LTS и Wβγδ-преобразование.
Алгоритмизация композиции Tβγδ-преобразованных LTS
Алгоритмизация композиции Wβγδ-преобразованных LTS
Верификация композиции в частных случаяхСпецификации без разрушенияМажорирование φ-трасс без разрушения
Преобразование Tβδ
Алгоритмизация
Спецификации без блокировокОпределение мажорирования φ-трасс
Мажорирование φ-трасс предпорядок (Монотонность 8:)
Генеративность мажорирования φ-трасс (Монотонность 4:)
Композиционность мажорирования φ-трасс (Монотонность 5:)
Преобразование Tγδ 335
4.2.6. Конформность преобразования Tγδ (Монотонность 6:)
Мажорантность преобразования Tγδ (Монотонность 7:)
Монотонность преобразования Tγδ
Алгоритмизация
Спецификации без блокировок и без разрушенияМонотонность
Алгоритмизация
Итоги и перспективы
Литература
Приложение: Доказательства утверждений