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


Автоматизированное модельное тестирование бизнес-процессов с использованием сетей Петри

Работа №107849

Тип работы

Магистерская диссертация

Предмет

математическое моделирование

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

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


Введение 4
Глава 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

Современные информационные системы активно развиваются. Все больше бизнес-процессов подвергаются автоматизации (BPA). BPA могут быть реализованы в различных сферах бизнеса, включая маркетинг, продажи и рабочий процесс. Наборы инструментов различаются по сложности, но растет тенденция к использованию технологий искусственного интеллекта, которые могут понимать естественный язык и неструктурированные наборы данных, взаимодействовать с людьми и адаптироваться к новым типам задач без обучения под руководством человека. Провайдеры BPA, как правило, сосредотачиваются на разных отраслях промышленности, но их основной подход, как правило, схож в том, что они будут пытаться обеспечить кратчайший путь к автоматизации, используя пользовательский интерфейс, а не углубляться в код приложения или базы данных, стоящие за ними. Они также упрощают свой собственный интерфейс до такой степени, что эти инструменты могут использоваться напрямую неквалифицированным персоналом. Таким образом, основным преимуществом этих наборов инструментов является их скорость развертывания, а недостатком является то, что они привлекают в организацию еще одного поставщика ИТ.
Так как такие системы находят широкое применение и по своей сущности с каждым днем становятся все сложнее. Возникает проблема того, как контролировать корректность выполнения автоматизированных бизнес- процессов. Число специалистов по тестированию требуется все больше и больше. Затраты компаний на тестирование программного обеспечения (ПО) могут доходить до 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. С его помощью можно писать тесты для тестирующей системы без их компиляции, а также это позволит создавать некие шаблоны тестов и на их основе выполнять генерацию тестовых условий. Следует одной весьма значимой модернизацией является улучшение интерфейса взаимодействия с тестирующей системой. Улучшив понимание и удобство управления системой, можно привлекать менее квалифицированных специалистов по тестированию, что ещё позволит уменьшить затраты на тестирование.


1. Аалст Вил ван дер, Хей ван Кейс. Управление потоками работ: модели, методы и системы. - М.: Физматлит, 2007. - 320 с.
2. Башкин В.А., Ломазова И.А. Подобие обобщенных ресурсов в сетях Петри // Труды МСО-2005. - М.: МГУ, 2005. - С. 330-336.
3. Башкин В.А., Ломазова И.А. Эквивалентность ресурсов в сетях Петри. - М.: Научный мир, 2008. - 208 с.
4. Доррер М.Г. Алгоритм преобразования моделей бизнес-процессов в одноцветные сети Петри // Моделирование и анализ информационных систем. - 2010. - №2. - С. 5-16.
5. Захаров В.А. Проверка эквивалентности программ при помощи двухленточных автоматов // Кибернетика и системный анализ. - 2010. - №4. - С. 39-48.
6. Калянов Г.Н. Теория и практика реорганизации бизнес-процессов. - М.: СИНТЕГ, 2000. - 212 с.
7. Коннов И. В. Применение ослабленных отношений симуляции в методе сетевых инвариантов для верификации параметризованных асинхронных моделей // Моделирование и анализ информационных систем. - 2010. - №3. - С. 3­13.
8. Котов В.Е. Сети Петри. - М.: Наука, 1984. - 160 с.
9. Ломазова И.А. Вложенные сети Петри: моделирование и анализ распределенных систем с объектной структурой. - М.: Научный мир, 2004. - 208 с.
10. Методология разработки тестовых случаев на основе сценариев использования [Электронный ресурс] // software-testing.ru URL: https://software- testing.ru/library/5-testing/78-2008-09-29-07-33-51 (дата обращения: 12.10.2019).
11. Орел А.А. Шаблоны проектирования бизнес-процессов с помощью сетей Петри // Математика. Механика. - 2009. - №11. - С. 45-48.
12. Рябухин С.И. Вестник НГУ Серия: Информационные технологии // Применение сетей Петри для моделирования событийно-процессных цепей и построения структур базы данных. - 2013. - №4. - С. 92-101.
13. Сорокин В.Е. Применение иерархических сетей Петри для моделирования телекоммуникационных протоколов // Сборник научных трудов Донецкого института железнодорожного транспорта. - Донецк: Донецкий институт железнодорожного транспорта, 2007. - С. 91-96.
14. Сэм Канер, Джек Фолк, Енг Кек Нгуен Тестирование программного обеспечения. - Киев: Диа Софт, 2001. - 544 с.
15. Тестирование. Фундаментальная теория [Электронный ресурс] // Habr URL: https://habr.com/ru/post/279535/ (дата обращения: 11.10.2019).
...


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




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