📄Работа №191084

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

Характеристики работы

Тип работы Бакалаврская работа
Математика
Предмет Математика
📄
Объем: 33 листов
📅
Год: 2022
👁️
Просмотров: 61
Не подходит эта работа?
Закажите новую по вашим требованиям
Узнать цену на написание
ℹ️ Настоящий учебно-методический информационный материал размещён в ознакомительных и исследовательских целях и представляет собой пример учебного исследования. Не является готовым научным трудом и требует самостоятельной переработки.

📋 Содержание

АННОТАЦИЯ 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 с.

🖼 Скриншоты

🛒 Оформить заказ

Работу высылаем в течении 5 минут после оплаты.
Предоставляемые услуги, в том числе данные, файлы и прочие материалы, подготовленные в результате оказания услуги, помогают разобраться в теме и собрать нужную информацию, но не заменяют готовое решение.
Укажите ник или номер. После оформления заказа откройте бота @workspayservice_bot для подтверждения. Это нужно для отправки вам уведомлений.

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