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

Назимок, Павел Павлович Отделение информационных технологий (ОИТ)
Бесплатно
В избранное
Работа доступна по лицензии 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 ₽

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

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

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

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

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

    Рима С.
    5 (18 отзывов)
    Берусь за решение юридических задач, за написание серьезных научных статей, магистерских диссертаций и дипломных работ. Окончила Кемеровский государственный универси... Читать все
    Берусь за решение юридических задач, за написание серьезных научных статей, магистерских диссертаций и дипломных работ. Окончила Кемеровский государственный университет, являюсь бакалавром, магистром юриспруденции (с отличием)
    #Кандидатские #Магистерские
    38 Выполненных работ
    Елена Л. РЭУ им. Г. В. Плеханова 2009, Управления и коммерции, пре...
    4.8 (211 отзывов)
    Работа пишется на основе учебников и научных статей, диссертаций, данных официальной статистики. Все источники актуальные за последние 3-5 лет.Активно и уместно исполь... Читать все
    Работа пишется на основе учебников и научных статей, диссертаций, данных официальной статистики. Все источники актуальные за последние 3-5 лет.Активно и уместно использую в работе графический материал (графики рисунки, диаграммы) и таблицы.
    #Кандидатские #Магистерские
    362 Выполненных работы
    Анна В. Инжэкон, студент, кандидат наук
    5 (21 отзыв)
    Выполняю работы по экономическим дисциплинам. Маркетинг, менеджмент, управление персоналом. управление проектами. Есть опыт написания магистерских и кандидатских диссе... Читать все
    Выполняю работы по экономическим дисциплинам. Маркетинг, менеджмент, управление персоналом. управление проектами. Есть опыт написания магистерских и кандидатских диссертаций. Работала в маркетинге. Практикующий бизнес-консультант.
    #Кандидатские #Магистерские
    31 Выполненная работа
    Екатерина Б. кандидат наук, доцент
    5 (174 отзыва)
    После окончания института работала экономистом в системе государственных финансов. С 1988 года на преподавательской работе. Защитила кандидатскую диссертацию. Преподав... Читать все
    После окончания института работала экономистом в системе государственных финансов. С 1988 года на преподавательской работе. Защитила кандидатскую диссертацию. Преподавала учебные дисциплины: Бюджетная система Украины, Статистика.
    #Кандидатские #Магистерские
    300 Выполненных работ
    Дарья С. Томский государственный университет 2010, Юридический, в...
    4.8 (13 отзывов)
    Практикую гражданское, семейное право. Преподаю указанные дисциплины в ВУЗе. Выполняла работы на заказ в течение двух лет. Обучалась в аспирантуре, подготовила диссерт... Читать все
    Практикую гражданское, семейное право. Преподаю указанные дисциплины в ВУЗе. Выполняла работы на заказ в течение двух лет. Обучалась в аспирантуре, подготовила диссертационное исследование, которое сейчас находится на рассмотрении в совете.
    #Кандидатские #Магистерские
    18 Выполненных работ
    Дмитрий Л. КНЭУ 2015, Экономики и управления, выпускник
    4.8 (2878 отзывов)
    Занимаю 1 место в рейтинге исполнителей по категориям работ "Научные статьи" и "Эссе". Пишу дипломные работы и магистерские диссертации.
    Занимаю 1 место в рейтинге исполнителей по категориям работ "Научные статьи" и "Эссе". Пишу дипломные работы и магистерские диссертации.
    #Кандидатские #Магистерские
    5125 Выполненных работ
    Евгения Р.
    5 (188 отзывов)
    Мой опыт в написании работ - 9 лет. Я специализируюсь на написании курсовых работ, ВКР и магистерских диссертаций, также пишу научные статьи, провожу исследования и со... Читать все
    Мой опыт в написании работ - 9 лет. Я специализируюсь на написании курсовых работ, ВКР и магистерских диссертаций, также пишу научные статьи, провожу исследования и создаю красивые презентации. Сопровождаю работы до сдачи, на связи 24/7 ?
    #Кандидатские #Магистерские
    359 Выполненных работ
    Логик Ф. кандидат наук, доцент
    4.9 (826 отзывов)
    Я - кандидат философских наук, доцент кафедры философии СГЮА. Занимаюсь написанием различного рода работ (научные статьи, курсовые, дипломные работы, магистерские дисс... Читать все
    Я - кандидат философских наук, доцент кафедры философии СГЮА. Занимаюсь написанием различного рода работ (научные статьи, курсовые, дипломные работы, магистерские диссертации, рефераты, контрольные) уже много лет. Качество работ гарантирую.
    #Кандидатские #Магистерские
    1486 Выполненных работ
    Петр П. кандидат наук
    4.2 (25 отзывов)
    Выполняю различные работы на заказ с 2014 года. В основном, курсовые проекты, дипломные и выпускные квалификационные работы бакалавриата, специалитета. Имею опыт напис... Читать все
    Выполняю различные работы на заказ с 2014 года. В основном, курсовые проекты, дипломные и выпускные квалификационные работы бакалавриата, специалитета. Имею опыт написания магистерских диссертаций. Направление - связь, телекоммуникации, информационная безопасность, информационные технологии, экономика. Пишу научные статьи уровня ВАК и РИНЦ. Работаю техническим директором интернет-провайдера, имею опыт работы ведущим сотрудником отдела информационной безопасности филиала одного из крупнейших банков. Образование - высшее профессиональное (в 2006 году окончил военную Академию связи в г. Санкт-Петербурге), послевузовское профессиональное (в 2018 году окончил аспирантуру Уральского федерального университета). Защитил диссертацию на соискание степени "кандидат технических наук" в 2020 году. В качестве хобби преподаю. Дисциплины - сети ЭВМ и телекоммуникации, информационная безопасность объектов критической информационной инфраструктуры.
    #Кандидатские #Магистерские
    33 Выполненных работы

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

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