Автоматизация тестирования и мониторинга удаленных серверов с 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 (8 отзывов)
    Работаю в сфере метрологического обеспечения. Защищаю кандидатскую диссертацию. Основной профиль: Метрология, стандартизация и сертификация. Оптико-электронное прибост... Читать все
    Работаю в сфере метрологического обеспечения. Защищаю кандидатскую диссертацию. Основной профиль: Метрология, стандартизация и сертификация. Оптико-электронное прибостроение, управление качеством
    #Кандидатские #Магистерские
    10 Выполненных работ
    Олег Н. Томский политехнический университет 2000, Инженерно-эконо...
    4.7 (96 отзывов)
    Здравствуйте! Опыт написания работ более 12 лет. За это время были успешно защищены более 2 500 написанных мною магистерских диссертаций, дипломов, курсовых работ. Явл... Читать все
    Здравствуйте! Опыт написания работ более 12 лет. За это время были успешно защищены более 2 500 написанных мною магистерских диссертаций, дипломов, курсовых работ. Являюсь действующим преподавателем одного из ВУЗов.
    #Кандидатские #Магистерские
    177 Выполненных работ
    Виктор В. Смоленская государственная медицинская академия 1997, Леч...
    4.7 (46 отзывов)
    Имеют опыт грамотного написания диссертационных работ по медицине, а также отдельных ее частей (литературный обзор, цели и задачи исследования, материалы и методы, выв... Читать все
    Имеют опыт грамотного написания диссертационных работ по медицине, а также отдельных ее частей (литературный обзор, цели и задачи исследования, материалы и методы, выводы).Пишу статьи в РИНЦ, ВАК.Оформление патентов от идеи до регистрации.
    #Кандидатские #Магистерские
    100 Выполненных работ
    Дмитрий М. БГАТУ 2001, электрификации, выпускник
    4.8 (17 отзывов)
    Помогаю с выполнением курсовых проектов и контрольных работ по электроснабжению, электроосвещению, электрическим машинам, электротехнике. Занимался наукой, писал стать... Читать все
    Помогаю с выполнением курсовых проектов и контрольных работ по электроснабжению, электроосвещению, электрическим машинам, электротехнике. Занимался наукой, писал статьи, патенты, кандидатскую диссертацию, преподавал. Занимаюсь этим с 2003.
    #Кандидатские #Магистерские
    19 Выполненных работ
    Яна К. ТюмГУ 2004, ГМУ, выпускник
    5 (8 отзывов)
    Помощь в написании магистерских диссертаций, курсовых, контрольных работ, рефератов, статей, повышение уникальности текста(ручной рерайт), качественно и в срок, в соот... Читать все
    Помощь в написании магистерских диссертаций, курсовых, контрольных работ, рефератов, статей, повышение уникальности текста(ручной рерайт), качественно и в срок, в соответствии с Вашими требованиями.
    #Кандидатские #Магистерские
    12 Выполненных работ
    Татьяна С. кандидат наук
    4.9 (298 отзывов)
    Большой опыт работы. Кандидаты химических, биологических, технических, экономических, юридических, философских наук. Участие в НИОКР, Только актуальная литература (пос... Читать все
    Большой опыт работы. Кандидаты химических, биологических, технических, экономических, юридических, философских наук. Участие в НИОКР, Только актуальная литература (поставки напрямую с издательств), доступ к библиотеке диссертаций РГБ
    #Кандидатские #Магистерские
    551 Выполненная работа
    Дмитрий Л. КНЭУ 2015, Экономики и управления, выпускник
    4.8 (2878 отзывов)
    Занимаю 1 место в рейтинге исполнителей по категориям работ "Научные статьи" и "Эссе". Пишу дипломные работы и магистерские диссертации.
    Занимаю 1 место в рейтинге исполнителей по категориям работ "Научные статьи" и "Эссе". Пишу дипломные работы и магистерские диссертации.
    #Кандидатские #Магистерские
    5125 Выполненных работ
    Логик Ф. кандидат наук, доцент
    4.9 (826 отзывов)
    Я - кандидат философских наук, доцент кафедры философии СГЮА. Занимаюсь написанием различного рода работ (научные статьи, курсовые, дипломные работы, магистерские дисс... Читать все
    Я - кандидат философских наук, доцент кафедры философии СГЮА. Занимаюсь написанием различного рода работ (научные статьи, курсовые, дипломные работы, магистерские диссертации, рефераты, контрольные) уже много лет. Качество работ гарантирую.
    #Кандидатские #Магистерские
    1486 Выполненных работ
    Евгений А. доктор, профессор
    5 (154 отзыва)
    Более 40 лет занимаюсь преподавательской деятельностью. Специалист в области философии, логики и социальной работы. Кандидатская диссертация - по логике, докторская - ... Читать все
    Более 40 лет занимаюсь преподавательской деятельностью. Специалист в области философии, логики и социальной работы. Кандидатская диссертация - по логике, докторская - по социальной работе.
    #Кандидатские #Магистерские
    260 Выполненных работ

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

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