An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

          



Banner

***

Меня зовут Лев, и я начинающий специалист в тестировании программного обеспечения. В процессе обучения на курсе «Инженер по тестированию» на образовательной платформе [Нетологии](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 »

*



svg
 

svg









*

«Git-система
контроля версий»

*


 
 


**

* Изученный материал *

**


*

«Предназначение системы контроля версий»

*


*

«Основные операции (фиксация и откат изменений, поиск, история)»

*


*

«Работа с сервисом GitHub»

*


*

«Ветки, слияние веток и разрешение конфликтов»

*


*

«Командная работа»

*


svg












*

«Java для
тестировщиков»

*


 
 
 


**

* Практическая работа *

**


*

1. «Введение в Java»

Был версионирован проект с помощью Git и написан баг-репорт в GitHub Issues.

*


*

2.1 «Примитивные типы данных и условные операторы»
2.2 «Примитивные типы данных и условные операторы»

Использование условных операторов.

*


*

3.1 «Testability. Введение в ООП»
3.2 «Testability. Введение в ООП»
3.3 «Testability. Введение в ООП»

Сервисные классы для многофайловой программы.

*


*

4. «Система сборки Maven»


Создание maven-проекта, написание юнит-тестов с помощью JUnit 5.

*


*

5. «Пакеты и циклы»


Использование циклов в программах, практика с пакетированием классов.

*


*

6. «Строки и массивы»


Циклы для работы с массивами.

*


*

7. «Выстраивание процесса непрерывной интеграции»


Настроен CI на основе GitHub Actions.

*


*

8. «Объектно-ориентированное программирование:
ключевые принципы»


Объекты для хранения данных.

*


*

9. «Объектно-ориентированное программирование и проектирование»


Объекты имеющие и поля, и методы.

*


*

10. «Объекты с внутренним состоянием, управление состоянием при тестировании»


Управление начальным состоянием объектов через конструкторы.

*


*

11. «Композиция и зависимость объектов. Mockito при создании автотестов»


Классы, внутреннее состояние которых содержит наборы данных.

*


*

12. «Наследование и расширяемость систем. Проблемы наследования»


Связывание классов отношением наследования, переопределение методов в классах наследников, с использованием полиморфизма классов.

*


*

13. «Исключительные ситуации и их обработка. Тестирование
исключений»


Добавление логики исключений в приложении, тестирование логики исключений в приложении.

*


*

14. «Интерфейсы для организации малой связности. Обобщённое
программирование (Generics)»


Сортировка объектов, сравнение объектов с помощью Comparable и Comparator.

*


*

15. «Collections Framework. CRUD и тестирование систем, управляющих
набором объектов»


Использование коллекции для работы с наборами элементов.

*


*

Командный проект по курсу «Java для тестировщиков»


Проведено тестирование приложения для работы с банковскими счетами. Составлены баг-репорты на найденные баги.
Закрыты баг-репорты составленные коллегой, предварительно исправив баги.

*


svg










*

«Автоматизированное
тестирование»

*



 

 
 
 
 

**

* Практическая работа *

**


*

1. «Основы автоматизации»


Создание проекта на базе Gradle, не добавляя в него внешних зависимостей.

*


*

2.1 «Тестирование API, CI»


Настройка AppVeyor, тренировка с Get запросами.

*


*

2.2 «Тестирование API, CI»


Тренировка с Post запросами, отправка тела запроса.

*


*

3. «Тестирование веб-интерфейсов»


Автоматизация тестирования формы заказа карты с использованием Selenium, библиотеки Webdriver Manager.

*


*

4. «Selenide»


Автоматизация тестирования формы заказа доставки карты с использованием Selenide.

*


*

5.1 «Patterns»
5.2 «Patterns»


Реализация классов датагенератор, использование библиотеки Faker для генерации
данных, библиотеки Gson чтобы иметь возможность сериализовать Java-объекты
в JSON, использование Lombok.

*


*

6. «BDD (Behaviour Driven Development), Page Object's»


Проработан класс DataHelper и пейдж объекты, реализовано достаточное
количество тестов, заведен репорт на обнаруженный дефект.

*


*

7. «Docker PostgreSQL»


Настроен контейнер, установлены параметры для запуска приложения.

*


*

8. «SQL»


Реализован класс датахелпера, пейдж объекты, спомогательный класс взаимодействия с базой данных.

*


*

9. «Репортинг Allure»


Подключен Allure, настроена интеграция с Selenide.

*


*

10. «Заключительная лекция»


Написан план автоматизации тестирования сценария перехода к форме записи и заполнения этой формы.

*


*

Курсовой проект по модулю «Автоматизация тестирования» для профессии «Инженер по тестированию»


Автоматизация тестирования комплексного сервиса, взаимодействующего с СУБД и API банка.

*


svg









*

«JavaScript для
тестировщиков»

*


 

 
 
 

**

* Практическая работа *

**


*

«Основные понятия»


Написана программа для решения квадратных уравнений и калькулятор для расчёта
выплат по ипотеке.

*


*

«Функции»


Написана функция `getArrayParams(...arr)`, которая получает на вход числа, а
возвращает минимальное, максимальное и среднее арифметическое значений массива.

*


*

«Массивы»


Создана функция `compareArrays(arr1, arr2)`, которая с помощью функции высшего
порядка сравнивает значения двух массивов. А так же создана функция
`getUsersNamesInAgeRange(users, gender)`, которая возвращает среднее
значение возраста пользователей одного пола.

*


*

«Объекты»


Инкапсулирована логика работы со студентами в объекты, чтобы можно было
создавать студентов, устанавливать им предмет, добавлять оценки,
считать средний балл и отчислять.

*


*

«Классы»


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

*


*

«Обработка исключений и замыкания»


Написана функция-преобразователь, которая возвращает число, если всё
корректно и генерирует ошибку, если ввод не является числом в десятичной
системе счисления. Создан калькулятор треугольников, который сможет
проверять существование треугольника, считать площадь и периметр.

*


*

«Асинхронность»


Написана программа-будильник-колыбельная с возможностью добавления,
удаления, запусков и остановки звонков.

*


*

«Декораторы»


Написан усовершенствованный кеширующий декоратор `cachingDecoratorNew`,
который кеширует только последние пять различных вызовов функции.
Усовершенствован debounce декоратор, добавлены три дополнительные фичи.

*


svg










*

«Автоматизация тестирования
веб-интерфейсов»

*


 
 
 
 
 

**

* Практическая работа *

**


*

1. «Использование JS в браузере. Тестирование, дебагинг»


Настроен debugger в VSCode.

*


*

2. «Node.js»


Установлен nvm пакет изменений версий Node.js, настроены плагиноы ESLint и Prettier.

*


*

3.1 «Jest»


Установлен и настроен феймворк Jest в проекте,
дописан недостоющий тест для 100% покрытия по всем параметрам.

*


*

3.2 «Playwright»


Установлен и настроен фреймворк Playwright в проекте,
созданы два UI-теста на успешную и неуспешную авторизацию на сайте netology.ru,
добавлена функция скриншота.

*


*

4. «Puppeteer 1»


Добавлены к существующим и помещены за блоком `describe` три теста,
которые проверяют заголовки на других страницах приложения.

*


*

5. «Puppeteer 2»


Написаны 2 happy path теста и 1 — sad path с использованием custom commands.
Организован BDD подход для тестов, подключен фреймворк Cucumber к проекту,
написан сценарий и шаги.

*


*

6. «Cypress 1»


Написано 6 тестов для проверки авторизации в приложении книг и
проверки функциональности работы с книгами в избранном,
повторяющиеся шаги вынесены в кастомные команды.
В конфигурациях настроены параметры `view-port` двух разных размеров экрана.
Для упрощения работы с запуском тестов настроены 4 скрипта
для запуска в режимах headded и headless.

*


*

7. «Cypress 2»


Написаны тесты проверки логина в админку и
бронирования фильма в доступный зал приложения 'Идем в кино'.
Проект подключен к Dashboard-Cypress. Написан набор
интеграционных тестов на работу серверного API для проекта Swagger.

*


*

8. «CI/CD Jenkins»


Добавлены скрипты и параметры для запуска тестов в
трёх разных браузерах и для запуска тестов параллельно,
чтобы два разных потока запускались в двух разных браузерах.
Настроен Jenkins добавлен новый параметр браузеров и
секретного ключа для запуска тестов.

*


svg









*

«Тестирование мобильных
приложений»

*


 
 
 

 
 

**

* Практическая работа *

**


*

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-элементов, что обеспечивает
уверенность в корректной работе приложения.

*


svg










*

«Тестирование
производительности»

*


 
 

 
 
 


**

* Практическая работа *

**


*

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
для симуляции нагрузки и проверки производительности при записи данных.
Для этого были применены хранимые процедуры, предназначенные для
автоматического добавления комментариев в базу данных. Тестирование
позволило оценить поведение системы при записи данных без взаимодействия
с пользовательским интерфейсом. На основе полученных результатов был
составлен отчет, подтверждающий, что система обеспечивает заявленную
производительность.

*


Certificate performance testing









*

«Тестирование безопасности»

*



 

 

**

* Практическая работа *

**


*

1 «Введение в тестирование безопасности»


Были установлены необходимые инструменты: Wireshark, Firefox и
OWASP ZAP, что позволило начать работу с анализаторами сетевого
трафика. В процессе выполнения практических заданий осуществлен
захват трафика, проанализированы протоколы UDP и DNS, а также
выполнено исследование веб-сайта с помощью ZAP.

*


*

2 «Инъекции и уязвимости на уровне ОС»


Разработан план тестирования приложения, сосредоточенный на двух
полях: числовом и символьном. Для числового поля проверяли
переполнение на предельных значениях, а для символьного — обработку
входных данных и защиту от переполнения буфера. Также предложен
Whitelist для символьного поля, ограничивающий допустимые символы,
чтобы минимизировать риски атак.

*


*

3 «SQL, XSS, Code и другие инъекции»


Составлен план тестирования карточки товара, направленный на выявление
уязвимостей XSS и SQL-инъекций. Проверка включает тестирование
полей ввода на возможность выполнения вредоносного кода и манипуляции
с запросами к базе данных, с акцентом на фильтрацию и экранирование
входящих данных для предотвращения потенциальных атак.

*


*

4 «Сетевая безопасность»


Установлено приложение Nmap и выполнено сканирование хоста
scanme.nmap.org для определения запущенных сетевых служб
и операционной системы. Результаты анализа показали наличие
четырех служб и определили, что веб-сервером является Apache
httpd версии 2.4.7, работающий на одной из версий Linux.

*


Certificate security testing










*

Дипломный проект по профессии
«Инженер по тестированию»

*


 
 


**

* Дипломная работа *

**


*


Тестовая документация на проекте:

*


*

«План по проверке и автоматизации приложения»


*


*

«Чек-лист c отметками о пройденных и не пройденных тестах»


*


*

«Тест-кейсы для проверки приложения»


*


*

«Баг-репорты с обнаруженными ошибками»


*


*

«Allure-отчет с результатами прогона авто-тестов»


*


*

«Отчет о проведенном тестировании»


*


Certificate QAMID




Letter of recommendation

























Lev Volkov profile-details
 



Lev Volkov productive-time