https://github.com/levvolkov/levvolkov
https://github.com/levvolkov/levvolkov
github-profile github-profile-info github-profile-markdown github-profile-readme github-profile-readme-md github-profiles portfolio profile profile-readme readme readme-md readme-profil readme-profile readme-profile-github readme-profile-repository
Last synced: 18 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/levvolkov/levvolkov
- Owner: levvolkov
- Created: 2024-07-28T11:54:22.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-07-24T16:16:04.000Z (7 months ago)
- Last Synced: 2025-08-23T20:14:13.683Z (6 months ago)
- Topics: github-profile, github-profile-info, github-profile-markdown, github-profile-readme, github-profile-readme-md, github-profiles, portfolio, profile, profile-readme, readme, readme-md, readme-profil, readme-profile, readme-profile-github, readme-profile-repository
- Homepage:
- Size: 7.75 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

***
Меня зовут Лев, и я начинающий специалист в тестировании программного обеспечения. В процессе обучения на курсе «Инженер по тестированию» на образовательной платформе [Нетологии](https://netology.ru/programs/qa-middle#/main) я познакомился с техниками тест-дизайна, работал с Selenide и изучал методологию BDD, создавая качественные тесты на основе пользовательских сценариев. Занимался тестированием с использованием Playwright и Espresso, автоматизацией кроссплатформенных приложений с UI Automator и Appium, а также реализовал систему отчетности Allure для отображения результатов тестирования. Кроме того, проводил нагрузочное тестирование с использованием BlazeMeter и JMeter и настраивал мониторинг с помощью Telegraf, InfluxDB и Prometheus. Моя цель — обеспечить высокое качество цифровых продуктов и внести вклад в развитие команды и проекта.
***
-----
*
«Ручное тестирование
веб-приложений»
*
**
* Изученный материал *
**

* «Методы и виды тестирования»
*
* «Тестирование ПО. Тест-дизайн»
*
* «Артефакты тестирования. Тестовая документация»
*
* «Артефакты тестирования. Дефекты»
*
* «Инструменты тестирования для работы с документацией»
*
* «Основы клиент-серверного взаимодействия»
*
* «Особенности тестирования web-приложений и работа с Chrome»
*
* «Инструменты тестирования. Клиент-Сервер»
*
* «Жизненный цикл разработки ПО. Гибкие методологии разработки ПО»
*
*
«Курсовой проект: проведение тестирования сайта крупной компании» 
*
*« Чеклист
для функциональной проверки личного кабинета зарегистрированного
авторизованного пользователя, включая функционал разделов,
на сайте Henderson »
*
*« Набор
тест-кейсов на проверку функционала восстановление пароля »
*
*« Баг-
репорты на основе скриншота »
*
*«
Тестирование верстки страницы карточки товара с максимальной и минимальной ценой »
*
*« Клиент сервер
ищем запрос, в котором есть нужные параметры, найти, как же выглядят параметры deviceUUID, requestID и status »
*
*
«Git-система
контроля версий»
*
**
* Изученный материал *
**

*«Предназначение системы контроля версий»
*
*«Основные операции (фиксация и откат изменений, поиск, история)»
*
*«Работа с сервисом GitHub»
*
*«Ветки, слияние веток и разрешение конфликтов»
*
*«Командная работа»
*
*
«Java для
тестировщиков»
*
**
* Практическая работа *
**

* Был версионирован проект с помощью Git и написан баг-репорт в GitHub Issues.
*
* 2.1 «Примитивные типы данных и условные операторы»
2.2 «Примитивные типы данных и условные операторы»
Использование условных операторов.
*
* 3.1 «Testability. Введение в ООП»
3.2 «Testability. Введение в ООП»
3.3 «Testability. Введение в ООП»
Сервисные классы для многофайловой программы.
*
*
Создание maven-проекта, написание юнит-тестов с помощью JUnit 5.
*
*
Использование циклов в программах, практика с пакетированием классов.
*
*
Циклы для работы с массивами.
*
* 7. «Выстраивание процесса непрерывной интеграции»
Настроен CI на основе GitHub Actions.
*
* 8. «Объектно-ориентированное программирование:
ключевые принципы»
Объекты для хранения данных.
*
* 9. «Объектно-ориентированное программирование и проектирование»
Объекты имеющие и поля, и методы.
*
* 10. «Объекты с внутренним состоянием, управление состоянием при тестировании»
Управление начальным состоянием объектов через конструкторы.
*
* 11. «Композиция и зависимость объектов. Mockito при создании автотестов»
Классы, внутреннее состояние которых содержит наборы данных.
*
* 12. «Наследование и расширяемость систем. Проблемы наследования»
Связывание классов отношением наследования, переопределение методов в классах наследников, с использованием полиморфизма классов.
*
* 13. «Исключительные ситуации и их обработка. Тестирование
исключений»
Добавление логики исключений в приложении, тестирование логики исключений в приложении.
*
* 14. «Интерфейсы для организации малой связности. Обобщённое
программирование (Generics)»
Сортировка объектов, сравнение объектов с помощью Comparable и Comparator.
*
* 15. «Collections Framework. CRUD и тестирование систем, управляющих
набором объектов»
Использование коллекции для работы с наборами элементов.
*
* Командный проект по курсу «Java для тестировщиков»
Проведено тестирование приложения для работы с банковскими счетами. Составлены баг-репорты на найденные баги.
Закрыты баг-репорты составленные коллегой, предварительно исправив баги.
*
*
«Автоматизированное
тестирование»
*
**
* Практическая работа *
**

*
Создание проекта на базе Gradle, не добавляя в него внешних зависимостей.
*
*
Настройка AppVeyor, тренировка с Get запросами.
*
*
Тренировка с Post запросами, отправка тела запроса.
*
* 3. «Тестирование веб-интерфейсов»
Автоматизация тестирования формы заказа карты с использованием Selenium, библиотеки Webdriver Manager.
*
*
Автоматизация тестирования формы заказа доставки карты с использованием Selenide.
*
*
Реализация классов датагенератор, использование библиотеки Faker для генерации
данных, библиотеки Gson чтобы иметь возможность сериализовать Java-объекты
в JSON, использование Lombok.
*
* 6. «BDD (Behaviour Driven Development), Page Object's»
Проработан класс DataHelper и пейдж объекты, реализовано достаточное
количество тестов, заведен репорт на обнаруженный дефект.
*
*
Настроен контейнер, установлены параметры для запуска приложения.
*
*
Реализован класс датахелпера, пейдж объекты, спомогательный класс взаимодействия с базой данных.
*
*
Подключен Allure, настроена интеграция с Selenide.
*
*
Написан план автоматизации тестирования сценария перехода к форме записи и заполнения этой формы.
*
* Курсовой проект по модулю «Автоматизация тестирования» для профессии «Инженер по тестированию»
Автоматизация тестирования комплексного сервиса, взаимодействующего с СУБД и API банка.
*
*
«JavaScript для
тестировщиков»
*
**
* Практическая работа *
**

*
Написана программа для решения квадратных уравнений и калькулятор для расчёта
выплат по ипотеке.
*
*
Написана функция `getArrayParams(...arr)`, которая получает на вход числа, а
возвращает минимальное, максимальное и среднее арифметическое значений массива.
*
*
Создана функция `compareArrays(arr1, arr2)`, которая с помощью функции высшего
порядка сравнивает значения двух массивов. А так же создана функция
`getUsersNamesInAgeRange(users, gender)`, которая возвращает среднее
значение возраста пользователей одного пола.
*
*
Инкапсулирована логика работы со студентами в объекты, чтобы можно было
создавать студентов, устанавливать им предмет, добавлять оценки,
считать средний балл и отчислять.
*
*
Перевод небольшой районной библиотеки в современный цифровой формат,
с помощью классов. Описаны возможные печатные издания, которые бывают
в библиотеке, реализована возможность хранить книги, выдавать их
читателям и принимать обратно.
*
* «Обработка исключений и замыкания»
Написана функция-преобразователь, которая возвращает число, если всё
корректно и генерирует ошибку, если ввод не является числом в десятичной
системе счисления. Создан калькулятор треугольников, который сможет
проверять существование треугольника, считать площадь и периметр.
*
*
Написана программа-будильник-колыбельная с возможностью добавления,
удаления, запусков и остановки звонков.
*
*
Написан усовершенствованный кеширующий декоратор `cachingDecoratorNew`,
который кеширует только последние пять различных вызовов функции.
Усовершенствован debounce декоратор, добавлены три дополнительные фичи.
*
*
«Автоматизация тестирования
веб-интерфейсов»
*
**
* Практическая работа *
**

* 1. «Использование JS в браузере. Тестирование, дебагинг»
Настроен debugger в VSCode.
*
*
Установлен nvm пакет изменений версий Node.js, настроены плагиноы ESLint и Prettier.
*
*
Установлен и настроен феймворк Jest в проекте,
дописан недостоющий тест для 100% покрытия по всем параметрам.
*
*
Установлен и настроен фреймворк Playwright в проекте,
созданы два UI-теста на успешную и неуспешную авторизацию на сайте netology.ru,
добавлена функция скриншота.
*
*
Добавлены к существующим и помещены за блоком `describe` три теста,
которые проверяют заголовки на других страницах приложения.
*
*
Написаны 2 happy path теста и 1 — sad path с использованием custom commands.
Организован BDD подход для тестов, подключен фреймворк Cucumber к проекту,
написан сценарий и шаги.
*
*
Написано 6 тестов для проверки авторизации в приложении книг и
проверки функциональности работы с книгами в избранном,
повторяющиеся шаги вынесены в кастомные команды.
В конфигурациях настроены параметры `view-port` двух разных размеров экрана.
Для упрощения работы с запуском тестов настроены 4 скрипта
для запуска в режимах headded и headless.
*
*
Написаны тесты проверки логина в админку и
бронирования фильма в доступный зал приложения 'Идем в кино'.
Проект подключен к Dashboard-Cypress. Написан набор
интеграционных тестов на работу серверного API для проекта Swagger.
*
*
Добавлены скрипты и параметры для запуска тестов в
трёх разных браузерах и для запуска тестов параллельно,
чтобы два разных потока запускались в двух разных браузерах.
Настроен Jenkins добавлен новый параметр браузеров и
секретного ключа для запуска тестов.
*
*
«Тестирование мобильных
приложений»
*
**
* Практическая работа *
**

* 1. «Ручное тестирование мобильных приложений. Введение»
На основе предварительных исследований был составлен чек-лист проверок для
приложения "Онлайн-кинотеатр". Приложение Everybook было подвергнуто
тестированию, в ходе которого были обнаружены баги и составлен детализированный
баг-репорт. Подготовлен краткий отчет о тестировании сервиса, в который будет
интегрирована платежная система Stripe. В отчете описаны процедуры тестирования
платежей на финальной и тестовой версиях мобильного приложения на iOS.
*
* 2. «Тестирование iOS-приложений»
Выполнен анализ различных версий iOS, начиная с iOS 13, а также требований Apple
к приложениям для восстановления старого приложения. Проведен подробный анализ
несовместимостей приложения Ad Workout X с гайдлайнами App Store. Сформированы
и переданы тимлиду iOS-разработки данные, необходимые для добавления нового
тестового устройства в TestFlight. Присоединился к бета-тестированию приложения
iT-TecNews через TestFlight и обновил его до последней версии сборки.
*
* 3. «Тестирование Android-приложений»
Выявлены возможные причины задержки в определении геолокации в новом
приложении для геокешинга и описаны начальные шаги для диагностики данной
проблемы. Создан чек-лист для тестирования подписок в новом Android-приложении
для музыкального стриминга, использующего подписочную модель монетизации.
В меню разработчика на устройстве Android были активированы различные
функции с пояснением их полезности для проведения тестирования.
*
* 4. «Виды тестирования в контексте мобильных устройств»
Определены виды тестирования, необходимые для различных сценариев.
Установлены пять основных причин, препятствующих успешной регистрации
пользователей в приложении с большим числом установок, но низким уровнем
зарегистрированных пользователей. Описаны шаги, которые следует предпринять
в случае, если приложение соответствует бизнес-требованиям, но пользователи
воспринимают это как баг. Проведены проверки на доступность для людей
с ограниченными возможностями.
*
* 5. «Выбор устройств для тестирования»
Были определены подходящие устройства для тестового случая на основе
проведенного исследования, учитывающего финансовые условия и особенности
целевого рынка. Выявлены критерии, при которых оптимально использовать
эмулятор, симулятор или реальное устройство.
*
* 6. «Инструменты для тестирования мобильных приложений. Среда разработки»
Установил Homebrew для macOS и Linux, что позволило установить Android Debug
Bridge (ADB) на macOS. С его помощью провел стресс-тестирование и получил
логи тестируемого Android приложения. Проанализировал стектрейсы ошибок и
выдвинул предположения о затронутых модулях приложения и возможных
действиях пользователя, вызвавшиx ошибки.
*
* 2.1 «Автоматизация тестирования мобильных приложений»
Установлен Android Studio. Настроена конфигурация файловой среды на
macOS (zsh), которая устанавливает переменные окружения для разработки
приложений на платформе Android и работы с Java. Эта конфигурация корректно
настраивает пути к Android SDK и JDK, упрощая их использование. Запущен
склонированный проект на эмуляторе. Проверена работоспособность приложения
на реальном физическом устройстве, подключенном через USB, для обнаружения
возможных различий в поведении по сравнению с эмулятором. Проверен
функционал приложения, в котором реализовано переключение между
вкладками. Написан автотест с помощью Espresso Test Recorder.
*
* 2.2 «UI Automator. Автоматизация тестирования Android»
В рамках проделанной работы было написано два теста: первый тест проверяет
попытку установки пустой строки в поле ввода, а второй — открытие текста
в новой Activity. После выполнения тестов были настроены автоматизированные
проверки с использованием GitHub Actions.
*
* 2.3 «XCTest. Автоматизация тестирования iOS-приложений»
Установлена и настроена среда разработки Xcode. Добавлены UI-тесты для
iOS-приложения с использованием библиотеки XCTest. Реализованы основные
тесты, включая проверку активности кнопки "Login" и соответствие логина на
экране профиля логину, который пользователь ввёл при повторном входе. Все
тесты успешно прошли, обеспечивая стабильность функционала приложения.
*
* 2.4 «Appium. Кроссплатформенная мобильная автоматизация тестирования»
В рамках задачи по настройке окружения для работы с Appium был установлен
Appium и его зависимости. Проведен анализ системных зависимостей с помощью
Appium Doctor, что обеспечило корректную работу платформы. Также был
установлен Appium Inspector для удобной работы с элементами интерфейса
приложений и разработаны тесты для проверки установки пустой строки
и открытия текста в новой Activity.
*
* 2.5 «Espresso. Автоматизация тестирования Android»
Склонирован и запущен тестовый проект в Android Studio, настроена библиотека
Espresso для тестирования. Реализован тест для проверки главного экрана
приложения с использованием Espresso. Экспортирован отчет теста в HTML-файл.
Также добавлена интеграция Allure для генерации отчетов о тестировании и
покрытия большинства потребностей. Отчеты успешно загружены в раздел
Issues репозитория.
*
* 2.6 «Espresso. Продвинутая автоматизация тестирования Android»
Настроены библиотеки Espresso, позволяющие эффективно тестировать
пользовательский интерфейс Android-приложений, используя механизмы работы
с Intents и асинхронными операциями через Idling Resources. Проработаны оба
варианта реализации интентов, что значительно улучшило интеграцию тестов
с функциональностью приложения. Также реализованы собственные ViewMatcher
и ViewAssertions для проверки состояния UI-элементов, что обеспечивает
уверенность в корректной работе приложения.
*
*
«Тестирование
производительности»
*
**
* Практическая работа *
**

* 1. «Введение в нагрузочное тестирование»
Подготовлен список ключевых вопросов для менеджера проекта, чтобы уточнить
требования и сценарии использования сайта в период повышенной активности,
а также оценены потребности в оборудовании для нагрузки. В результате,
определены виды тестирования, включая нагрузочное и стресс-тестирование,
с составлением соответствующего плана тестирования для обеспечения
стабильности веб-интерфейса в условиях ожидаемого наплыва пользователей.
*
* 2. «Подготовка стенда нагрузочного тестирования»
Успешно развернута система мониторинга на базе Telegraf и InfluxDB, а также
Node Exporter и Prometheus с последующим подключением графиков в Grafana.
Настроены параметры отправки метрик: для Telegraf — каждые 60 секунд, а
для Prometheus — каждые 36 секунд, включая мониторинг оперативной памяти,
swap, жесткого диска и сетевых метрик. Проведён тест на отображение всех
аппаратных метрик сервера, и сделаны скриншоты состояния системы
в покое, продолжительностью не менее 15 минут.
*
* 3. «Проведение нагрузочного тестирования WEB»
Были успешно осуществлены два раунда тестирования. В первом раунде был
написан сценарий тестирования добавления комментария на сайт WordPress
через BlazeMeter. Во втором раунде был реализован сценарий тестирования
покупки билета и получения QR-кода через систему JMeter.
*
* 4. «Проведение нагрузочного тестирования DB»
Успешно запущено склонированное приложение с использованием
Docker-контейнеров и обеспечено подключение к базе данных MariaDB с
помощью DBeaver. Проведены замеры времени отклика для хранимых
процедур dorepeat_v1 и dorepeat_v2, результаты показали, что процедура
dorepeat_v2 работает дольше, чем dorepeat_v1 из-за своей более сложной
структуры. Установлены соответствующие графики и проведен их анализ.
*
* 5. «Подготовка отчёта о тестировании и завершение проекта»
Проведено тестирование системы сайта WordPress с использованием JMeter
для симуляции нагрузки и проверки производительности при записи данных.
Для этого были применены хранимые процедуры, предназначенные для
автоматического добавления комментариев в базу данных. Тестирование
позволило оценить поведение системы при записи данных без взаимодействия
с пользовательским интерфейсом. На основе полученных результатов был
составлен отчет, подтверждающий, что система обеспечивает заявленную
производительность.
*
* «Тестирование безопасности»
*
**
* Практическая работа *
**

*1 «Введение в тестирование безопасности»
Были установлены необходимые инструменты: Wireshark, Firefox и
OWASP ZAP, что позволило начать работу с анализаторами сетевого
трафика. В процессе выполнения практических заданий осуществлен
захват трафика, проанализированы протоколы UDP и DNS, а также
выполнено исследование веб-сайта с помощью ZAP.
*
* 2 «Инъекции и уязвимости на уровне ОС»
Разработан план тестирования приложения, сосредоточенный на двух
полях: числовом и символьном. Для числового поля проверяли
переполнение на предельных значениях, а для символьного — обработку
входных данных и защиту от переполнения буфера. Также предложен
Whitelist для символьного поля, ограничивающий допустимые символы,
чтобы минимизировать риски атак.
*
*3 «SQL, XSS, Code и другие инъекции»
Составлен план тестирования карточки товара, направленный на выявление
уязвимостей XSS и SQL-инъекций. Проверка включает тестирование
полей ввода на возможность выполнения вредоносного кода и манипуляции
с запросами к базе данных, с акцентом на фильтрацию и экранирование
входящих данных для предотвращения потенциальных атак.
*
*
Установлено приложение Nmap и выполнено сканирование хоста
scanme.nmap.org для определения запущенных сетевых служб
и операционной системы. Результаты анализа показали наличие
четырех служб и определили, что веб-сервером является Apache
httpd версии 2.4.7, работающий на одной из версий Linux.
*
*
Дипломный проект по профессии
«Инженер по тестированию»
*
**
* Дипломная работа *
**

*
Тестовая документация на проекте:
*
* «План по проверке и автоматизации приложения»
*
* «Чек-лист c отметками о пройденных и не пройденных тестах»
*
* «Тест-кейсы для проверки приложения»
*
* «Баг-репорты с обнаруженными ошибками»
*
* «Allure-отчет с результатами прогона авто-тестов»
*
* «Отчет о проведенном тестировании»
*















