Автоматизация тестирования и мониторинга удаленных серверов с VPN-сервисом

Бесплатно
Работа доступна по лицензии Creative Commons:«Attribution» 4.0
Назимок, Павел Павлович Отделение информационных технологий (ОИТ)
Бесплатно
Работа доступна по лицензии Creative Commons:«Attribution» 4.0

В сравнении с традиционными методами ручного тестирования, автоматизированное тестирование позволяет существенно сократить расходы компаний, занимающихся разработкой программного обеспечения. Поэтому технологии автоматизации тестирования набирают всё большую популярность среди софтверных компаний.
Целью данной работы является автоматизация тестирования и мониторинга VPN-сервиса посредством разработки фреймворка для тестирования и мониторинга удалённых серверов на языке программирования Python, а также реализация тестов на языке программирования Java для тестирования пользовательского интерфейса мобильного Android-приложения для создания VPN-соединения.

Введение …………………………………………………………………………………………… 14
1 Анализ предметной области и постановка задач ……………………………….. 16
1.1 Описание предметной области ………………………………………………….. 16
1.2 Описание разрабатываемого компанией проекта …………………………. 16
1.3 Обоснование разработки в рамках магистерской диссертации ………. 19
1.3.1 Тестирование и мониторинг удалённых серверов …………………… 20
1.3.2 Тестирование SDK-приложения …………………………………………… 21
1.4 Формирование требований к разработке …………………………………….. 21
1.4.1 Тестирование и мониторинг удалённых серверов …………………… 21
1.4.2 Тестирование SDK-приложения …………………………………………… 22
1.5 Цель и задачи магистерской диссертации …………………………………… 23
2 Тестирование программного обеспечения………………………………………… 24
2.1 Понятие тестирования ……………………………………………………………… 24
2.2 Обеспечение качества………………………………………………………………. 25
2.3 Классификация тестирования ……………………………………………………. 27
2.3.1 Уровни тестирования ………………………………………………………….. 27
2.3.2 Виды тестирования …………………………………………………………….. 28
2.4 Автоматизация тестирования ……………………………………………………. 30
2.4.1 Понятие автоматизированного тестирования …………………………. 30
2.4.2 Применение автоматизированного тестирования ……………………. 32
2.4.3 Пирамида автоматизации тестирования ………………………………… 33
2.5 Инструменты для реализации автоматизированного тестирования … 35
2.5.1 Тестирование и мониторинг удалённых серверов …………………… 35
2.5.2 Тестирование SDK-приложения …………………………………………… 36
3 Особенности реализации ……………………………………………………………….. 42
3.1 Обоснование выбора инструментов и языков программирования ….. 42
3.1.1 Тестирование и мониторинг удалённых серверов …………………… 42
3.1.2 Тестирование SDK-приложения …………………………………………… 43
3.2 Реализация фреймворка для тестирования и мониторинга удалённых
серверов…………………………………………………………………………………………. 44
3.2.1 Параметризация запуска тестов в CircleCI …………………………….. 45
3.2.2 Тестовый сценарий …………………………………………………………….. 46
3.2.3 Параллельный запуск тестов на всех серверах ……………………….. 48
3.2.4 Обработка результатов тестирования ……………………………………. 49
3.2.5 Непрерывная интеграция …………………………………………………….. 51
3.2.6 Страница с результатами тестов в Grafana …………………………….. 52
3.3 Реализация тестирования пользовательского интерфейса SDK-
приложения ……………………………………………………………………………………. 53
3.3.1 Паттерн Testing Robots как аналог Page Object ……………………….. 55
3.3.2 Реализация класса MainRobot ………………………………………………. 56
3.3.3 Реализация тестов ………………………………………………………………. 59
3.3.4 Запуск тестов в Firebase Test Lab ………………………………………….. 60
3.4 Результаты ……………………………………………………………………………… 62
4 Финансовый менеджмент, ресурсоэффективность и ресурсосбережение 64
4.1 Введение ………………………………………………………………………………… 64
4.2 Предпроектный анализ …………………………………………………………….. 65
4.2.1 Потенциальные потребители результатов проекта ………………….. 65
4.2.2 Анализ конкурентных технических решений …………………………. 67
4.2.3 QuaD-анализ………………………………………………………………………. 69
4.2.4 Диаграмма Исикавы……………………………………………………………. 70
4.2.5 SWOT-анализ …………………………………………………………………….. 71
4.3 Инициация проекта………………………………………………………………….. 72
4.3.1 Цели и результат проекта…………………………………………………….. 73
4.3.2 Организационная структура проекта …………………………………….. 74
4.4 Определение возможных альтернатив разработки ……………………….. 74
4.5 Планирование научно-исследовательских работ………………………….. 75
4.5.1 Ограничения и допущения…………………………………………………… 75
4.5.2 Структура работ в рамках проекта………………………………………… 75
4.5.3 Определение трудоёмкости выполнения работ ………………………. 76
4.5.4 Бюджет научно-технического исследования ………………………….. 79
4.6 Определение ресурсной (ресурсосберегающей), финансовой,
бюджетной, социальной и экономической эффективности исследования .. 82
5 Социальная ответственность ………………………………………………………….. 85
5.1 Введение ………………………………………………………………………………… 85
5.2 Производственная безопасность………………………………………………… 85
5.2.1 Отклонение показателей микроклимата в помещении …………….. 86
5.2.2 Повышенный уровень шума на рабочем месте……………………….. 87
5.2.3 Недостаточная освещенность рабочей зоны …………………………… 88
5.2.4 Повышенный уровень электромагнитных полей …………………….. 88
5.2.5 Электрический ток……………………………………………………………… 89
5.3 Экологическая безопасность …………………………………………………….. 90
5.4 Безопасность в чрезвычайных ситуациях, общие правила поведения в
чрезвычайных ситуациях………………………………………………………………….. 90
5.5 Правовые и организационные вопросы обеспечения безопасности … 92
5.5.1 Правовые нормы трудового законодательства ……………………….. 92
5.5.2 Требования к организации и оборудованию рабочих мест……….. 92
Заключение ……………………………………………………………………………………….. 94
Список используемых источников ……………………………………………………….. 95
Приложение А …………………………………………………………………………………… 99
А1 Test automation ………………………………………………………………………. 100
А1.1 The meaning of test automation ……………………………………………….. 100
А2.1 The use of test automation ………………………………………………………. 101
А3.1 Automation testing pyramid ……………………………………………………. 102
А2 Test automation tools ……………………………………………………………….. 103
А1.2 Testing and monitoring of remote servers ………………………………….. 103
А2.2 Testing of SDK application …………………………………………………….. 104
References …………………………………………………………………………………….. 109

В настоящее время систематизированное тестирование —
неотъемлемый процесс в промышленной разработке ПО. Задача обеспечения
качества выпускаемой продукции является одной из наиболее важных в
индустрии информационных технологий.
В сравнении с традиционными методами ручного тестирования,
автоматизированное тестирование позволяет существенно сократить расходы
компаний, занимающихся разработкой ПО, путём экономии времени и
ресурсов, затрачиваемых на процесс тестирования, а также повысить качество
выпускаемого продукта [1]. Поэтому технологии автоматизации тестирования
набирают всё большую популярность среди софтверных компаний, что и
определяет актуальность темы магистерской диссертации.
VPN — технология создания безопасного сетевого соединения —
используется многими крупными компаниями и правительственными
органами для обеспечения безопасности внутренней сетевой инфраструктуры.
Кроме того, на сегодняшний день технология VPN популярна и среди рядовых
пользователей интернета в целях получения онлайн-конфиденциальности [2].
Для обеспечения непрерывной и качественной работы крупного VPN-
сервиса необходимо регулярное проведение тестирования как аппаратного
обеспечения, представляющего собой множество распределённых серверов,
так и программного обеспечения, позволяющего установить соответствующее
сетевое соединение. В частности, одной из разновидностей таких приложений
являются клиентские мобильные приложения, позволяющие пользователю
настроить VPN-соединение на своём смартфоне.
Целью данной работы является автоматизация тестирования и
мониторинга VPN-сервиса посредством разработки фреймворка для
тестирования и мониторинга удалённых серверов на языке программирования
Python, а также реализация тестов на языке программирования Java для
тестирования пользовательского интерфейса мобильного Android-
приложения для создания VPN-соединения.
Заказным проектом по разработке и поддержке описываемого VPN-
сервиса занимается компания ООО «Сибэдж». Практическая значимость
результата работы в рамках магистерской диссертации: разработанные
тестовые решения в настоящий момент используются в процессе тестирования
серверов VPN-сервиса и Android-приложения для создания VPN-соединения.
Их внедрение позволило сократить расходы компании на тестирование,
ускорить время разработки и улучшить качество программного продукта.

В процессе исследования был произведён анализ предметной области,
приведено обоснование необходимости реализации автоматизированного
тестирования, выполнен анализ подходов и средств реализации
автоматизированного тестирования.
В результате исследования был выбран подходящий способ реализации
решений для автоматизированного тестирования и мониторинга удалённых
серверов VPN-сервиса и для автоматизированного тестирования
пользовательского интерфейса SDK-приложения.
Для тестирования удалённых серверов VPN-сервиса был разработан
фреймворк на языке программирования Python, объединяющий в себе
параметризацию запуска тестов, реализацию тестовых сценариев, обработку и
экспорт результатов тестирования в систему сбора данных Prometheus. Для
визуализации и мониторинга результатов тестирования по одному из тестовых
сценариев была разработана статистическая страница в системе Grafana. Для
сборки и запуска тестов по расписанию была выполнена интеграция с
системой непрерывной интеграции CircleCI.
Для автоматизации регрессионного тестирования SDK-приложения
были реализованы автоматизированные тесты пользовательского интерфейса
на языке программирования Java. При реализации были использованы такие
инструменты, как Espresso, UI Automator, Barista, JUnit, паттерн
проектирования Testing Robots и сервис Firebase Test Lab.
Реализованные тестовые решения внедрены и используются в
процессах разработки и поддержки VPN-сервиса и сопутствующего
программного обеспечения в компании ООО «Сибэдж».
Автоматизация позволила снизить ресурсозатраты, повысить
эффективность и скорость выполнения процесса тестирования.

1.Новичков А., Панкратов В. Автоматизированное тестирование:
оценка возврата инвестиций и сопутствующие риски. — КомпьютерПресс,
2005. — №11. — С. 47-49.
2.Росляков А. Виртуальные частные сети VPN. Модели и методы
анализа. — LAP Lambert Academic Publishing, 2011. — С. 328.
3.ISTQB Exam Certification [Электронный ресурс]: «ISTQB Exam
Study Material». — Режим доступа: http://istqbexamcertification.com/ (дата
обращения: 01.05.2018).
4.International Organization for Standardization [Электронный ресурс]:
«ISO 9000:2015. Quality management systems — Fundamentals and vocabulary».
— Режим доступа: https://www.iso.org/standard/45481.html (дата обращения:
01.05.2018).
5.International Organization for Standardization [Электронный ресурс]:
«ISO/IEC 25000:2014. Systems and software engineering — Systems and software
Quality Requirements and Evaluation (SQuaRE) — Guide to SQuaRE». — Режим
доступа: https://www.iso.org/standard/64764.html (дата обращения: 02.05.2018).
6.Электронныйфондправовойинормативно-технической
документации [Электронный ресурс]: «ГОСТ Р ИСО/МЭК 12207-2010.
Информационная технология. Системная и программная инженерия.
Процессы жизненного цикла программных средств». — Режим доступа:
http://docs.cntd.ru/document/gost-r-iso-mek-12207-2010(датаобращения:
03.05.2018).
7.International Organization for Standardization [Электронный ресурс]:
«ISO/IEC TR 19759:2015. Software Engineering — Guide to the software
engineeringbodyofknowledge(SWEBOK)».—Режимдоступа:
https://www.iso.org/standard/64764.html (дата обращения: 03.05.2018).
8.Савин Р. tестирование dot com или Пособие по жестокому
обращению с багами в интернет-стартапах. — М.: Издательство «Дело», 2007.
— 312 с.
9.ЛизаКриспин,ДжанетГрегори.Гибкоетестирование:
практическое руководство для тестировщиков ПО и гибких команд. — М.:
«Вильямс», 2010. — 464 с.
10. Про Тестинг [Электронный ресурс]: «Автоматизированное
тестирование программного обеспечения — основные понятия». — Режим
доступа: http://www.protesting.ru/automation/ (дата обращения: 04.05.2018).
11. Куликов С. Тестирование программного обеспечения. Базовый
курс. — Минск: «Четыре четверти», 2015. — 293 с.
12. Майк Кон. Scrum. Гибкая разработка ПО. — М.: «Вильямс», 2011.
— 576 с.
13. SibEDGE. Качественное программное обеспечение [Электронный
ресурс]. — Режим доступа: http://sibedge.com/ru (дата обращения: 20.03.2018).
14. Хабрахабр. Блогкомпании Badoo [Электронный ресурс]:
«Путеводитель по инструментам автотестирования мобильных приложений».
— Режим доступа: https://habr.com/company/badoo/blog/347986/#selendroid
_robotium (дата обращения: 10.03.2018).
15. Appium. Automation for Apps [Электронный ресурс]. — Режим
доступа: http://appium.io/ (дата обращения: 10.03.2018).
16. Calabash.Automatedacceptancetestingformobileapps
[Электронный ресурс]. — Режим доступа: https://calaba.sh/ (дата обращения:
10.03.2018).
17. Android Developers. Test apps on Android [Электронный ресурс]. —
Режим доступа: https://developer.android.com/training/testing/ (дата обращения:
10.03.2018).
18. Анмеш Гандеча. Selenium Testing Tools Cookbook. — Packt
Publishing, 2012. — 326 с.
19. Марк Саммерфилд. Python на практике. — М.: ДМК Пресс, 2014.
— 338 с.
20. CircleCI: Continuous Integration and Delivery [Электронный ресурс].
— Режим доступа: https://circleci.com/docs/2.0/ (дата обращения: 01.02.2018).
21. Python Documentation [Электронный ресурс]: «argparse — Parser
for command-line options, arguments and sub-commands». — Режим доступа:
https://docs.python.org/3/library/argparse.html (дата обращения: 01.02.2018).
22. GitHub [Электронный ресурс]: «ParallelSSH». — Режим доступа:
https://github.com/ParallelSSH/parallel-ssh (дата обращения: 01.02.2018).
23. Prometheus: Monitoring system & time series database [Электронный
ресурс]. — Режим доступа: https://prometheus.io/docs/introduction/overview/
(дата обращения: 01.02.2018).
24. GitHub[Электронныйресурс]:«client_python.Prometheus
instrumentationlibraryforPython applications».—Режимдоступа:
https://github.com/prometheus/client_python(датаобращения: 01.02.2018).
[Электронный ресурс]. —Режимдоступа: https://circleci.com/(дата
обращения: 01.02.2018).
25. Grafana:The open platformfor analyticsandmonitoring
[Электронный ресурс]. — Режим доступа: http://docs.grafana.org/ (дата
обращения: 01.02.2018).
26. Jake Wharton [Электронный ресурс]: «Testing Robots». — Режим
доступа: https://jakewharton.com/testing-robots/ (дата обращения: 05.02.2018).
27. GitHub [Электронный ресурс]: «Barista». — Режим доступа:
https://github.com/SchibstedSpain/Barista (дата обращения: 07.02.2018).
28. JUnit[Электронныйресурс].—Режимдоступа:
https://junit.org/junit4/ (дата обращения: 01.02.2018).
29. Frebase Test Lab [Электронный ресурс]. — Режим доступа:
https://firebase.google.com/docs/test-lab/ (дата обращения: 01.02.2018).
30. Издательство «Открытые системы» [Электронный ресурс]:
«Средстваавтоматизированноготестирования».Режимдоступа:
https://www.osp.ru/os/2009/03/8161608/ (дата обращения: 03.09.2017).
31. IBM [Электронный ресурс]: «Rational Functional Tester». Режим
доступа: https://www.ibm.com/us-en/marketplace/rational-functional-tester (дата
обращения: 03.09.2017).
32. AutoIt [Электронный ресурс]: «AutoIt Scripting Language». Режим
доступа: https://www.autoitscript.com/site/autoit/ (дата обращения: 03.09.2017).
33. СанПиН2.2.2/2.4.1340-03.Санитарно-эпидемиологические
правила и нормативы. Гигиенические требования к персональным электронно-
вычислительным машинам и организации работы.
34. СанПиН 2.2.4.548-96. Гигиенические требования к микроклимату
производственных помещений.
35. СанПиН2.2.4.1191-03.Электромагнитныеполяв
производственных условиях.
36. СанПиН 2.2.4/2.1.8.562-96. Шум на рабочих местах, в помещениях
жилых, общественных зданий и на территории застройки.
37. ГОСТ 12.2.032-78. Рабочее место при выполнении работ сидя.
Общие эргономические требования.
38. Постановление правительства РФ №340. О порядке установления
требований к программам в области энергосбережения и повышения
энергетической эффективности организаций, осуществляющих регулируемые
виды деятельности».
39. ГОСТ Р 12.1.009-2009 Система стандартов безопасности труда
(ССБТ). Электробезопасность. Термины и определения.
40. ГОСТ 12.1.038-82 Система стандартов безопасности труда
(ССБТ). Электробезопасность. Предельно допустимые значения напряжений
прикосновения и токов.

Заказать новую

Лучшие эксперты сервиса ждут твоего задания

от 5 000 ₽

Не подошла эта работа?
Закажи новую работу, сделанную по твоим требованиям

    Нажимая на кнопку, я соглашаюсь на обработку персональных данных и с правилами пользования Платформой

    Читать «Автоматизация тестирования и мониторинга удаленных серверов с VPN-сервисом»

    Последние выполненные заказы

    Хочешь уникальную работу?

    Больше 3 000 экспертов уже готовы начать работу над твоим проектом!

    Егор В. кандидат наук, доцент
    5 (428 отзывов)
    Здравствуйте. Занимаюсь выполнением работ более 14 лет. Очень большой опыт. Более 400 успешно защищенных дипломов и диссертаций. Берусь только со 100% уверенностью. Ск... Читать все
    Здравствуйте. Занимаюсь выполнением работ более 14 лет. Очень большой опыт. Более 400 успешно защищенных дипломов и диссертаций. Берусь только со 100% уверенностью. Скорее всего Ваш заказ будет выполнен раньше срока.
    #Кандидатские #Магистерские
    694 Выполненных работы
    Глеб С. преподаватель, кандидат наук, доцент
    5 (158 отзывов)
    Стаж педагогической деятельности в вузах Москвы 15 лет, автор свыше 140 публикаций (РИНЦ, ВАК). Большой опыт в подготовке дипломных проектов и диссертаций по научной с... Читать все
    Стаж педагогической деятельности в вузах Москвы 15 лет, автор свыше 140 публикаций (РИНЦ, ВАК). Большой опыт в подготовке дипломных проектов и диссертаций по научной специальности 12.00.14 административное право, административный процесс.
    #Кандидатские #Магистерские
    216 Выполненных работ
    Яна К. ТюмГУ 2004, ГМУ, выпускник
    5 (8 отзывов)
    Помощь в написании магистерских диссертаций, курсовых, контрольных работ, рефератов, статей, повышение уникальности текста(ручной рерайт), качественно и в срок, в соот... Читать все
    Помощь в написании магистерских диссертаций, курсовых, контрольных работ, рефератов, статей, повышение уникальности текста(ручной рерайт), качественно и в срок, в соответствии с Вашими требованиями.
    #Кандидатские #Магистерские
    12 Выполненных работ
    Екатерина П. студент
    5 (18 отзывов)
    Работы пишу исключительно сама на основании действующих нормативных правовых актов, монографий, канд. и докт. диссертаций, авторефератов, научных статей. Дополнительно... Читать все
    Работы пишу исключительно сама на основании действующих нормативных правовых актов, монографий, канд. и докт. диссертаций, авторефератов, научных статей. Дополнительно занимаюсь английским языком, уровень владения - Upper-Intermediate.
    #Кандидатские #Магистерские
    39 Выполненных работ
    Антон П. преподаватель, доцент
    4.8 (1033 отзыва)
    Занимаюсь написанием студенческих работ (дипломные работы, маг. диссертации). Участник международных конференций (экономика/менеджмент/юриспруденция). Постоянно публик... Читать все
    Занимаюсь написанием студенческих работ (дипломные работы, маг. диссертации). Участник международных конференций (экономика/менеджмент/юриспруденция). Постоянно публикуюсь, имею высокий индекс цитирования. Спикер.
    #Кандидатские #Магистерские
    1386 Выполненных работ
    Шагали Е. УрГЭУ 2007, Экономика, преподаватель
    4.4 (59 отзывов)
    Серьезно отношусь к тренировке собственного интеллекта, поэтому постоянно учусь сама и с удовольствием пишу для других. За 15 лет работы выполнила более 600 дипломов и... Читать все
    Серьезно отношусь к тренировке собственного интеллекта, поэтому постоянно учусь сама и с удовольствием пишу для других. За 15 лет работы выполнила более 600 дипломов и диссертаций, Есть любимые темы - они дешевле обойдутся, ибо в радость)
    #Кандидатские #Магистерские
    76 Выполненных работ
    Олег Н. Томский политехнический университет 2000, Инженерно-эконо...
    4.7 (96 отзывов)
    Здравствуйте! Опыт написания работ более 12 лет. За это время были успешно защищены более 2 500 написанных мною магистерских диссертаций, дипломов, курсовых работ. Явл... Читать все
    Здравствуйте! Опыт написания работ более 12 лет. За это время были успешно защищены более 2 500 написанных мною магистерских диссертаций, дипломов, курсовых работ. Являюсь действующим преподавателем одного из ВУЗов.
    #Кандидатские #Магистерские
    177 Выполненных работ
    Дарья Б. МГУ 2017, Журналистики, выпускник
    4.9 (35 отзывов)
    Привет! Меня зовут Даша, я окончила журфак МГУ с красным дипломом, защитила магистерскую диссертацию на филфаке. Работала журналистом, PR-менеджером в международных ко... Читать все
    Привет! Меня зовут Даша, я окончила журфак МГУ с красным дипломом, защитила магистерскую диссертацию на филфаке. Работала журналистом, PR-менеджером в международных компаниях, сейчас работаю редактором. Готова помогать вам с учёбой!
    #Кандидатские #Магистерские
    50 Выполненных работ
    Елена С. Таганрогский институт управления и экономики Таганрогский...
    4.4 (93 отзыва)
    Высшее юридическое образование, красный диплом. Более 5 лет стажа работы в суде общей юрисдикции, большой стаж в написании студенческих работ. Специализируюсь на напис... Читать все
    Высшее юридическое образование, красный диплом. Более 5 лет стажа работы в суде общей юрисдикции, большой стаж в написании студенческих работ. Специализируюсь на написании курсовых и дипломных работ, а также диссертационных исследований.
    #Кандидатские #Магистерские
    158 Выполненных работ

    Другие учебные работы по предмету

    Модернизация системы автоматизации АСУ ТП АО «Farg’onaazot»
    📅 2020 год
    🏢 Национальный исследовательский Томский политехнический университет (ТПУ)
    Интеграционный сервис передачи данных между АСУ ТП и MES
    📅 2018 год
    🏢 Национальный исследовательский Томский политехнический университет (ТПУ)
    Методы сегментации новообразований головного мозга
    📅 2020 год
    🏢 Национальный исследовательский Томский политехнический университет (ТПУ)