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


Автоматизация тестирования личного кабинета смс-центра

Работа №153521

Тип работы

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

Предмет

информатика

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

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


Введение 4
1 Анализ задания 7
1.1 Сравнение ручного тестирования и автоматизированного 7
1.2 Проблемы, возникающие при автоматизации тестирования современных
веб приложений 9
1.4 Требования к автоматизированным тестам 10
1.5 Выводы по главе 28
2 Проектирование 29
2.1 Выбор уровня функционального тестирования 29
2.1.1 Модульные тесты 30
2.1.2 Интеграционные тесты 31
2.1.3 Сквозные тесты 32
2.1.4 Конечный выбор 33
2.2 Выбор фреймворка автоматизации 33
2.2.1 Selenium-webdriver 34
2.2.2 Puppeteer 35
2.2.3 Cypress 36
2.2.4 Playwright 40
2.2.5 Конечный выбор 41
2.3 Выбор фреймворка для сервера заглушки 41
2.4 Выбор сервиса для сбора отчетов 42
2.5 Проектирование Gitlab CI конвейера 43
2.6 Выводы по главе 45
3 Программная реализация 46
3.1 Gitlab CI конвейер 46
3.2 Доска отчетов Sorry-cypress 48
3.3 Описание файловой структуры 51
3.3.1 Cypress 51
3.3.2 mocks-server 52
3.4 Тестовые сценарии 52
3.5 Настройка дополнительных плагинов 54
3.5.1 Плагин для сбора лога исполняемых тестовых команд 54
3.5.2 Плагин для сбора лога сетевых запросов 55
3.5.3 Покрытие кода тестами 55
3.6 Документация 57
3.7 Выводы по главе 57
4 Результаты внедрения автоматизации 59
4.1 Время до обнаружения дефекта с момента внесения изменений в код .... 59
4.2 Время выполнения тестов 60
4.3 Сложность тестирования 61
4.4 Вывод по главе 61
Заключение 63
Список использованных источников 65
ПРИЛОЖЕНИЕ А 69
ПРИЛОЖЕНИЕ Б 70
ПРИЛОЖЕНИЕ В 74

Актуальность выбранной темы дипломной работы состоит в том, что тестирование веб приложений является неотъемлемой частью современной веб работки. Несмотря на то, что ручное тестирование является популярным и доступным решением, оно имеет ряд недостатков, когда применяется к крупным и часто изменяющимся проектам. Тестирование веб приложений зачастую состоит из повторяющихся сценариев, исполняемых ручным тестировщиком при добавлении нового функционала или изменении старого.
В целях оптимизации расходов и ускорения разработки компании часто прибегают к попыткам автоматизировать тестирование веб приложений. Однако это не всегда удавалось из-за слишком больших издержек, обусловленных сложностью современных веб приложений и отсутствием проверенных инструментов, прямо специализированных на автоматизации тестирования современных веб приложений с учетом их специфики.
За последние 6 лет данная ситуация значительно улучшилось с выходом таких популярных фреймворков автоматизации тестирования веб приложений как cypress и playwright, пришедшим на замену инструментам автоматизации общего назначения вроде selenium и puppeteer.
Целью исследования является ускорение процесса тестирования и повышение качества разработки личного кабинета смс-центра за счет автоматизации процесса тестирования.
Для достижения цели требуется решить следующие задачи:
• сравнить преимущества и недостатки ручного и автоматизированного тестирования;
• описать проблемы автоматизации тестирования современных веб приложений;
• обозначить требования к реализации автоматизации тестирования;
• проанализировать структуру клиентской части тестируемого веб приложения и обозначить тестовые ситуации подлежащие автоматизации ;
• выбрать подходящие инструменты для автоматизации тестирования веб приложений;
• написать автоматические тестовые сценарии;
• настроить непрерывную интеграцию в Gitlab CI ;
• проанализировать получившийся результат.
Объектом исследования данной работы является автоматизация тестирования веб приложений.
Предметом исследования является автоматизация тестирования личного кабинета смс-центра - продукта компании ООО «Связьком». Личный кабинет смс-центра — это большое современное приложение, состоящее из более чем 40 веб страниц. Полное ручное тестирование данного приложения занимает более недели. Тестовые сценарии состоят преимущественно из базовых действий над данными вроде создания, чтения, изменения и удаления данных посредством пользовательского интерфейса веб приложения.
Теоретическая значимость работы состоит в возможности использования результатов выполнения первой, второй и четвертой глав для выполнения исследований, связанных с автоматизацией тестирования веб приложений.
Практическая значимость дипломной работы заключается в том, что разработанный подход к автоматизации тестирования веб приложения успешно внедрен в компании ООО «Связьком». Внедрение разработанного подхода позволило уменьшить нагрузку на отдел тестирования, уменьшить время обратной связи после внесения правок в существующий код и количество дефектов в приложении. Это позволило уменьшить расходы на разработку и тестирование, а также улучшить качество разрабатываемого приложения.
Структура работы включает в себя следующие основные элементы: введение, основную часть из 4-х глав, заключение, список использованных источников, приложения.
В первой главе производится анализ задания. Сравниваются достоинства и недостатки ручного тестирования против автоматизированного, производится анализ тестируемого веб приложения и определяются требования к автоматизированным тестам.
Во второй главе производится проектирование архитектуры для внедрения автоматизации тестирования веб приложения. Сравниваются различные уровни функционального тестирования и фреймворки для автоматизации тестирования веб приложений. Проектируется интеграция автоматических тестов с системой контроля версий.
В третьей главе описываются примененные в ходе реализации проекта инструменты автоматизации тестирования.
В четвертой главе производится анализ результатов внедрения автоматизации тестирования в личном кабинете смс-центра.

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

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

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


Рассмотрим результаты исследования, целью которого являлось ускорение процесса тестирования и повышение качества разработки личного кабинета смс- центра за счет автоматизации процесса тестирования.
Были раскрыты достоинства и недостатки ручного и автоматизированного тестирования, а также проблемы автоматизированного тестирования современных веб приложений. Было установлено, что в современном мире разработки автоматизация тестирования является не заменой ручному тестированию, а необходимым дополнением.
Был произведен анализ тестируемого приложения и установлены требования к автоматизации тестирования.
Был произведен подробный сравнительный анализ различных уровней функционального тестирования. Было установлено, что для автоматизации тестирования личного кабинета смс-центра на текущем этапе больше всего подходят сквозные (end-to-end) тесты т.к. они позволят достичь наиболее надежного и эффективного способа тестирования приложения с наименьшими затратами на разработку и последующее поддержание.
Был произведен подробный сравнительный анализ различных инструментов для автоматизации сквозного тестирования. В процессе анализа было установлено, что при использовании некоторых современных инструментов, специализированных на автоматизации тестирования современных веб приложений, многие ранее известные проблемы стали более не релевантными.
Был спроектирован и реализован оптимальный, масштабируемый Gitlab CI конвейер для автоматического запуска тестов при изменениях в удалённом репозитории с кодом. Подобная архитектура позволит в будущем запускать тысячи тестов и получать отчет в течение часа.
Получившаяся программная реализация отвечает всем установленным требованиям, а также обеспечивает простоту в написании и отладке автоматизированных тестовых сценариев.
В конце были проанализированы результаты внедрения автоматизации тестирования. Было установлено, что автоматизация тестирования личного кабинета смс-центра действительно позволила ускорить процесс тестирования и качество разработки программного продукта за счет многократного сокращения времени от внесения правок до обнаружения дефекта с нескольких дней до 1 часа а, также сократить время необходимое на выполнение тестов на 98%. Однако было установлено, что автоматизация тестирования имеет смысл только для сценариев, которые подразумевается запускать более чем 6 раз для опытного автоматизатора и более чем 10 раз для неопытного.
Результат внедрения оценивается как положительный и принято решение продолжать развивать данный проект. В качестве развития проекта можно привлечь больше людей к написанию автоматических тестов, увеличить количество тестов в личном кабинете смс-центра или внедрить данный подход в других проектах.


1 SMSC. Система коротких сообщений. Современный и надёжный
аппаратно-программный комплекс с кластерной, отказоустойчивой структурой и высокой пропускной способностью : сайт. - URL:
https://www.svyazcom.ru/smsc (дата обращения: 21.12.2022).
2 Gitlab. Веб-инструмент жизненного цикла DevOps с открытым
исходным кодом, представляющий систему управления репозиториями кода для Git с собственной вики, системой отслеживания ошибок, CI/CD конвейером и другими функциями : сайт. - URL: https://about.gitlab.com/ (дата обращения: 22.12.2022).
3 Vue.js. Прогрессивный javascript фреймворк. Доступная,
производительная и универсальная платформа для создания пользовательских интерфейсов : сайт. - URL: https://vuejs.org/ (дата обращения: 25.12.2022).
4 Vuetify.js. Фреймворк vue компонентов . Vuetify — это фреймворк
пользовательского интерфейса, не требующий навыков проектирования, с красиво созданными вручную компонентами Vue : сайт. - URL:
https://vuetifyjs.com (дата обращения: 26.12.2022).
5 Vuex. Vuex — это шаблон управления состоянием + библиотека для приложений Vue.js. Он служит централизованным хранилищем для всех компонентов приложения с правилами, гарантирующими, что состояние может изменяться только предсказуемым образом : сайт. - URL: https://vuex.vuejs.org/ (дата обращения: 26.12.2022).
6 VeeValidate. Безболезненные vue формы. VeeValidate самый популярный фреймворк форм для Vue.js. Он решает проблемы отслеживания значений, валидации, отображения ошибок и прочее : сайт. - URL: https://vee- validate.logaretm.com/v4/ (дата обращения: 26.12.2022).
7 Google Chrome. Браузер, разрабатываемый компанией Google на основе свободного браузера Chromium и движка Blink : сайт. - URL: https://www.google.com/chrome/ (дата обращения: 23.12.2022).
8 Mozilla Firefox. Свободный браузер на движке Quantum, разработкой и распространением которого занимается Mozilla Corporation : сайт. - URL: https://www. mozilla. org/en-US/firefox/new/ (дата обращения: 24.12.2022).
9 Тренды пакетного менеджера NPM. Сравнение популярности cypress,
playwright, protractor, puppeteer и selenium-webdriver : сайт. - URL:
https://npmtrends.com/cypress-vs-playwright-vs-protractor-vs-puppeteer-vs- selenium-webdriver (дата обращения 26.12.2022).
10 Selenium WebDriver. Selenium автоматизирует браузеры. На этом всё! Что делать с этой силой решать вам. : сайт. - URL: https://www.selenium.dev (дата обращения 27.03.2023).
11 Puppeteer. Puppeteer это node.js библиотека которая предоставляет высокоуровневое API для контролирования браузеров Chrome/Chromium через DevTools протокол : сайт. - URL: https://pptr.dev (дата обращения 27.03.2023).
12 Cypress. Веб эволюционировал. Наконец, тестирование тоже. Быстрое, простое и надежное тестирование для всего, что запускается в браузере : сайт. - URL: https://www.cypress.io/ (дата обращения: 26.12.2022).
13 Playwright. Playwright помогает внедрить надёжное сквозное (end-to- end) тестирование для современных веб приложений : сайт. - URL: https://playwright.dev (дата обращения 27.03.2023).
14 Сравнение скорости работы cypress, selenium, playwright и puppeteer : сайт. - URL: https: //www. checklyhq. com/blog/cypress -vs-selenium-vs-playwri ght- vs-puppeteer-speed-comparison (Дата обращения 27.03.2023).
15 Сравнение Cypress и Playwright: пусть код говорит : сайт - URL: https://applitools.com/blog/cypress-vs-playwright/ (дата обращения 27.03.2023).
... всего 28 источников


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




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