Аннотация 2
Введение 5
Глава 1 Анализ автоматизации тестирования 7
1.1 Технико-экономическая характеристика организации ООО «Гильдия ПРО» 7
1.2 Анализ тестирования веб-приложений 10
1.2.1 Понятие тестирования программного обеспечения 10
1.2.3 Особенности тестирования веб-приложений 12
1.2.4 Виды тестирования веб-приложений 14
1.3 Автоматизированное тестирование 15
1.3.1 Преимущества и недостатки автоматизации тестирования 16
1.3.2 Подходы к автоматизации тестирования пользовательского интерфейса 18
1.3.3 Обзор технологий для тестирования веб-приложений 21
1.4 Концептуальное моделирование автоматизации тестирования 23
1.5 Постановка задачи на разработку модуля автоматизированного тестирования 27
Глава 2 Проектирование модуля автоматизированного тестирования 29
2.1 Выбор технологии для проектирования 29
2.2 Выбор инструмента для проектирования 30
2.3 Диаграмма вариантов использования 31
2.4 Логическая и физическая модель данных 34
Глава 3 Реализация модуля автоматизированного тестирования 38
3.1 Выбор технологий для разработки модуля автоматизированного тестирования 38
3.2 Организация рабочего окружения автоматизированных тестов 40
3.3 Разработка панели управления автоматизированных тестов 44
3.4 Тестирование разработанного модуля 50
3.5 Оценка экономической эффективности автоматизации тестирования 53
3.5.1 Выбор и обоснование методики расчета экономической эффективности 53
3.5.2 Расчет показателей экономической эффективности 56
Заключение 59
Список используемой литературы 60
Приложение A Листинг программного кода клиентского компонента «Страница теста» 62
Приложение B Листинг программного кода серверного приложения 67
Программный продукт является результатом длительной работы команды разработчиков, по итогам которой в разработанном программном обеспечении (ПО) взаимодействуют огромное количество компонентов, что влечет за собой появление различного рода ошибок и недочетов разработанного ПО.
В разработке ПО, помимо главной задачи реализовать функционал, существует не менее важная задача по контролю качество ПО. Для поиска возможных багов и обеспечение качества, одним из надежных способов проверки качества, является внедрение тестирования. Тестирование содержит в себе проверку всех процессов жизненного цикла программного обеспечения, для поиска и описания дефектов, оценки качества разрабатываемого продукта.
За последнее время в области тестировании программного обеспечения, было разработано большое количество практик и методологий для оптимизации процессов тестирования программного обеспечения и увеличения качества работы подразделений тестирования. Одним из популярных решений является внедрение автоматизированного программного обеспечения для проверки работоспособности разрабатываемого продукта.
В автоматизированном тестировании ПО, вся работа по подготовке тестовых данных, запуска и выполнения шагов для проверки качества во время тестирования осуществляется при помощи инструментов автоматизации тестирования, которые эмулируют поведения пользователя при его взаимодействии с пользовательским интерфейсом программы.
Актуальность темы обусловлена необходимостью автоматизировать тестирование пользовательского интерфейса, благодаря автоматизации которого увеличиться тестовое покрытие, будет сэкономлено время на тестирование старого функционала, сокращено время на обнаружения ошибок и ускориться время их исправления.
Цель работы заключается в разработке модуля автоматизированного тестирования пользовательского интерфейса.
Для достижения цели необходимо решить следующие задачи:
• исследовать автоматизированное тестирование;
• спроектировать модуль автоматизированного тестирования;
• реализовать модуль автоматизированного тестирования.
Объектом исследования выступает процесс тестирования веб-приложения компании в ООО «Гильдия ПРО».
Предметом исследования выступает автоматизация процесса тестирования пользовательского интерфейса веб-приложений.
Бакалаврская работа состоит из ведения, основной части (3 главы), заключения и списка используемой литературы.
В первой главе приведена технико-экономическая характеристика организации, разобрано понятие тестирования программного обеспечения, составлены преимущества и недостатки автоматизированного тестирования, разработана концептуальная модель тестирования, определены требования к разрабатываемому инструменту.
Во второй главе производится процесс проектирования. Выбираются технологии и инструменты для проектирования системы, производится моделирование системы тестирования, разрабатывается логическая и физическая модели данных.
В третьей главе произведен выбор технологий для разработки модуля автоматизированного тестирования, описан процесс разработки, представлен основной функционал и результаты тестирования разработанного модуля.
Задачей выпускной квалификационной работы было изучение тестирования веб-приложений, подготовка окружения для написания автоматизированных тестов и разработка панели управления для создания, анализа и поддержки автоматизированных тестов.
Для решения поставленных задач был проведен анализ предметной области автоматизированного тестирования, произведено концептуальное моделирование предметной области, спроектированы схемы тестирования IDEF0 «Как есть» и «Как должно быть», определены и поставлены задачи.
В ходе проектирования были выбраны технологии и инструменты для проектирования модуля автоматизированного тестирования, разработаны UML диаграммы вариантов использования тестирования, разработана логическая и физическая модели данных.
При разработке модуля автоматизированного тестирования были определенны используемые технологии, подготовлено рабочее окружения для написания автоматических тестов, разработано панель управления для запуска, создания и поддержки автоматических тестов. Произведено тестирование разработанной панели управления и предоставлены результаты.
Для внедрения полученных результатов в организацию необходимо решить ряд проблем, связанных с интеграцией с сервисами управления системой контроля версий, подготовки документации и обучению сотрудников.
Разработанный модуль имеет большой потенциал для дальнейшего развития. Могут быть продуманы алгоритмы решения задачи, улучшена система работы с данными, добавлены новые инструменты для тестирования и отчетности. Разработанная панель управление может быть расширена новыми видами статистики, параметрами запуска и интеграциями с различными сервисами управления проектами.
1. Глухова, Т.В. Способы и средства моделирования бизнес- процессов предприятия [Электронный ресурс] // Российский журнал менеджмента 2018. URL: https://cyberleninka.ru/article/n/sposoby-i-sredstva- modelirovaniya-biznes-protsessov-predpriyatiya (дата обращения: 24.07.2021).
2. Использование диаграммы вариантов использования UML при проектировании программного обеспечения. [Электронный ресурс] // URL. https://habr.com/ru/post/566218/ (дата обращения: 22.09.2021).
3. Кара-Ушанов В.Ю. Модель «Сущность связь» - Екатеринбург, 2017. - 63 c.
4. Котляров В.П. Основы тестирования программного обеспечения. Интернет-Университет Информационных Технологий (ИНТУИТ), 2016. - 334 c.
5. Куликов, С.С. Тестирование программного обеспечения - Минск «Четыре четверти», 2017. - 310 с.
6. Майерс Гленфорд, Баджетт Том. Искусство тестирования программ - Вильямс, 2020. - 272 с.
7. Марк Тиленс Томас. React в действии - Питер, 2019. - 368 c.
8. Методология моделирования бизнес-процессов. [Электронный ресурс] // URL. https://piter-soft.ru/knowledge/glossary/process/metodologiya- modelirovaniya-biznes-protsessov.htm (дата обращения: 30.06.2021).
9. Официальный сайт ReactJS с документацией на русском языке. [Электронный ресурс] // URL. https://ru.reactjs.org/ (дата обращения: 19.06.2021).
10. Серебрякова, Т. А. Тюриков, И. А. Сравнительный анализ case - средств [Электронный ресурс] // Colloquium-journal 2019. URL: https://cyberleninka.rU/article/n/sravnitelnyi-analiz-case-sredstv (дата обращения: 24.07.2021).
11. Терехов, А.Н. Платонова, М.В. Моделирование бизнес-процессов в цифровую эпоху [Электронный ресурс] // Российский журнал менеджмента 2019. URL: https://cyberleninka.ru/article/n/modelirovanie-biznes-protsessov-v- tsifrovuyu-epohu (дата обращения: 24.07.2021).
12. Цуканова О. А. Методология и инструментарий моделирования бизнес-процессов - Универститет ИТМО, 2015. - 100 с.
13. IDEF0. Знакомство с нотацией и пример использования. [Электронный ресурс] // URL. https://itnan.ru/post.php?c=1&p=322832 (дата обращения: 24.07.2021).
14. UI-автоматизация или почему стоит посмотреть в сторону JavaScript. [Электронный ресурс] // URL. https://dou.ua/lenta/articles/automation-js-frameworks/ (дата обращения: 24.09.2021).
15. Difference Between QA and QC. [Электронный ресурс] // URL. https://www.softwaretestinghelp.com/quality-assurance-vs-quality-control/ (дата обращения: 29.09.2021).
...