
21
11. Генерация
диагностических сообщений
В практически используемых системах обработки данных важное значение
имеет контроль корректности исходных данных. В методологии синтаксически
управляемой обработки данных это требование удовлетворяется как нечто само
собой разумеющееся. Более того, грамматика, описывающая все множество
возможных исходных данных, обеспечивает терминологический базис для
формулирования сообщений об обнаруживаемых дефектах в исходных данных.
Технологический комплекс SYNTAX имеет средства автоматической
генерации и редактирования диагностических сообщений, которые затем
используются для характеристики ошибок на входе системы процесси-
рования.
Описание этих средств можно найти в Приложении.
12. Генерация тестов
Теория и основанная на ней SYNTAX-технология гарантируют, что полу-
чаемое с их помощью средство синтаксически управляемой обработки данных
полностью соответствует его TSL-спецификации. Однако на практике такой
гарантии бывает недостаточно, поскольку нельзя утверждать, что сама исход-
ная спецификация правильно отражает потребности заказчика. Единственно
возможным средством проверки "неформальной" правильности получаемого
средства обработки данных является его тестирование.
Представление управляющей грамматики в виде графа естественным обра-
зом наводит на мысль о родственности задачи генерации тестов задаче о "Ки-
тайском почтальоне" — классической задаче математического программирова-
ния, сетевой задаче нахождения максимального потока при минимальной
стоимости. Действительно, чтобы гарантировать однократное исполнение каж-
дой семантики, достаточно найти такое множество входных цепочек, порож-
дающие маршруты которых покроют все дуги управляющей граф-схемы (кри-
терий полноты C
1
). Тогда гарантированно будут задействованы все возможные
преобразования операционной среды, поскольку прохождение по дуге, распо-
знаваемое управляющим процессором, инициирует вызов семантических про-
цедур, интерпретирующих семантические символы, помечающие эту дугу. Па-
раметр i критерия полноты C
i
можно варьировать в зависимости от потребно-
сти получения более сильных тестов. Так, при i =2 тестом покрывается мар-
шрут, который обладает тем свойством, что каждая дуга, входящая в данную
вершину, сочетается с каждой дугой, выходящей из нее. Другими словами, этот
критерий гарантирует испытание каждой возможной пары семантик. И вообще,
критерий C
n
обеспечивает испытание каждого возможного n-сочетания семан-
тик.
Технологический комплекс SYNTAX в своем составе имеет генератор
тестов, позволяющий автоматически строить полные минимальные
тесты для любого заданного критерия тестирования C
n
(n = 1, 2, ...).
Методика генерации тестов рассмотрена в гл. 9.