Введение 5
1 Основные понятия и определения 6
1.1 Расширенный автомат 6
1.2 Конечный автомат 7
1.3 Переход от расширенного автомата к эквивалентному конечному автомату 8
1.4 Автоматные сети 10
2 Построение композиции компонент телекоммуникационных протоколов 14
2.1 Протокол TIME 14
2.2 Протокол SMTP 15
3 Экспериментальные результаты по тестированию телекоммуникационных
протоколов 18
3.1 Конечный автомат для протокола TIME 18
3.2 Конечный автомат для протокола SMTP 20
3.3 Тестирование расширенных автоматов, описывающих поведение 24
протоколов
Заключение 26
Список использованных источников
Проверка взаимодействия компонент сложных систем является одной из актуальных современных задач. В настоящее время активно развиваются различные веб-сервисы и приложения, которые работают в режиме реального времени. Поэтому, чтобы иметь возможность проводить тестирование таких систем, необходимо иметь адекватную математическую модель.
Одной из хорошо изученных моделей является конечный автомат [1], методы синтеза тестов на основе конечно-автоматной модели хорошо изучены. Но, к сожалению, конечный автомат не в состоянии адекватно отразить, например, временные аспекты или наличие некоторых параметров в системе. В связи с этим стали появляться новые модели, такие как расширенный и временной автоматы [2]. Однако методы синтеза тестов для таких моделей недостаточно изучены.
В данной работе нам хотелось бы исследовать границы применимости конечно-автоматных методов синтеза тестов в тестировании взаимодействия компонент телекоммуникационных протоколов. Для определенности мы полагаем, что взаимодействуют только две компоненты: клиент и сервер, хотя количество компонент не накладывает принципиальных ограничений на описание их взаимодействия. Поведение каждой компоненты описывается расширенным автоматом, а затем взаимодействие расширенных автоматов моделируется и строится расширенный автомат композиции. Кроме того, по расширенному автомату каждой компоненты строится эквивалентный конечный автомат, данные автоматы композируются и для автомата-композиции строится проверяющий тест. Затем тестовые последовательности конвертируются обратно во входные последовательности расширенного автомата, и проверяется, обнаруживают ли данные последовательности ошибки в расширенном автомате, описывающем взаимодействие компонент. Работоспособность подхода проверяется на телекоммуникационных протоколах TIME и SMTP [3].
В процессе выполнения работы было изучено следующее: а) графический редактор расширенных автоматов, с помощью которого можно отрисовать расширенный автомат и затем данный расширенный автомат можно преобразовать в эквивалентный конечный автомат; б) формат .aut для описания конечных автоматов с целью их дальнейшей автоматической композиции; в) пакет прикладных программ FSMs2Composition для автоматизации построения композиции конечных автоматов.
Кроме того, из неформальных спецификаций телекоммуникационных протоколов TIME и SMTP выделены описания клиентской и серверной частей в виде расширенных автоматов. Построены расширенные автоматы, описывающие поведение указанных протоколов путем моделирования их совместного поведения. По конечным автоматам протоколов построены проверяющие тесты обходом графа переходов. Эти тесты преобразованы во входные последовательности соответствующих расширенных автоматов. Установлено, что они покрывают все переходы в расширенных автоматах. Если бы в расширенном автомате возникла ошибка выходов, то она была бы обнаружена таким тестом.
Результаты работы были доложены на всероссийской конференции студенческих научно-исследовательских инкубаторов [10], так же часть результатов представлена на международную конференцию ICAM 2020 (в печати).
В дальнейшем предполагается исследовать способность теста, построенного по эквивалентному конечному автомату для неисправностей переходов, обнаруживать ошибки переходов в соответствующем расширенном автомате. Кроме того, планируется провести оценку полноты тестов, построенных по композиции /-эквивалентов компонент протокола, при обнаружении ошибок в расширенном автомате, описывающем поведение протокола.
1. Евтушенко Н.В., Рекун М.В., Тихомирова С.В. Недетерминированные автоматы: анализ и синтез. Ч. 2. Решение автоматных уравнений: Учебное пособие / Томск: Томский государственный университет, 2009. 111 с.
2. Petrenko A., Boroday S., Groz R. Confirming Configurations in EFSM Testing // IEEE Trans. Software Eng., 30(1), 2004. P. 29-42.
3. Internet RFC/STD/FYI/BCP Archives [Электронный ресурс] - URL:
http://www.faqs.org/rfcs.html(Дата обращения: 04.11.2019).
4. Petrenko A., et al. Testing in context: framework and test derivation // Computer communications, 19, 1996, P. 1236-1249.
5. Карибский В.В., Пархоменко П.П., Согомонян Е.С., Халчев В.Ф. Основы технической диагностики. М.: Энергия, 1976. 464 с.
6. Extended Finite State Machine editor [Электронный ресурс]. - URL: http://fsmtestonline.ru. (Дата обращения: 18.04.2019).
7. BALM II [Электронный ресурс] - URL:
https://embedded.eecs.berkeley.edu/Respep/Research/mvsis/balm.html(Дата обращения: 16.12.2019).
8. Сотников А.П. Автоматизация построения автоматной композиции для описания
клиент-серверного взаимодействия на примере протокола BOOTP / А.П. Сотников, В.С. Болтова, Н.В. Шабалдина // Молодежь и современные информационные технологии: сборник трудов XVII Международной научно-практической конференции студентов, аспирантов и молодых ученых. - Томск, 17-20 февраля 2020 г. / Томский политехнический университет. - Томск: Изд-во Томского политехнического
университета, 2020. - C. 186-188.
9. Сотников А.П. Разработка интерфейса для пакета прикладных программ по автоматизированному построению автоматных композиций // Труды Шестнадцатой Всероссийской конференции студенческих научно-исследовательских инкубаторов. - Томск 13-15 мая 2019г. / - Томск: Изд-во НТЛ, 2019. - С. 197-199.
10. Михайлова А.Н. Построение композиции расширенных автоматов // Труды Шестнадцатой Всероссийской конференции студенческих научно-исследовательских инкубаторов, Томск, 13-15 мая 2019 г. Томск: Изд-во НТЛ, 2019. С. 179-181.