Автоматизация тестирования и мониторинга удаленных серверов с 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 экспертов уже готовы начать работу над твоим проектом!

    Дмитрий Л. КНЭУ 2015, Экономики и управления, выпускник
    4.8 (2878 отзывов)
    Занимаю 1 место в рейтинге исполнителей по категориям работ "Научные статьи" и "Эссе". Пишу дипломные работы и магистерские диссертации.
    Занимаю 1 место в рейтинге исполнителей по категориям работ "Научные статьи" и "Эссе". Пишу дипломные работы и магистерские диссертации.
    #Кандидатские #Магистерские
    5125 Выполненных работ
    Анна Александровна Б. Воронежский государственный университет инженерных технол...
    4.8 (30 отзывов)
    Окончила магистратуру Воронежского государственного университета в 2009 г. В 2014 г. защитила кандидатскую диссертацию. С 2010 г. преподаю в Воронежском государственно... Читать все
    Окончила магистратуру Воронежского государственного университета в 2009 г. В 2014 г. защитила кандидатскую диссертацию. С 2010 г. преподаю в Воронежском государственном университете инженерных технологий.
    #Кандидатские #Магистерские
    66 Выполненных работ
    Мария А. кандидат наук
    4.7 (18 отзывов)
    Мне нравится изучать все новое, постоянно развиваюсь. Могу написать и диссертацию и кандидатскую. Есть опыт в различных сфера деятельности (туризм, экономика, бухучет... Читать все
    Мне нравится изучать все новое, постоянно развиваюсь. Могу написать и диссертацию и кандидатскую. Есть опыт в различных сфера деятельности (туризм, экономика, бухучет, реклама, журналистика, педагогика, право)
    #Кандидатские #Магистерские
    39 Выполненных работ
    AleksandrAvdiev Южный федеральный университет, 2010, преподаватель, канд...
    4.1 (20 отзывов)
    Пишу качественные выпускные квалификационные работы и магистерские диссертации. Опыт написания работ - более восьми лет. Всегда на связи.
    Пишу качественные выпускные квалификационные работы и магистерские диссертации. Опыт написания работ - более восьми лет. Всегда на связи.
    #Кандидатские #Магистерские
    28 Выполненных работ
    Ольга Р. доктор, профессор
    4.2 (13 отзывов)
    Преподаватель ВУЗа, опыт выполнения студенческих работ на заказ (от рефератов до диссертаций): 20 лет. Образование высшее . Все заказы выполняются в заранее согласован... Читать все
    Преподаватель ВУЗа, опыт выполнения студенческих работ на заказ (от рефератов до диссертаций): 20 лет. Образование высшее . Все заказы выполняются в заранее согласованные сроки и при необходимости дорабатываются по рекомендациям научного руководителя (преподавателя). Буду рада плодотворному и взаимовыгодному сотрудничеству!!! К каждой работе подхожу индивидуально! Всегда готова по любому вопросу договориться с заказчиком! Все работы проверяю на антиплагиат.ру по умолчанию, если в заказе не стоит иное и если это заранее не обговорено!!!
    #Кандидатские #Магистерские
    21 Выполненная работа
    Яна К. ТюмГУ 2004, ГМУ, выпускник
    5 (8 отзывов)
    Помощь в написании магистерских диссертаций, курсовых, контрольных работ, рефератов, статей, повышение уникальности текста(ручной рерайт), качественно и в срок, в соот... Читать все
    Помощь в написании магистерских диссертаций, курсовых, контрольных работ, рефератов, статей, повышение уникальности текста(ручной рерайт), качественно и в срок, в соответствии с Вашими требованиями.
    #Кандидатские #Магистерские
    12 Выполненных работ
    Елена С. Таганрогский институт управления и экономики Таганрогский...
    4.4 (93 отзыва)
    Высшее юридическое образование, красный диплом. Более 5 лет стажа работы в суде общей юрисдикции, большой стаж в написании студенческих работ. Специализируюсь на напис... Читать все
    Высшее юридическое образование, красный диплом. Более 5 лет стажа работы в суде общей юрисдикции, большой стаж в написании студенческих работ. Специализируюсь на написании курсовых и дипломных работ, а также диссертационных исследований.
    #Кандидатские #Магистерские
    158 Выполненных работ
    Екатерина Д.
    4.8 (37 отзывов)
    Более 5 лет помогаю в написании работ от простых учебных заданий и магистерских диссертаций до реальных бизнес-планов и проектов для открытия своего дела. Имею два об... Читать все
    Более 5 лет помогаю в написании работ от простых учебных заданий и магистерских диссертаций до реальных бизнес-планов и проектов для открытия своего дела. Имею два образования: экономист-менеджер и маркетолог. Буду рада помочь и Вам.
    #Кандидатские #Магистерские
    55 Выполненных работ
    Вики Р.
    5 (44 отзыва)
    Наличие красного диплома УрГЮУ по специальности юрист. Опыт работы в профессии - сфера банкротства. Уровень выполняемых работ - до магистерских диссертаций. Написан... Читать все
    Наличие красного диплома УрГЮУ по специальности юрист. Опыт работы в профессии - сфера банкротства. Уровень выполняемых работ - до магистерских диссертаций. Написание письменных работ для меня в удовольствие.Всегда качественно.
    #Кандидатские #Магистерские
    60 Выполненных работ

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

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