Тип работы:
Предмет:
Язык работы:


АВТОМАТИЗАЦИЯ КОНЕЧНО-АВТОМАТНОГО ТЕСТИРОВАНИЯ СЕРВЕРНЫХ РЕАЛИЗАЦИЙ ПРОТОКОЛОВ ПРИКЛАДНОГО УРОВНЯ

Работа №191084

Тип работы

Бакалаврская работа

Предмет

математика и информатика

Объем работы33
Год сдачи2022
Стоимость4330 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
8
Не подходит работа?

Узнай цену на написание


АННОТАЦИЯ 3
ВВЕДЕНИЕ 2
1 Основные определения и обозначения 4
1.1 Конечный автомат 4
1.2 Расширенный автомат 7
2 Синтез тестов на основе конечных автоматов 11
2.1 Модели неисправности и тесты 11
2.2 Методы синтеза тестов 12
2.3 Синтез тестов для расширенных автоматов 14
3 Инструмент конечно-автоматного тестирования серверных реализаций.... 15
3.1 Тестирование сетевых приложений 15
3.2 Инструменты синтеза тестов 16
3.2.1 Для конечных автоматов 16
3.2.2 Для расширенных автоматов 18
3.3 Инструмент подачи тестов на реализацию 21
4 Экспериментальные результаты 25
4.1 Описание протокола POP3 25
4.2 Тестирование серверной реализации протокола POP3 27
4.2.1 Для классического автомата 27
4.2.2 Для расширенного автомата 29
ЗАКЛЮЧЕНИЕ 32
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ 33


Жизненный цикл любого программного обеспечения содержит фазу его тестирования. Сетевые протоколы не являются исключением, поскольку своевременное выявление возможных ошибок является необходимым условием для качественной работы сетевых приложений. Наиболее активно разрабатываются и обновляются протоколы прикладного уровня, что мотивирует разработку универсальных инструментов тестирования таких протоколов.
Для синтеза тестов с гарантированной полнотой покрытия неисправностей, достаточно часто применяются формальные модели. Модели с конечным числом состояний, такие как конечные автоматы, полуавтоматы и связанные с ними модели, достаточно активно применяются для решения задач анализа и синтеза телекоммуникационных систем. Конечные автоматы [1,2] позволяют построить достаточно адекватную для задачи тестирования модель реальных телекоммуникационных систем и формально определить класс обнаруживаемых неисправностей [3].
Однако, при тестировании современных протоколов прикладного уровня, достаточно часто приходится учитывать хранимые такими протоколами данные, такие как, например, учётные данные, количество текущих соединений и т.д. Такая информация часто не может быть описана конечным числом состояний и, соответственно, построенный по конечному автомату тест не гарантирует обнаружение связанных с ней ошибок. Для моделирования подобных систем, конечные автоматы были расширены контекстными переменными, предикатами на переходах, а также входными и выходными параметрами. Расширенные автоматы позволяют более точно описать современные телекоммуникационные протоколы, но, их язык не является регулярным, что усложняет решение многих задач анализа и синтеза. Тем не менее, существуют методы синтеза тестов для расширенных автоматов, преимущественно основанные на построении по расширенному автомату соответствующих конечно-автоматных абстракций.
Для синтеза тестов по конечному атвомату могут быть использованы существующие инструменты, например, онлайн-сервис FSMTestOnline [4], предоставляющий возможность моделировать конечные и расширенные конечные автоматы и строить тесты различными методами, включающими в себя обход графа переходов и модификации метода Василевского.
Таким образом, тест для протокола прикладного уровня может быть построен с использованием существующих инструментов, но нерешённой остаётся проблема подачи теста на реализацию такого протокола. Подача тестов вручную является слишком трудозатратным в связи с большими размерами тестов и такой подход часто не может быть достаточно эффективно использован на практике [5]. Решением этой проблемы является автоматизация тестирования, которой и посвящена данная работа.
В данной работе разрабатывается приложение, которое позволит тестировать функциональные требования серверных реализаций сетевых протоколов прикладного уровня. Ключевая роль программы - сокращение трудозатрат при тестировании путем автоматизации подачи тестовых последовательностей на сервер.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В результате проведенной работы было разработано консольное приложение, позволяющее проводить автоматизированную подачу конечноавтоматных и параметризованных конечно-автоматных тестов на различные сетевые протоколы прикладного уровня. В качестве примера был построен автомат, моделирующий протокол POP3. В результате тестирования различных реализаций данного протокола были выявлены некоторые, на первый взгляд, незаметные неисправности.
Тестирование на основе конечного автомата и расширенного конечного автомата в совокупности, позволяет в наибольшей мере покрыть ошибки различных классов.



1) Агибалов Г. П. Лекции по теории конечных автоматов. / Г. П. Агибалов, А.
M. Оранов. - Томск : Издательство ТГУ, 1984. - 185 с.
2) Гилл А. Введение в теорию конечных автоматов / А. Гилл. - М. : Издательство Наука, 1966. - 272 с.
3) Василевский М. П. О распознавании неисправности автоматов // Кибернетика. - 1973. - № 4. - С. 93-108.; Chow T. S. Test software design modeled by finite state machine // IEEE Transactions on Software Engineering.
- 1978. - Vol. 4. - № 3. - P. 178-187.
4) Инструмент FSMTestonline. - URL: http://www.fsmtestonline.ru (дата
обращения: 20.03.2022).
5) Dorofeeva R. FSM-based conformance testing methods: A survey annotated with experimental evaluation / R. Dorofeeva, K. El-Fakih, S. Maag, A. Cavalli,
N. Yevtushenko // Information & Software Technology. - 2010. - 52(12). - P. 1286-1297.
6) Бурдонов И. Б. Теория соответствия для систем с блокировками и разрушениями / И.Б. Бурдонов, А.С. Косачев, В.В. Кулямин. - М. : ФИЗМАТЛИТ. - 2008. - 412 с.]
7) Socket документация - https://docs.microsoft.com/en-
us/windows/win32/api/winsock2/nf-winsock2-socket (дата обращения:
20.03.2022).
8) Post office Protocol - Version 3 документация - https://www.ietf.org/rfc/rfc1939.txt (дата обращения: 20.03.2022).
9) Cavalli A.R. Hit-or-Jump: An algorithm for embedded testing with applications to IN services / A. R. Cavalli et al. // In Proceedings of the FORTE’1999., 1999.
- pp. 41-56
10) Карибский В.В., Пархоменко П.П., Согомонян Е.С., Халчев В.Ф. Основы технической диагностики. М.: Энергия, 1976. 464 с.



Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ