Тема: Автоматизированное модельное тестирование бизнес-процессов с использованием сетей Петри
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Глава 1 Сети Петри и тестирование программного обеспечения 8
1.1 Тестирования как процесс разработки программного обеспечения 8
1.2 Одноуровневые сети Петри 9
1.3 Элементарные структуры сетей Петри 14
1.4 Проблемы и преимущества модельного тестирования 18
Глава 2 Автоматизированное модельное тестирование с использованием сетей Петри 20
2.1 Проблемы тестирования с использованием цепей Маркова 20
2.2 Проблема применения конечного автомата для тестирования ПО 21
2.3 Проблема многопользовательского тестирования веб-приложений 31
2.4 Иерархические сети Петри 33
2.5 Метод описания бизнес-процесса с помощью иерархических сетей Петри 34
2.6 Свойства сетей Петри 35
2.7 Дерево достижимости 36
2.8 Подход к созданию MBT тестов 37
2.9 Построение модели сети Петри для веб-приложений 38
2.10 Критерии испытаний для моделей сети Петри веб приложения 39
2.11 Проверка соответствия диаграммы UML бизнес-процессу описанного сетью Петри 40
Глава 3 Разработка системы тестирования ПО с использование сети Петри 43
3.1 Общая концепция тестирующей системы 43
3.2 Интеграция симулятора сетей Петри с внешними системами 50
3.3 Интерфейс низкого уровня 53
3.4 Интерфейс высокого уровня 54
Глава 4 Практическое применение разработанной методики тестирования 56
4.1 Тестирование на реальной системе 56
4.2 Измерение стоимости тестирования 58
4.3 Анализ полученных результатов 60
Заключение 66
Список используемой литературы 68
Приложение А Базовые сущности симулятора сетей Петри 72
Приложение Б Контекст состояния сети Петри 78
📖 Введение
Так как такие системы находят широкое применение и по своей сущности с каждым днем становятся все сложнее. Возникает проблема того, как контролировать корректность выполнения автоматизированных бизнес- процессов. Число специалистов по тестированию требуется все больше и больше. Затраты компаний на тестирование программного обеспечения (ПО) могут доходить до 20% от его стоимости и с увеличением сложности системы затраты только растут.
Для решения этой проблемы на текущий момент компании активно ищут специалистов по тестированию ПО, обучают их самостоятельно или возлагают эти обязанности на разработчиков ПО. Такой подход к решению проблемы все же не может длиться вечно, так как не все компании готовы тратить столько средств на тестирование своего продукта, и мы все больше замечаем снижение качества ПО.
Тема является актуальной так, как ПО становятся все сложнее, а требования к их надежности все время растут. Требуется аппарат способный автоматически тестировать систему, генерировать различные тестовые сценарии, о которых разработчик даже мог и не предполагать. Также необходим легкий способ составления самих тестов и снижения требований к разработчику тестов.
В текущей работе предлагается решение проблемы тестирования бизнес- процессов. Для этого будет описана математическая модель тестирующей системы, основанной на сетях Петри, а также будут описаны некоторые её прикладные части.
Научная новизна текущей работы заключается в новом подходе к тестированию программного обеспечения, а именно в использовании различных шаблонов описания бизнес-процессов и выстраивания их в иерархию.
Целью этого исследования является разработка математической и программной модели системы автоматического тестирования бизнес-процессов.
Объектом исследования является процесс тестирования бизнес- приложений.
Предметом исследования являются сети Петри и различные их расширения.
Поставленная цель будет достигнута если будут решены следующие задачи:
• Произведен анализ методики модельного тестирования ПО;
• Исследованы сети Петри и их модификации;
• На основе полученных знаний построена методика тестирования бизнес- процессов с использованием сетей Петри;
• Проведен анализ прикладного применения разработанной модели.
Перед формированием поставленных целей и задач был проведен анализ литературы по текущему направлению исследования.
Одной из самых близки по тематике работ является статья Testing concurrent user behavior of synchronous web applications with Petri nets авторы Jeff Offutt и Sunitha Thummala. В этой работе выполнялось тестирование веб приложений не со стороны сервера, а со стороны пользователя. Такой подход был выбран так, как современные веб приложения не обрабатывают запросы от одного пользователя одним и тем же контроллером. В связи с эти при тестировании на стороне сервера упускаются многие факторы параллельного взаимодействия. Основной упор в работе был сделан на поиск ошибок в параллельном взаимодействии нескольких пользователей и максимальном покрытии тестами.
Авторы старались автоматизировать как можно большее количество вещей. Такие как создание ребер, создание состояний, создание условий. В конечном итоге приходится все равно корректировать модель, но это значительно проще чем создавать её с нуля. Тесты генерируются и исполняются автоматически.
Также сети Петри применяются в кандидатской диссертации А.Н. Савина «Формирование тестирующих программ с использованием сетей Петри- Маркова». В этой работе также поднимается вопрос улучшение надежности программных продуктов. Так же приводится факт того, что тестирующая систем может быть намного сложнее разрабатываемой системы. Автор приводит утверждения необходимости покрытия 80% системных процессов. В ходе работы автор разработал систему для оценки времени работы системы. Эта оценка выполняется на основе математической модели, описанной сетями Петри- Маркова.
Основной упор в работе был сделан на представление и анализ параллельных процессов с помощью сетей Петри-Маркова. Сама разработанная система не выполняет тестирование кода она лишь оценивает время работы и возможные параллельные взаимодействия в системе.
Основные этапы выполнения работы:
• В ходе первого этапа было произведено исследование проблемы тестирования систем автоматизации бизнес-процессов. Были выявлены основные недостатки имеющихся решений;
• На втором этапе работы был произведен поиск решений выявленных на первом этапе проблем. Решение заключается в создании модели системы с использование сетей Петри, а в дальнейшем применять подход MBT тестирования. Также была произведена разработка самой системы автоматического модельного тестирования бизнес-процессов.
• На третьем этапе был произведен анализ разработанной системы и её практическое применение.
Особенность этой работы заключается в реализации, которая тестирует ПО не только на каком-то одном уровне (на стороне сервера, на стороне клиента, на уровне модели), а тесно связывает сторону клиента и сторону сервера. Реализация позволяет выполнить запрос от клиента и проверить правильность работы серверных механизмов до ответа клиенту. В связи такой особенность реализации открываются новые возможности применения сетей Петри для тестирования ПО.
Предложенный в работе подход к тестированию программного обеспечения позволяет автоматически тестировать большие BPA системы. Это позволяет не только существенно сэкономить на затратах на тестирования, но и в принципе позволяет поддерживать возможность тестировать такие системы.
Работа изложена на 71 страницах, содержит 30 рисунков.
✅ Заключение
Предложенная модель позволяет не только в значительной степени снизить затраты на тестирование больших систем BPA, но и сделать его в принципе возможным. В результате проведенного анализа затрат, в среднем применение сетей Петри для тестирования BPA систем может сократить затраты на тестирования в 2 - 2.5 раза. Такая экономия заключается в том, что нет необходимости тратить время специалистов по тестированию на поддержание, изменение и актуализацию тестовых сценариев. В тестирующей системе на основе сетей Петри тестовые сценарии отсутствуют в принципе. Они генерируются из модели автоматически. Следовательно, ресурсы специалистов по тестированию сконцентрированы на поддержании математической модели тестируемой системы в актуальном состоянии.
Благодаря подходу MBT тестирования, сети Петри открывают возможность для создания программного обеспечения по контролю модели системы. Так в текущей работе была описана модель взаимодействия между моделью тестируемой системы и самой тестирующей системой. Такое взаимодействие позволяет наблюдать отображение реальной системы на её модели и наоборот контролировать реальную систему через её модель. Обнаружение ошибок при таком взаимодействии становится более оперативным. Современные системы являются параллельными и в них могут возникать такие ситуации как взаимные блокировки и гонки за ресурсы. Сети Петри предназначены для моделирования таких систем и благодаря отображению реальной системы на модель, можно наблюдать в реальном времени возникшие проблемы в системе и анализировать их возникновение.
В дальнейшем разработанная модель может иметь множество модификаций. Так может быть разработана модель, позволяющая в автоматически генерировать сети Петри по уже имеющимся бизнес-процессам, описанных в нотации BPMN. Также при написании тестовых сценариев присутствует достаточное большое количество шаблонного кода и имеется возможность сделать его автоматическую генерацию. Как вариант решения этой проблемы использовать подход метапрограммирования. Одним из языков поддерживающих метапрограммирование является Groovy. С его помощью можно писать тесты для тестирующей системы без их компиляции, а также это позволит создавать некие шаблоны тестов и на их основе выполнять генерацию тестовых условий. Следует одной весьма значимой модернизацией является улучшение интерфейса взаимодействия с тестирующей системой. Улучшив понимание и удобство управления системой, можно привлекать менее квалифицированных специалистов по тестированию, что ещё позволит уменьшить затраты на тестирование.





