{"id":19411614,"url":"https://github.com/levvolkov/levvolkov","last_synced_at":"2026-02-11T00:31:29.691Z","repository":{"id":311278036,"uuid":"834798631","full_name":"levvolkov/levvolkov","owner":"levvolkov","description":null,"archived":false,"fork":false,"pushed_at":"2025-07-24T16:16:04.000Z","size":8128,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-23T20:14:13.683Z","etag":null,"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"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/levvolkov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-07-28T11:54:22.000Z","updated_at":"2025-07-24T16:16:08.000Z","dependencies_parsed_at":"2025-08-23T20:27:59.489Z","dependency_job_id":null,"html_url":"https://github.com/levvolkov/levvolkov","commit_stats":null,"previous_names":["levvolkov/levvolkov"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/levvolkov/levvolkov","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/levvolkov%2Flevvolkov","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/levvolkov%2Flevvolkov/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/levvolkov%2Flevvolkov/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/levvolkov%2Flevvolkov/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/levvolkov","download_url":"https://codeload.github.com/levvolkov/levvolkov/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/levvolkov%2Flevvolkov/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29323526,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-10T20:44:44.282Z","status":"ssl_error","status_checked_at":"2026-02-10T20:44:43.393Z","response_time":65,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["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"],"created_at":"2024-11-10T12:22:20.212Z","updated_at":"2026-02-11T00:31:29.679Z","avatar_url":"https://github.com/levvolkov.png","language":null,"readme":"\u003ca href=\"https://levvolkov.github.io/\" target=\"_blank\"\u003e\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\"  srcset=\"https://github.com/user-attachments/assets/f25235f0-3a56-4d1a-8424-a880d912fb96\"\u003e\n  \u003csource media=\"(prefers-color-scheme: light)\" href=\"https://github.com/user-attachments/assets/92ca76d7-810c-4c7c-9290-9aa9fcdd2e8d\"\u003e\n  \u003cimg align=\"center\" width=\"\" alt=\"Banner\" src=\"https://github.com/user-attachments/assets/92ca76d7-810c-4c7c-9290-9aa9fcdd2e8d\"\u003e\n\u003c/picture\u003e\n\u003c/a\u003e\n\n\n***\u003cp align=\"\"\u003e Меня зовут Лев, и я начинающий специалист в тестировании программного обеспечения. В процессе обучения на курсе «Инженер по тестированию» на образовательной платформе [Нетологии](https://netology.ru/programs/qa-middle#/main) я познакомился с техниками тест-дизайна, работал с Selenide и изучал методологию BDD, создавая качественные тесты на основе пользовательских сценариев. Занимался тестированием с использованием Playwright и Espresso, автоматизацией кроссплатформенных приложений с UI Automator и Appium, а также реализовал систему отчетности Allure для отображения результатов тестирования. Кроме того, проводил нагрузочное тестирование с использованием BlazeMeter и JMeter и настраивал мониторинг с помощью Telegraf, InfluxDB и Prometheus. Моя цель — обеспечить высокое качество цифровых продуктов и внести вклад в развитие команды и проекта. \u003c/p\u003e***\n\n\n\u003cp align='center'\u003e\n\u003ca href=\"mailto:this.volkovlev@gmail.com\"\u003e\u003cimg src=\"https://img.shields.io/static/v1?message=Gmail\u0026color=D14836\u0026label=\u0026labelColor=D14836\u0026logo=gmail\u0026logoColor=ffffff\u0026style=plastic\" height=\"20px\"\u003e\u003c/a\u003e\n\u003ca href=\"https://t.me/volkovleo\"\u003e\u003cimg src=\"https://img.shields.io/static/v1?message=Telegram\u0026color=00acee\u0026label=\u0026labelColor=00acee\u0026logo=telegram\u0026logoColor=ffffff\u0026style=plastic\" height=\"20px\"\u003e\u003c/a\u003e  \n\u003ca href=\"https://gitlab.com/volkovlev\"\u003e\u003cimg src=\"https://img.shields.io/badge/GitLab-FC6D26?style=plastic\u0026logo=gitlab\u0026logoColor=white\" height=\"20px\"\u003e\u003c/a\u003e\n\u003ca href=\"https://levvolkov.github.io/\"\u003e\u003cimg src=\"https://img.shields.io/static/v1?message=GitHub%20Pages\u0026color=2F4F4F\u0026label=\u0026labelColor=2F4F4F\u0026logo=github\u0026logoColor=ffffff\u0026style=plastic\" height=\"20px\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n-----\n\n\u003c!-- Ручное тестирование веб-приложений --\u003e\n\n\n\u003ctable align=\"left\" width=\"100%\"\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"386px\" src=\"assets/gifs/line.gif\"\u003e             \n\u003c/p\u003e\n\n\n*\u003ch3 align=\"center\"\u003e\u003ca href=\"https://docs.google.com/spreadsheets/d/12FRLL7s3RniGDJEYNHwJRhJukKVNMLrJR4868zy6Hds/edit?gid=347591775#gid=347591775\" title=\"repository lists\"\u003e «Ручное тестирование \u003cbr/\u003e веб-приложений» \u003c/a\u003e\u003c/h3\u003e*\n\n\u003cp align=\"center\"\u003e\n \u003ca href=\"https://www.atlassian.com/ru/software/jira\" title=\"ATLASSIAN Jira Software\"\u003e\u003cimg src=\"assets/icon/jira.png\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n \u003ca href=\"https://postman.com\" title=\"Postman\"\u003e\u003cimg src=\"assets/icon/Postman.svg\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n \u003ca href= \"https://developer.chrome.com/docs/devtools?hl=ru\" title= \"Devtools\"\u003e\u003cimg src=\"assets/icon/chrome-devtools.png\"  width=\"30px\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n*\u003cdetails align=\"center\"\u003e*\n\n*\u003csummary\u003e Изученный материал \u003c/summary\u003e*\n\n*\u003ctable border=\"0\" align=\"center\"\u003e*\n\t\u003ctr\u003e\n                \u003ctd\u003e\u003cp\u003e\u003cimg width=\"700px\" src=\"assets/gifs/png.png\"\u003e\u003c/p\u003e\n\t\t*\u003cp\u003e «Методы и виды тестирования» \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n               \u003ctd\u003e*\u003cp\u003e «Тестирование ПО. Тест-дизайн» \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n               \u003ctd\u003e*\u003cp\u003e «Артефакты тестирования. Тестовая документация» \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n               \u003ctd\u003e*\u003cp\u003e «Артефакты тестирования. Дефекты» \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n               \u003ctd\u003e*\u003cp\u003e «Инструменты тестирования для работы с документацией» \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n               \u003ctd\u003e*\u003cp\u003e «Основы клиент-серверного взаимодействия» \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n               \u003ctd\u003e*\u003cp\u003e «Особенности тестирования web-приложений и работа с Chrome» \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n               \u003ctd\u003e*\u003cp\u003e «Инструменты тестирования. Клиент-Сервер» \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n               \u003ctd\u003e*\u003cp\u003e «Жизненный цикл разработки ПО. Гибкие методологии разработки ПО» \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n               \u003ctd\u003e*\u003cp\u003e\u003cimg src=\"assets/gifs/down.gif\" width=\"30\" height=\"25\" \u003e «Курсовой проект: проведение тестирования сайта крупной компании» \u003cimg src=\"assets/gifs/down.gif\" width=\"30\" height=\"25\" \u003e\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t        \u003ctd\u003e*\u003cp\u003e«\u003ca href=\"https://docs.google.com/spreadsheets/d/1izwdoHvAUXkukRRkRCoaPGdZd58F3e-VzDqhPq9L9ys/edit?usp=sharing\"\u003e Чеклист \n                \u003ca/\u003e \u003c/br\u003e для функциональной проверки личного кабинета зарегистрированного \u003cbr/\u003e авторизованного  пользователя, включая функционал разделов, \n                \u003cbr/\u003e на сайте Henderson »\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t        \u003ctd\u003e*\u003cp\u003e«\u003ca href=\"https://docs.google.com/spreadsheets/d/1G3ZCS60na-KQbO-MeoA0ctaEfOO8Q-_NehnNrnrAL6g/edit?usp=sharing\"\u003e Набор \n                тест-кейсов \u003c/a\u003e \u003c/br\u003e на проверку функционала восстановление пароля »\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t        \u003ctd\u003e*\u003cp\u003e«\u003ca href=\"https://docs.google.com/spreadsheets/d/1AtjTjpJy5xd7R1_6svUvym4Pxv-HdDvtYA7a-Rwi2S0/edit?usp=sharing\"\u003e Баг- \n                репорты \u003c/a\u003e \u003c/br\u003e на основе скриншота »\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t        \u003ctd\u003e*\u003cp\u003e«\u003ca href=\"https://docs.google.com/document/d/1tFmdkzxJWfE0AnDIqFiGZpvuboc3EqbBWGtiQaJtZg4/edit?usp=sharing\"\u003e \n                Тестирование верстки \u003c/a\u003e \u003c/br\u003e страницы карточки товара с максимальной и минимальной ценой »\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t        \u003ctd\u003e*\u003cp\u003e«\u003ca href=\"https://docs.google.com/document/d/1XnjWPBnY48-4_957HTD_KNQv_oRo1oMqW7xYP8lB6WU/edit?usp=sharing\"\u003e Клиент сервер \u003c/a\u003e \u003cbr/\u003e ищем запрос, в котором есть нужные параметры, найти, как же выглядят параметры \u003c/br\u003e deviceUUID, requestID и status »\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e\u003c/br\u003e\u003c/br\u003e\u003cp\u003e\u003ca href=\"https://netology.ru/sharing/258baa3ed45659f21616886d99969b52?utm_source=social\u0026utm_campaign=certificate_lms\"\u003e\n\t\t \u003cimg  width=\"340px\" alt=\"svg\" src=\"assets/Certificate/web.jpg\" /\u003e\u003c/a\u003e \u0026nbsp; \n           \u003ca href=\"https://github.com/levvolkov/levvolkov/blob/master/assets/Certificate/TouchTyping.jpg\"\u003e\n\t        \u003cimg  width=\"340px\" alt=\"svg\" src=\"assets/Certificate/TouchTyping.jpg\" /\u003e\u003c/a\u003e\u003c/p\u003e\u003c/br\u003e\u003c/td\u003e\n\n              \n \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"1%\" src=\"assets/gifs/linedecor.png\" /\u003e             \n\u003c/p\u003e\n\n\u003c/details\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"386px\" src=\"assets/gifs/line.gif\" /\u003e \n\u003c/p\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\n\u003c!-- Git-система контроля версий --\u003e \n\n\n\u003ctable align=\"right\" width=\"100%\"\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"386px\" src=\"assets/gifs/line.gif\"\u003e             \n\u003c/p\u003e\n\n*\u003ch3 align=\"center\"\u003e\u003ca href=\"https://github.com/netology-code/guides/blob/master/git-basics/GitMaterialsAll.md\"\u003e  «Git-система \u003cbr/\u003e контроля версий» \u003c/a\u003e\u003c/h3\u003e*\n\n\u003cp align=\"center\" \u003e\n \u003ca href=\"https://code.visualstudio.com/\" title=\"Visual Studio Code\"\u003e\u003cimg src=\"assets/icon/VSCode.svg\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n \u003ca href=\"https://git-scm.com/book/ru/v2/%D0%9F%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-C%3A-%D0%9A%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B-Git- \n  %D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B\" title=\"Git\"\u003e\u003cimg src=\"assets/icon/Git.svg\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n \u003ca href=\"https://support.apple.com/ru-ru/guide/terminal/trmld4c92d55/mac#gh-dark-mode-only\" title=\"Terminal\"\u003e\u003cimg src=\"assets/icon/Terminal1.png\" width=\"30px\"/\u003e\u003c/a\u003e\n \u003ca href=\"https://support.apple.com/ru-ru/guide/terminal/trmld4c92d55/mac#gh-light-mode-only\" title=\"Terminal\"\u003e\u003cimg src=\"assets/icon/Terminal-Light.png\" width=\"30px\"/\u003e\u003c/a\u003e\n \u003c/p\u003e\n\n*\u003cdetails align=\"center\"\u003e*\n\n*\u003csummary\u003e Изученный материал \u003c/summary\u003e*\n\n*\u003ctable border=\"0\" align=\"center\"\u003e*\n\t\u003ctr\u003e\n               \u003ctd\u003e\u003cp\u003e\u003cimg width=\"700px\" src=\"assets/gifs/png.png\"\u003e\u003c/p\u003e\n                *\u003cp\u003e«Предназначение системы контроля версий»\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e«Основные операции (фиксация и откат изменений, поиск, история)»\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e«Работа с сервисом GitHub»\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e«Ветки, слияние веток и разрешение конфликтов»\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e«Командная работа»\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n         \u003ctr\u003e\n\t       \u003ctd\u003e\u003c/br\u003e\u003c/br\u003e\u003cp\u003e\u003ca href=\"https://netology.ru/sharing/c937b576d959591795bae25f62ac2130?utm_source=social\u0026utm_campaign=certificate_lms\"\u003e\u003cimg  width=\"350px\" alt=\"svg\" src=\"assets/Certificate/git.jpg\" /\u003e\u003c/a\u003e\u003c/p\u003e\u003c/br\u003e\u003c/td\u003e\n \u003c/tr\u003e\n  \u003c/table\u003e\n  \n\u003cp  align=\"center\"\u003e\n\u003cimg width=\"1%\" src=\"assets/gifs/linedecor.png\"\u003e             \n\u003c/p\u003e\n\n\u003c/details\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"386px\" src=\"assets/gifs/line.gif\"\u003e \n\u003c/p\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\n\u003c!--Java для тестеровщиков--\u003e\n\n\n\u003ctable align=\"left\" width=\"100%\"\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n\n \u003cp align=\"center\"\u003e\n\u003cimg width=\"386px\" src=\"assets/gifs/line.gif\"\u003e             \n\u003c/p\u003e\n\n*\u003ch3 align=\"center\"\u003e\u003ca href=\"https://github.com/stars/levvolkov/lists/java-for-testers\"\u003e «Java для \u003cbr/\u003e тестировщиков» \u003c/a\u003e\u003c/h3\u003e*\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://docs.oracle.com/en/java/javase/11/docs/api/index.html\" title=\"Java\"\u003e\u003cimg src=\"assets/icon/java.png\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n  \u003ca href=\"https://www.jetbrains.com/idea/download/?section=mac\" title=\"IntelliJ IDEA\"\u003e\u003cimg src=\"assets/icon/Idea.svg\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n  \u003ca href=\"https://git-scm.com/book/ru/v2/%D0%9F%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-C%3A-%D0%9A%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B-Git-%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B\" title=\"Git\"\u003e\u003cimg src=\"assets/icon/Git.svg\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n  \u003ca href=\"https://maven.apache.org/#gh-dark-mode-only\" title=\"Maven\"\u003e\u003cimg src=\"assets/icon/Maven.svg\" width=\"30px\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://maven.apache.org/#gh-light-mode-only\" title=\"Maven\"\u003e\u003cimg src=\"assets/icon/Maven-Dark.svg\" width=\"30px\"/\u003e\u003c/a\u003e \n\u003c/p\u003e\n\n*\u003cdetails align=\"center\"\u003e*\n\n*\u003csummary\u003e Практическая работа \u003c/summary\u003e*\n\n*\u003ctable border=\"0\" align=\"center\"\u003e*\n\t\u003ctr\u003e\n                \u003ctd\u003e\u003cp align=\"center\"\u003e\u003cimg width=\"700px\" src=\"assets/gifs/png.png\"\u003e\u003c/p\u003e\n                *\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/javaqa1\"\u003e 1. «Введение в Java» \u003c/a\u003e\n\t\t\u003cp\u003e Был версионирован проект с помощью Git и написан баг-репорт в GitHub Issues.\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/LevVolkov/javaqa2\"\u003e 2.1 «Примитивные типы данных и условные  операторы» \u003c/a\u003e\n\t        \u003c/br\u003e\u003ca href=\"https://github.com/levvolkov/javaqa3\"\u003e 2.2 «Примитивные типы данных и условные операторы» \u003c/a\u003e\n                \u003cp\u003eИспользование условных операторов. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/LevVolkov/Testability1\"\u003e 3.1 «Testability. Введение в ООП» \u003c/a\u003e\n                \u003c/br\u003e\u003ca href=\"https://github.com/levvolkov/testability2\"\u003e 3.2 «Testability. Введение в ООП» \u003c/a\u003e\n\t\t\u003c/br\u003e\u003ca href=\"https://github.com/levvolkov/testability3\"\u003e 3.3 «Testability. Введение в ООП» \u003c/a\u003e\n                \u003cp\u003eСервисные классы для многофайловой программы. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/maven\"\u003e 4. «Система сборки Maven»\u003c/a\u003e\u003c/p\u003e\n\t\t\u003cp\u003eСоздание maven-проекта, написание юнит-тестов с помощью JUnit 5. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/packagesAndCycles\"\u003e 5. «Пакеты и циклы» \u003c/a\u003e\u003c/p\u003e\n\t\t\u003cp\u003e Использование циклов в программах, практика с пакетированием классов. \u003c/p\u003e*\u003c/td\u003e\n        \u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/stringsAndArrays\"\u003e 6. «Строки и массивы»\u003c/a\u003e\u003c/p\u003e\n\t\t\u003cp\u003eЦиклы для работы с массивами.\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n                \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/jacoco-ci\"\u003e 7. «Выстраивание процесса непрерывной интеграции» \u003c/a\u003e\u003c/p\u003e\n\t\t\u003cp\u003eНастроен CI на основе GitHub Actions.\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/objectOrientedProgrammingPrinciples\"\u003e 8. «Объектно-ориентированное программирование: \n                ключевые принципы» \u003c/a\u003e\u003c/p\u003e\n\t\t\u003cp\u003eОбъекты для хранения данных.\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/radio\"\u003e 9. «Объектно-ориентированное программирование и проектирование» \u003c/a\u003e\u003c/p\u003e\n\t\t\u003cp\u003eОбъекты имеющие и поля, и методы.\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/radio\"\u003e 10. «Объекты с внутренним состоянием, управление состоянием при тестировании» \u003c/a\u003e\u003c/p\u003e\n\t\t\u003cp\u003eУправление начальным состоянием объектов через конструкторы.\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/mockito\"\u003e 11. «Композиция и зависимость объектов. Mockito при создании автотестов» \u003c/a\u003e\u003c/p\u003e\n\t\t\u003cp\u003e Классы, внутреннее состояние которых содержит наборы данных.\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/inheritanceIssues\"\u003e 12. «Наследование и расширяемость систем. Проблемы наследования» \u003c/a\u003e\u003c/p\u003e\n\t\t\u003cp\u003eСвязывание классов отношением наследования, переопределение методов в классах \u003c/br\u003e наследников, с использованием полиморфизма классов.\u003c/p\u003e*\u003c/td\u003e\n        \u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/exceptionSituations\"\u003e 13. «Исключительные ситуации и их обработка. Тестирование \n                исключений» \u003c/a\u003e\u003c/p\u003e\n\t\t\u003cp\u003eДобавление логики исключений в приложении, тестирование логики исключений в \u003c/br\u003eприложении.\u003c/p\u003e*\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/sortAndCompare\"\u003e 14. «Интерфейсы для организации малой связности. Обобщённое\u003c/br\u003e \n                программирование (Generics)» \u003c/a\u003e\u003c/p\u003e\n\t\t\u003cp\u003eСортировка объектов, сравнение объектов с помощью Comparable и Comparator.\u003c/p\u003e*\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/useCollections\"\u003e 15. «Collections Framework. CRUD и тестирование систем, управляющих \n                \u003c/br\u003eнабором объектов» \u003c/a\u003e\u003c/p\u003e\n\t\t\u003cp\u003eИспользование коллекции для работы с наборами элементов.\u003c/p\u003e*\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/DenIvanof/javaqa-team-diplom-2\"\u003e Командный проект по курсу «Java для тестировщиков» \u003c/a\u003e\u003c/p\u003e\n\t\t\u003cp\u003eПроведено тестирование приложения для работы с банковскими счетами. \u003c/br\u003e Составлены баг-репорты на найденные баги.\u003c/br\u003e\n                Закрыты баг-репорты составленные коллегой, предварительно исправив баги.\u003c/p\u003e*\u003c/td\u003e\n\t\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e\u003c/br\u003e\u003c/br\u003e\u003cp\u003e\u003ca href=\"https://netology.ru/sharing/b9e5fe9f0fb3dbb1bf14fb74bc8a19b5?utm_source=social\u0026utm_campaign=certificate_lms\"\u003e\u003cimg  width=\"350px\" alt=\"svg\" src=\"assets/Certificate/javas.jpg\" /\u003e\u003c/a\u003e\u003c/p\u003e\u003c/br\u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n  \u003c/table\u003e\n\n\u003cp  align=\"center\"\u003e\n\u003cimg width=\"1%\" src=\"assets/gifs/linedecor.png\"\u003e             \n\u003c/p\u003e\n\n\u003c/details\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"386px\" src=\"assets/gifs/line.gif\"\u003e             \n\u003c/p\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\n\u003c!-- Автоматизированное тестирование --\u003e\n\n\n\u003ctable align=\"right\" width=\"100%\"\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"386px\" src=\"assets/gifs/line.gif\"\u003e             \n\u003c/p\u003e\n\n*\u003ch3 align=\"center\"\u003e\u003ca href=\"https://github.com/stars/levvolkov/lists/automated-testing\"\u003e «Автоматизированное \u003cbr/\u003eтестирование» \u003c/a\u003e\u003c/h3\u003e*\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://gradle.org/#gh-dark-mode-only\" title=\"Gradle\"\u003e\u003cimg src=\"assets/icon/Gradle.svg\" width=\"30px\"/\u003e\u003c/a\u003e \n  \u003ca href=\"https://gradle.org/#gh-light-mode-only\" title=\"Gradle\"\u003e\u003cimg src=\"assets/icon/Gradle-Dark.svg\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n  \u003ca href=\"https://www.selenium.dev/#gh-dark-mode-only\" title=\"Selenium\"\u003e\u003cimg src=\"assets/icon/Selenium.png\" width=\"30px\"/\u003e\u003c/a\u003e \n  \u003ca href=\"https://www.selenium.dev/#gh-light-mode-only\" title=\"Selenium\"\u003e\u003cimg src=\"assets/icon/Selenium-green.svg\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n  \u003ca href=\"https://postman.com\" title=\"Postman\"\u003e\u003cimg src=\"assets/icon/Postman.svg\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n  \u003ca href= \"https://hub.docker.com/billing/core/purchase?ref=signup\" title= \"Docker\"\u003e\u003cimg src=\"assets/icon/Docker.svg\"  width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n  \u003ca href= \"https://dev.mysql.com/doc/refman/8.0/en/mysql.html\" title= \"MySQL\"\u003e\u003cimg src=\"assets/icon/MySQL.svg\"  width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n  \u003ca href= \"https://www.postgresql.org/docs/12/index.html\" title= \"PostgreSQL\"\u003e\u003cimg src=\"assets/icon/PostgreSQL.svg\"  width=\"30px\"/\u003e\u003c/a\u003e \n\u003c/p\u003e\n\n*\u003cdetails align=\"center\"\u003e*\n\n*\u003csummary\u003e Практическая работа \u003c/summary\u003e*\n\n*\u003ctable border=\"0\" align=\"center\"\u003e*\n\t\u003ctr\u003e\n                \u003ctd\u003e\u003cp\u003e\u003cimg width=\"700px\" src=\"assets/gifs/png.png\"\u003e\u003c/p\u003e\n\t\t*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/cashBackHacker\"\u003e 1. «Основы автоматизации» \u003c/a\u003e\u003c/p\u003e \n                \u003cp\u003eСоздание проекта на базе Gradle, не добавляя в него внешних зависимостей. \u003c/p\u003e*\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n               \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/API-CI\"\u003e 2.1 «Тестирование API, CI» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003eНастройка AppVeyor, тренировка с Get запросами. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n               \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/postmanEcho\"\u003e 2.2 «Тестирование API, CI» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003eТренировка с Post запросами, отправка тела запроса. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n               \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/testingWeb\"\u003e 3. «Тестирование веб-интерфейсов» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003eАвтоматизация тестирования формы заказа карты с использованием Selenium, \u003c/br\u003e библиотеки Webdriver Manager. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n               \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levevvolkov/selenide\"\u003e 4. «Selenide» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Автоматизация тестирования формы заказа доставки карты \u003c/br\u003e с использованием Selenide. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n               \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/patterns1\"\u003e 5.1 «Patterns» \u003c/a\u003e\u003c/br\u003e\n\t       \u003ca href=\"https://github.com/levvolkov/patterns2\"\u003e 5.2 «Patterns» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003eРеализация классов датагенератор, использование библиотеки Faker для генерации \u003cbr/\u003eданных, библиотеки Gson чтобы иметь возможность сериализовать Java-объекты \u003cbr/\u003e в JSON, использование Lombok. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n               \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/pageObject\"\u003e 6. «BDD (Behaviour Driven Development), Page Object's» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003eПроработан класс DataHelper и пейдж объекты, реализовано достаточное \u003cbr/\u003e количество тестов, заведен репорт на обнаруженный дефект.\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n               \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/dockerPostgreSQL\"\u003e 7. «Docker PostgreSQL» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003eНастроен контейнер, установлены параметры для запуска приложения. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n               \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/SQL_deadline\"\u003e 8. «SQL» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003eРеализован класс датахелпера, пейдж объекты, спомогательный \u003c/br\u003e класс взаимодействия с базой данных. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n               \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/allureReport\"\u003e 9. «Репортинг Allure» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003eПодключен Allure, настроена интеграция с Selenide. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/testPlan\"\u003e 10. «Заключительная лекция» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Написан план автоматизации тестирования сценария перехода к форме записи \u003c/br\u003e и заполнения этой формы.\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/course-work\"\u003e Курсовой проект по модулю «Автоматизация тестирования» \u003c/br\u003e для профессии «Инженер по тестированию» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Автоматизация тестирования комплексного сервиса, взаимодействующего \u003c/br\u003e с СУБД и API банка. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e\u003c/br\u003e\u003c/br\u003e\u003cp\u003e\u003ca href=\"https://netology.ru/sharing/35f0b47393e953288df032c1de0e7f1c?utm_source=social\u0026utm_campaign=certificate_lms\"\u003e\u003cimg  width=\"350px\" alt=\"svg\" src=\"assets/Certificate/automated.jpg\" /\u003e\u003c/a\u003e\u003c/p\u003e\u003c/br\u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n\u003c/table\u003e\n\n  \u003cp align=\"center\"\u003e\n\u003cimg width=\"1%\" src=\"assets/gifs/linedecor.png\"\u003e             \n\u003c/p\u003e\n\n\u003c/details\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"386px\" src=\"assets/gifs/line.gif\"\u003e             \n\u003c/p\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\n\u003c!--JavaScript для тестеровщиков--\u003e\n\n\n\u003ctable align=\"left\" width=\"100%\"\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n\n \u003cp align=\"center\"\u003e\n\u003cimg width=\"386px\" src=\"assets/gifs/line.gif\"\u003e             \n\u003c/p\u003e\n\n*\u003ch3 align=\"center\"\u003e\u003ca href=\"https://github.com/stars/levvolkov/lists/javascript-for-testers\"\u003e «JavaScript для \u003cbr/\u003e тестировщиков» \u003c/a\u003e\u003c/h3\u003e*\n\n\u003cp align=\"center\"\u003e\n \u003ca href=\"https://learn.javascript.ru/\" title=\"JavaScript\"\u003e\u003cimg src=\"assets/icon/JavaScript.svg\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n \u003ca href=\"https://replit.com/#gh-dark-mode-only\" title=\"Replit\"\u003e\u003cimg src=\"assets/icon/Replit-light.svg\" width=\"30px\"/\u003e\u003c/a\u003e\n \u003ca href=\"https://replit.com/#gh-light-mode-only\" title=\"Replit\"\u003e\u003cimg src=\"assets/icon/Replit-Dark.svg\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n \u003ca href=\"https://code.visualstudio.com/\" title=\"Visual Studio Code\"\u003e\u003cimg src=\"assets/icon/VSCode.svg\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n \u003ca href=\"https://git-scm.com/book/ru/v2/%D0%9F%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-C%3A-%D0%9A%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B-Git-%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B\" title=\"Git\"\u003e\u003cimg src=\"assets/icon/Git.svg\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n\u003ca href= \"https://developer.chrome.com/docs/devtools?hl=ru\" title= \"Devtools\"\u003e\u003cimg src=\"assets/icon/chrome-devtools.png\"  width=\"30px\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n*\u003cdetails align=\"center\"\u003e*\n\n*\u003csummary\u003e Практическая работа \u003c/summary\u003e*\n\n*\u003ctable border=\"0\" align=\"center\"\u003e*\n\t\u003ctr\u003e\n                \u003ctd\u003e\u003cp\u003e\u003cimg width=\"700px\" src=\"assets/gifs/png.png\"\u003e\u003c/p\u003e\n                *\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/bjs-2-homeworks/tree/main/1.base-concepts\"\u003e «Основные понятия» \u003c/a\u003e\u003c/p\u003e\n\t\t\u003cp\u003e Написана программа для решения квадратных уравнений и калькулятор для расчёта \u003cbr\u003e выплат по ипотеке. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/bjs-2-homeworks/tree/main/2.functions\"\u003e «Функции» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Написана функция `getArrayParams(...arr)`, которая получает на вход числа, а \u003cbr\u003e возвращает минимальное, максимальное и среднее арифметическое значений массива. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/bjs-2-homeworks/tree/main/3.arrays\"\u003e «Массивы» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Создана функция `compareArrays(arr1, arr2)`, которая с помощью функции высшего \u003cbr\u003e порядка сравнивает значения двух массивов. А так же создана функция \u003cbr\u003e `getUsersNamesInAgeRange(users, gender)`, которая возвращает среднее \u003cbr\u003e значение возраста пользователей одного пола. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/bjs-2-homeworks/tree/main/4.objects\"\u003e «Объекты» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Инкапсулирована логика работы со студентами в объекты, чтобы можно было \u003cbr\u003e создавать студентов, устанавливать им предмет, добавлять оценки, \u003cbr\u003e считать средний балл и отчислять.\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/bjs-2-homeworks/tree/main/5.classes\"\u003e «Классы» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Перевод небольшой районной библиотеки в современный цифровой формат, \u003cbr\u003e с помощью классов. Описаны возможные печатные издания, которые бывают \u003cbr\u003e в библиотеке,  реализована возможность хранить книги, выдавать их \u003cbr\u003e читателям и принимать обратно. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/bjs-2-homeworks/tree/main/6.exception-closure\"\u003e «Обработка исключений и замыкания» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Написана функция-преобразователь, которая возвращает число, если всё \u003cbr\u003e корректно и генерирует ошибку, если ввод не является числом в десятичной \u003cbr\u003e системе счисления. Создан калькулятор треугольников, который сможет \u003cbr\u003e проверять существование треугольника, считать площадь и периметр.\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/bjs-2-homeworks/tree/main/7.async\"\u003e «Асинхронность» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Написана программа-будильник-колыбельная с возможностью добавления, \u003cbr\u003e удаления, запусков и остановки звонков. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/bjs-2-homeworks/tree/main/8.decorators\"\u003e «Декораторы» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Написан усовершенствованный кеширующий декоратор `cachingDecoratorNew`, \u003cbr\u003e который кеширует только последние пять различных вызовов функции. \u003cbr\u003e Усовершенствован debounce декоратор, добавлены три дополнительные фичи. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t       \u003ctd\u003e\u003c/br\u003e\u003c/br\u003e\u003cp\u003e\u003ca href=\"https://netology.ru/sharing/4833730109b391a904155a6b1e1c93f2?utm_source=social\u0026utm_campaign=certificate_lms \"\u003e\u003cimg  width=\"350px\" alt=\"svg\" src=\"assets/Certificate/javascript.jpg\" /\u003e\u003c/a\u003e\u003c/p\u003e\u003c/br\u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n  \u003c/table\u003e\n\n\u003cp  align=\"center\"\u003e\n\u003cimg width=\"1%\" src=\"assets/gifs/linedecor.png\"\u003e             \n\u003c/p\u003e\n\n\u003c/details\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"386px\" src=\"assets/gifs/line.gif\"\u003e             \n\u003c/p\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\n\u003c!-- Автоматизация тестирования веб-интерфейсов --\u003e\n\n\n\u003ctable align=\"right\" width=\"100%\"\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"386px\" src=\"assets/gifs/line.gif\"\u003e             \n\u003c/p\u003e\n\n*\u003ch3 align=\"center\"\u003e\u003ca href=\"https://github.com/stars/levvolkov/lists/testing-web-interfaces\"\u003e «Автоматизация тестирования \u003cbr\u003e веб-интерфейсов» \u003c/a\u003e\u003c/h3\u003e*\n\n\u003cp align=\"center\"\u003e\n \u003ca href=\"https://nodejs.org/en/download/package-manager\" title=\"Node.js\"\u003e\u003cimg src=\"assets/icon/nodejs.svg\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n \u003ca href=\"https://jestjs.io/ru/docs/configuration#collectcoveragefrom-array\" title=\"Jest\"\u003e\u003cimg src=\"assets/icon/Jest.svg\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n \u003ca href=\"https://playwright.dev/\" title=\"Playwright\"\u003e\u003cimg src=\"assets/icon/playwright.png\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n \u003ca href=\"https://pptr.dev/\" title=\"Puppeteer\"\u003e\u003cimg src=\"assets/icon/puppeteer.svg\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n \u003ca href=\"https://cloud.cypress.io/\" title=\"Cypress\"\u003e\u003cimg src=\"assets/icon/cypress.svg\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n \u003ca href=\"https://www.jenkins.io/download/\" title=\"Jenkins\"\u003e\u003cimg src=\"assets/icon/jenkins.svg\" width=\"30px\"/\u003e\u003c/a\u003e \n\u003c/p\u003e\n\n*\u003cdetails align=\"center\"\u003e*\n\n*\u003csummary\u003e Практическая работа \u003c/summary\u003e*\n\n*\u003ctable border=\"0\" align=\"center\"\u003e*\n\t\u003ctr\u003e\n                \u003ctd\u003e\u003cp\u003e\u003cimg width=\"700px\" src=\"assets/gifs/png.png\"\u003e\u003c/p\u003e\n\t\t*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/setting-up-the-debugger\"\u003e 1. «Использование JS в браузере. Тестирование, дебагинг» \u003c/a\u003e\u003c/p\u003e \n                \u003cp\u003e Настроен debugger в VSCode. \u003c/p\u003e*\u003c/td\u003e\n        \u003c/tr\u003e\n\t \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/eslint-and-prettier\"\u003e 2. «Node.js» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Установлен nvm пакет изменений версий Node.js, настроены плагиноы ESLint и Prettier. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n         \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/framework-jest\"\u003e 3.1 «Jest» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Установлен и настроен феймворк Jest в проекте, \u003cbr\u003e дописан недостоющий тест для 100% покрытия по всем параметрам. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n         \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/ui_test_on_playwright\"\u003e 3.2 «Playwright» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Установлен  и настроен фреймворк Playwright в проекте, \u003cbr\u003e созданы два UI-теста на успешную и неуспешную авторизацию на сайте netology.ru, \u003cbr\u003e добавлена функция скриншота. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/puppeteer\"\u003e 4. «Puppeteer 1» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Добавлены к существующим и помещены за блоком `describe` три теста, \u003cbr\u003e которые проверяют заголовки на других страницах приложения.\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n         \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/puppeteer-cucumber\"\u003e 5. «Puppeteer 2» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Написаны 2 happy path теста и 1 — sad path с использованием custom commands. \u003cbr\u003e Организован BDD подход для тестов, подключен фреймворк Cucumber к проекту, \u003cbr\u003e написан сценарий и шаги. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n         \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/cypress\"\u003e 6. «Cypress 1» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Написано 6 тестов для проверки авторизации в приложении книг и \u003cbr\u003e проверки функциональности работы с книгами в избранном, \u003cbr\u003e повторяющиеся шаги вынесены в кастомные команды. \u003cbr\u003e В конфигурациях настроены параметры `view-port` двух разных размеров экрана. \u003cbr\u003e Для упрощения работы с запуском тестов настроены 4 скрипта \u003cbr\u003e для запуска в режимах headded и headless. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n         \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/dashboard-cypress-swagger\"\u003e 7. «Cypress 2» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Написаны тесты проверки логина в админку и \u003cbr\u003e бронирования фильма в доступный зал приложения 'Идем в кино'. \u003cbr\u003e Проект подключен к Dashboard-Cypress. Написан набор  \u003cbr\u003e интеграционных тестов на работу серверного API для проекта Swagger. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n         \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/dashboard_cypress_jenkins\"\u003e 8. «CI/CD Jenkins» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Добавлены скрипты и параметры для запуска тестов в \u003cbr\u003e трёх разных браузерах и для запуска тестов параллельно, \u003cbr\u003e чтобы два разных потока запускались в двух разных браузерах. \u003cbr\u003e Настроен Jenkins добавлен новый параметр браузеров и \u003cbr\u003e секретного ключа для запуска тестов.\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n       \u003ctr\u003e\n\t       \u003ctd\u003e\u003c/br\u003e\u003c/br\u003e\u003cp\u003e\u003ca href=\"https://netology.ru/sharing/b8bb2c4405f05e8f7b1bd6c247496f00?utm_source=social\u0026utm_campaign=certificate_lms \"\u003e\u003cimg  width=\"350px\" alt=\"svg\" src=\"assets/Certificate/automated-web.jpg\" /\u003e\u003c/a\u003e\u003c/p\u003e\u003c/br\u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n\u003c/table\u003e\n\n  \u003cp align=\"center\"\u003e\n\u003cimg width=\"1%\" src=\"assets/gifs/linedecor.png\"\u003e             \n\u003c/p\u003e\n\n\u003c/details\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"386px\" src=\"assets/gifs/line.gif\"\u003e             \n\u003c/p\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\n\u003c!--Tестирование мобильных приложений--\u003e\n\n\n\u003ctable align=\"left\" width=\"100%\"\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n\n \u003cp align=\"center\"\u003e\n\u003cimg width=\"386px\" src=\"assets/gifs/line.gif\"\u003e             \n\u003c/p\u003e\n\n*\u003ch3 align=\"center\"\u003e\u003ca href=\"https://github.com/stars/levvolkov/lists/mobile-application-testing\"\u003e «Тестирование мобильных \u003cbr\u003e приложений» \u003c/a\u003e\u003c/h3\u003e*\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://developer.apple.com/testflight/\" title=\"TestFlight\"\u003e\u003cimg src=\"assets/icon/testflight.png\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n\u003ca href=\"https://developer.android.com/tools/adb?hl=ru\" title=\"Android Debag Bridge\"\u003e\u003cimg src=\"assets/icon/adb.png\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n\u003ca href= \"https://developer.android.com/studio?hl=ru\" title= \"Android Studio\"\u003e\u003cimg src=\"assets/icon/android-studio.svg\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n\u003ca href= \"https://developer.apple.com/xcode/#gh-dark-mode-only\" title= \"Xcode\"\u003e\u003cimg src=\"assets/icon/xcode-light.svg\"  width=\"30px\"/\u003e\u003c/a\u003e\n\u003ca href= \"https://developer.apple.com/xcode/#gh-light-mode-only\" title= \"Xcode\"\u003e\u003cimg src=\"assets/icon/xcode.svg\"  width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n\u003ca href= \"https://appium.io/docs/en/latest/\" title= \"Appium\"\u003e\u003cimg src=\"assets/icon/appium.svg\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n\u003ca href= \"https://developer.android.com/training/testing/espresso/setup?hl=ru\" title= \"Espresso\"\u003e\u003cimg src=\"assets/icon/espresso.png\" width=\"30px\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n*\u003cdetails align=\"center\"\u003e*\n\n*\u003csummary\u003e Практическая работа \u003c/summary\u003e*\n\n*\u003ctable border=\"0\" align=\"center\"\u003e*\n\t\u003ctr\u003e\n                \u003ctd\u003e\u003cp\u003e\u003cimg width=\"700px\" src=\"assets/gifs/png.png\"\u003e\u003c/p\u003e\n                *\u003cp\u003e\u003ca href=\"https://docs.google.com/spreadsheets/d/1iz0vPOJ5_xcfblLF7E60baIL4NNThj4tXaYuG9UHFIo/edit?usp=sharing\"\u003e 1. «Ручное тестирование мобильных приложений. Введение» \u003c/a\u003e\u003c/p\u003e\n\t\t   \u003cp\u003e На основе предварительных исследований был составлен чек-лист проверок для \u003cbr\u003e приложения \"Онлайн-кинотеатр\". Приложение Everybook было подвергнуто \u003cbr\u003e тестированию, в ходе которого были обнаружены баги и составлен детализированный \u003cbr\u003e баг-репорт. Подготовлен краткий отчет о тестировании сервиса, в который будет \u003cbr\u003e интегрирована платежная система Stripe. В отчете описаны процедуры тестирования \u003cbr\u003e платежей на финальной и тестовой версиях мобильного приложения на iOS.\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://docs.google.com/spreadsheets/d/1sG0z-49ipb3OXa5K3sTrvRDiYk6XXjZm/edit?usp=sharing\u0026ouid=103433639670438982387\u0026rtpof=true\u0026sd=true\"\u003e 2. «Тестирование iOS-приложений» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Выполнен анализ различных версий iOS, начиная с iOS 13, а также требований Apple \u003cbr\u003e к приложениям для восстановления старого приложения. Проведен подробный анализ \u003cbr\u003e несовместимостей приложения Ad Workout X с гайдлайнами App Store. Сформированы \u003cbr\u003e и переданы тимлиду iOS-разработки данные, необходимые для добавления нового \u003cbr\u003e тестового устройства в TestFlight. Присоединился к бета-тестированию приложения \u003cbr\u003e iT-TecNews через TestFlight и обновил его до последней версии сборки.\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://docs.google.com/spreadsheets/d/1fzeTYIpz5NqCU230l6h3ZB8MQafeRpho/edit?usp=sharing\u0026ouid=103433639670438982387\u0026rtpof=true\u0026sd=true\"\u003e 3. «Тестирование Android-приложений» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Выявлены возможные причины задержки в определении геолокации в новом \u003cbr\u003e приложении для геокешинга и описаны начальные шаги для диагностики данной \u003cbr\u003e проблемы. Создан чек-лист для тестирования подписок в новом Android-приложении \u003cbr\u003e для музыкального стриминга, использующего подписочную модель монетизации. \u003cbr\u003e В меню разработчика на устройстве Android были активированы различные \u003cbr\u003e функции с пояснением их полезности для проведения тестирования. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://docs.google.com/spreadsheets/d/180YBsppMg1BG2p0yez07eexjpVOU1_WC/edit?usp=sharing\u0026ouid=103433639670438982387\u0026rtpof=true\u0026sd=true\"\u003e 4. «Виды тестирования в контексте мобильных устройств» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Определены виды тестирования, необходимые для различных сценариев. \u003cbr\u003e Установлены пять основных причин, препятствующих успешной регистрации \u003cbr\u003e пользователей в приложении с большим числом установок, но низким уровнем \u003cbr\u003e зарегистрированных пользователей. Описаны шаги, которые следует предпринять \u003cbr\u003e в случае, если приложение соответствует бизнес-требованиям, но пользователи \u003cbr\u003e воспринимают это как баг. Проведены проверки на доступность для людей \u003cbr\u003e с ограниченными возможностями.\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://docs.google.com/spreadsheets/d/1fFLpiMfJj9Qsx-S8gLbolnI_MjbiuLwj/edit?usp=sharing\u0026ouid=103433639670438982387\u0026rtpof=true\u0026sd=true\"\u003e 5. «Выбор устройств для тестирования» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Были определены подходящие устройства для тестового случая на основе \u003cbr\u003e проведенного исследования, учитывающего финансовые условия и особенности \u003cbr\u003e  целевого рынка. Выявлены критерии, при которых оптимально использовать \u003cbr\u003e эмулятор, симулятор или реальное устройство. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://docs.google.com/spreadsheets/d/1SL7IK_GoM817jKF0ck0ws2PPWI9tLCan/edit?usp=sharing\u0026ouid=103433639670438982387\u0026rtpof=true\u0026sd=true\"\u003e 6. «Инструменты для тестирования мобильных приложений. Среда разработки» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e  Установил Homebrew для macOS и Linux, что позволило установить Android Debug \u003cbr\u003e Bridge (ADB) на macOS. С его помощью провел стресс-тестирование и получил \u003cbr\u003e логи тестируемого Android приложения. Проанализировал стектрейсы ошибок и \u003cbr\u003e выдвинул предположения о затронутых модулях приложения  и возможных \u003cbr\u003e действиях пользователя, вызвавшиx ошибки. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/setting-up-android-studio\"\u003e 2.1 «Автоматизация тестирования мобильных приложений» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Установлен Android Studio. Настроена конфигурация файловой среды на \u003cbr\u003e macOS (zsh), которая устанавливает переменные окружения для разработки \u003cbr\u003e приложений  на платформе Android и работы с Java. Эта конфигурация корректно \u003cbr\u003e настраивает пути к Android SDK и JDK, упрощая их использование. Запущен \u003cbr\u003e склонированный проект на эмуляторе. Проверена работоспособность приложения \u003cbr\u003e на реальном физическом  устройстве, подключенном через USB, для обнаружения \u003cbr\u003e возможных различий в поведении по сравнению с эмулятором. Проверен \u003cbr\u003e функционал приложения, в котором реализовано переключение между \u003cbr\u003e вкладками. Написан автотест с помощью Espresso Test Recorder. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/ui_automator_android_testing\"\u003e 2.2 «UI Automator. Автоматизация тестирования Android» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e В рамках проделанной работы было написано два теста: первый тест проверяет \u003cbr\u003e попытку установки пустой строки в поле ввода, а второй — открытие текста \u003cbr\u003e в новой Activity. После выполнения тестов были настроены автоматизированные \u003cbr\u003e проверки с использованием GitHub Actions. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n         \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/XCTest_ios_automation\"\u003e 2.3 «XCTest. Автоматизация тестирования iOS-приложений» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e  Установлена и настроена среда разработки Xcode. Добавлены UI-тесты для \u003cbr\u003e iOS-приложения с использованием библиотеки XCTest. Реализованы основные \u003cbr\u003e тесты, включая проверку активности кнопки \"Login\" и соответствие логина на \u003cbr\u003e экране профиля логину, который пользователь ввёл при повторном входе. Все \u003cbr\u003e тесты успешно прошли, обеспечивая стабильность функционала приложения. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n         \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/appium\"\u003e 2.4 «Appium. Кроссплатформенная мобильная автоматизация тестирования» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e В рамках задачи по настройке окружения для работы с Appium был установлен \u003cbr\u003e Appium и его зависимости. Проведен анализ системных зависимостей с помощью \u003cbr\u003e Appium Doctor, что обеспечило корректную работу платформы. Также был \u003cbr\u003e установлен Appium Inspector для удобной работы с элементами интерфейса \u003cbr\u003e приложений и разработаны тесты для проверки установки пустой строки \u003cbr\u003e и открытия текста в новой Activity. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n         \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/espresso\"\u003e 2.5 «Espresso. Автоматизация тестирования Android» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Склонирован и запущен тестовый проект в Android Studio, настроена библиотека \u003cbr\u003e Espresso для тестирования. Реализован тест для проверки главного экрана \u003cbr\u003e приложения с использованием Espresso. Экспортирован отчет теста в HTML-файл. \u003cbr\u003e Также добавлена интеграция Allure для генерации отчетов о тестировании и \u003cbr\u003e покрытия большинства потребностей. Отчеты успешно загружены в раздел \u003cbr\u003e Issues репозитория.\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n         \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/espresso-advanced-automation\"\u003e 2.6 «Espresso. Продвинутая автоматизация тестирования Android» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Настроены библиотеки Espresso, позволяющие эффективно тестировать \u003cbr\u003e пользовательский интерфейс Android-приложений, используя механизмы работы \u003cbr\u003e с Intents и асинхронными операциями через Idling Resources. Проработаны оба \u003cbr\u003e варианта реализации интентов, что значительно улучшило интеграцию тестов \u003cbr\u003e с функциональностью приложения. Также реализованы собственные ViewMatcher \u003cbr\u003e и ViewAssertions для проверки состояния UI-элементов, что обеспечивает \u003cbr\u003e уверенность в корректной работе приложения.\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e\u003c/br\u003e\u003c/br\u003e\u003cp\u003e\u003ca href=\"https://netology.ru/sharing/e59ac85386036d491aec49758e94fbd1?utm_source=social\u0026utm_campaign=certificate_lms \"\u003e\u003cimg  width=\"350px\" alt=\"svg\" src=\"assets/Certificate/mobile.jpg\" /\u003e\u003c/a\u003e\u003c/p\u003e\u003c/br\u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n  \u003c/table\u003e\n\n\u003cp  align=\"center\"\u003e\n\u003cimg width=\"1%\" src=\"assets/gifs/linedecor.png\"\u003e             \n\u003c/p\u003e\n\n\u003c/details\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"386px\" src=\"assets/gifs/line.gif\"\u003e             \n\u003c/p\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\n\u003c!-- Тестирование производительности --\u003e\n\n\n\u003ctable align=\"right\" width=\"100%\"\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"386px\" src=\"assets/gifs/line.gif\"\u003e             \n\u003c/p\u003e\n\n*\u003ch3 align=\"center\"\u003e\u003ca href=\"https://github.com/stars/levvolkov/lists/performance-testing\"\u003e «Тестирование \u003cbr\u003e производительности» \u003c/a\u003e\u003c/h3\u003e*\n\n\u003cp align=\"center\"\u003e\n \u003ca href=\"https://www.blazemeter.com/\" title=\"BlazeMeter\"\u003e\u003cimg src=\"assets/icon/blazemeter.svg\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n \u003ca href= \"https://hub.docker.com/billing/core/purchase?ref=signup\" title= \"Docker\"\u003e\u003cimg src=\"assets/icon/Docker.svg\"  width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n \u003ca href=\"https://dbeaver.com/docs/dbeaver/#gh-dark-mode-only\" title=\"DBeaver\"\u003e\u003cimg src=\"assets/icon/dbeaver-light.svg\" width=\"30px\"/\u003e\u003c/a\u003e\n \u003ca href=\"https://dbeaver.com/docs/dbeaver/#gh-light-mode-only\" title=\"DBeaver\"\u003e\u003cimg src=\"assets/icon/dbeaver-dark.svg\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n \u003ca href=\"https://jmeter.apache.org/\" title=\"JMeter\"\u003e\u003cimg src=\"assets/icon/jmeter.svg\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n \u003ca href=\"https://www.jenkins.io/download/\" title=\"Jenkins\"\u003e\u003cimg src=\"assets/icon/jenkins.svg\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n \u003ca href=\"https://grafana.com/docs/grafana/latest/getting-started/#gh-dark-mode-only\" title=\"Grafana\"\u003e\u003cimg src=\"assets/icon/grafana-light.svg\" width=\"30px\"/\u003e\u003c/a\u003e\n \u003ca href=\"https://grafana.com/docs/grafana/latest/getting-started/#gh-light-mode-only\" title=\"Grafana\"\u003e\u003cimg src=\"assets/icon/grafana-dark.svg\" width=\"30px\"/\u003e\u003c/a\u003e \n\u003c/p\u003e\n\n*\u003cdetails align=\"center\"\u003e*\n\n*\u003csummary\u003e Практическая работа \u003c/summary\u003e*\n\n*\u003ctable border=\"0\" align=\"center\"\u003e*\n\t\u003ctr\u003e\n                \u003ctd\u003e\u003cp\u003e\u003cimg width=\"700px\" src=\"assets/gifs/png.png\"\u003e\u003c/p\u003e\n\t\t*\u003cp\u003e\u003ca href=\"https://docs.google.com/document/d/1Em4pLeK8PbdaPNe7ljZcIG30dS4UrKbfS_V6pbslkZ0/edit?usp=sharing\"\u003e 1. «Введение в нагрузочное тестирование» \u003c/a\u003e\u003c/p\u003e \n                \u003cp\u003e Подготовлен список ключевых вопросов для менеджера проекта, чтобы уточнить \u003cbr\u003e требования и сценарии использования сайта в период повышенной активности, \u003cbr\u003e а также оценены потребности в оборудовании для нагрузки. В результате, \u003cbr\u003e определены виды тестирования, включая нагрузочное и стресс-тестирование, \u003cbr\u003e с составлением соответствующего плана тестирования для обеспечения \u003cbr\u003e стабильности веб-интерфейса в условиях ожидаемого наплыва пользователей.\u003c/p\u003e*\u003c/td\u003e\n        \u003c/tr\u003e\n\t \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/load_testing_stand\"\u003e 2. «Подготовка стенда нагрузочного тестирования» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Успешно развернута система мониторинга на базе Telegraf и InfluxDB, а также \u003cbr\u003e Node Exporter и Prometheus с последующим подключением графиков в Grafana. \u003cbr\u003e Настроены параметры отправки метрик: для Telegraf — каждые 60 секунд, а \u003cbr\u003e для Prometheus — каждые 36 секунд, включая мониторинг оперативной памяти, \u003cbr\u003e swap, жесткого диска и сетевых метрик. Проведён тест на отображение всех \u003cbr\u003e аппаратных метрик сервера, и сделаны скриншоты состояния  системы \u003cbr\u003e в покое, продолжительностью не менее 15 минут. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n         \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/load_testing_web\"\u003e 3. «Проведение нагрузочного тестирования WEB» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Были успешно осуществлены два раунда тестирования. В первом раунде был \u003cbr\u003e написан сценарий тестирования добавления комментария на сайт WordPress \u003cbr\u003e через BlazeMeter. Во втором раунде был реализован сценарий тестирования \u003cbr\u003e покупки билета и получения QR-кода через систему JMeter. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/database_load_testing\"\u003e 4. «Проведение нагрузочного тестирования DB» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Успешно запущено склонированное приложение с использованием \u003cbr\u003e Docker-контейнеров и обеспечено подключение к базе данных MariaDB с \u003cbr\u003e помощью DBeaver. Проведены замеры времени отклика для хранимых \u003cbr\u003e процедур dorepeat_v1 и dorepeat_v2, результаты показали, что процедура \u003cbr\u003e dorepeat_v2 работает дольше, чем dorepeat_v1 из-за своей более сложной \u003cbr\u003e структуры. Установлены соответствующие графики и проведен их анализ. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/load_testing_report\"\u003e 5. «Подготовка отчёта о тестировании и завершение проекта» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Проведено тестирование системы сайта WordPress с использованием JMeter \u003cbr\u003e для симуляции нагрузки и проверки производительности при записи данных.  \u003cbr\u003e Для этого были применены хранимые процедуры, предназначенные для \u003cbr\u003e автоматического добавления комментариев в базу данных. Тестирование \u003cbr\u003e позволило оценить поведение системы при записи данных без взаимодействия \u003cbr\u003e с пользовательским интерфейсом. На основе полученных результатов был \u003cbr\u003e составлен отчет, подтверждающий, что система обеспечивает заявленную \u003cbr\u003e производительность. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n         \u003ctr\u003e\n\t       \u003ctd\u003e\u003c/br\u003e\u003c/br\u003e\u003cp\u003e\u003ca href=\"https://netology.ru/sharing/8e5c486bd68deff7244eae2a1899b814?utm_source=social\u0026utm_campaign=certificate_lms\"\u003e\u003cimg  width=\"350px\" alt=\"Certificate performance testing\" src=\"assets/Certificate/performance.jpg\" /\u003e\u003c/a\u003e\u003c/p\u003e\u003c/br\u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n\u003c/table\u003e\n\n  \u003cp align=\"center\"\u003e\n\u003cimg width=\"1%\" src=\"assets/gifs/linedecor.png\"\u003e             \n\u003c/p\u003e\n\n\u003c/details\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"386px\" src=\"assets/gifs/line.gif\"\u003e             \n\u003c/p\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\n\u003c!--Тестирование безопасности--\u003e\n\n\n\u003ctable align=\"left\" width=\"100%\"\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n\n \u003cp align=\"center\"\u003e\n\u003cimg width=\"386px\" src=\"assets/gifs/line.gif\"\u003e             \n\u003c/p\u003e\n\n*\u003csup\u003e\u003ch3 align=\"center\"\u003e\u003ca href=\"https://drive.google.com/drive/folders/13WwzvX6rmyKC4ib0mx3K6SPYqDA3A2-j?usp=sharing\"\u003e «Тестирование безопасности» \u003c/a\u003e\u003c/h3\u003e\u003c/sup\u003e*\n\n\u003cp align=\"center\"\u003e \u003cbr\u003e\n\u003ca href= \"https://www.wireshark.org/download.html\" title= \"Wireshark\"\u003e\u003cimg src=\"assets/icon/wireshark.png\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n\u003ca href=\"https://www.zaproxy.org/download/#gh-dark-mode-only\" title=\"ZAP\"\u003e\u003cimg src=\"assets/icon/zap-light.png\" width=\"30px\"/\u003e\u003c/a\u003e \n\u003ca href=\"https://www.zaproxy.org/download/#gh-light-mode-only\" title=\"ZAP\"\u003e\u003cimg src=\"assets/icon/zap-dark.png\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n\u003ca href=\"https://nmap.org/download.html\" title=\"Nmap\"\u003e\u003cimg src=\"assets/icon/nmap.png\" width=\"30px\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n*\u003cdetails align=\"center\"\u003e*\n\n*\u003csummary\u003e Практическая работа \u003c/summary\u003e*\n\n*\u003ctable border=\"0\" align=\"center\"\u003e*\n            \u003ctr\u003e\n                \u003ctd\u003e\u003cp\u003e\u003cimg width=\"700px\" src=\"assets/gifs/png.png\"\u003e\u003c/p\u003e\n\t\t*\u003cp\u003e\u003ca href=\"https://docs.google.com/document/d/19te7JdB-GlipGd1BA3xDcYtmaCmnWhb18S-rb_0YTlY/edit?usp=sharing\"\u003e1 «Введение в тестирование безопасности»\u003c/a\u003e\u003c/p\u003e \n                \u003cp\u003eБыли установлены необходимые инструменты: Wireshark, Firefox и \u003cbr\u003e OWASP ZAP, что позволило начать работу с анализаторами сетевого \u003cbr\u003e трафика. В процессе выполнения практических заданий осуществлен \u003cbr\u003e захват трафика, проанализированы протоколы UDP и DNS, а также \u003cbr\u003e выполнено исследование веб-сайта с  помощью ZAP.\u003c/p\u003e*\u003c/td\u003e\n         \u003c/tr\u003e\n         \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://docs.google.com/document/d/1I5dqb_TUl040UsESU-gQinqBF5bxK_Q7NSczRVR5Xu4/edit?usp=sharing\"\u003e 2 «Инъекции и уязвимости на уровне ОС»\u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003eРазработан план тестирования приложения, сосредоточенный на двух \u003cbr\u003e полях: числовом и символьном. Для числового поля проверяли \u003cbr\u003e переполнение на предельных значениях, а для символьного — обработку \u003cbr\u003e входных данных и защиту от переполнения буфера. Также предложен \u003cbr\u003e Whitelist для символьного поля, ограничивающий допустимые символы, \u003cbr\u003e чтобы минимизировать риски атак.\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://docs.google.com/document/d/1IY21DXI-FMcwTMIfRrC9ZggV9Fa22BMRVpStZZmavTw/edit?usp=sharing\"\u003e3 «SQL, XSS, Code и другие инъекции»\u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Составлен план тестирования карточки товара, направленный на выявление \u003cbr\u003e уязвимостей XSS и SQL-инъекций. Проверка включает тестирование \u003cbr\u003e полей ввода на возможность выполнения вредоносного кода и манипуляции \u003cbr\u003e с запросами к базе данных, с акцентом на фильтрацию и экранирование \u003cbr\u003e входящих данных для предотвращения потенциальных атак. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://docs.google.com/document/d/1Tquxr9WOq_HkjO-JY-fr5dvMqUg4EnUO-4Y2wYMZnWM/edit?usp=sharing\"\u003e4 «Сетевая безопасность»\u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e Установлено приложение Nmap и выполнено сканирование хоста \u003cbr\u003e scanme.nmap.org для определения запущенных сетевых служб \u003cbr\u003e и операционной системы. Результаты анализа показали наличие \u003cbr\u003e четырех служб и определили, что веб-сервером является Apache \u003cbr\u003e httpd версии 2.4.7, работающий на одной из версий Linux. \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e\u003c/br\u003e\u003c/br\u003e\u003cp\u003e\u003ca href=\"https://netology.ru/sharing/497bb9b7eb340d7596d58f2a54cc7b33?utm_source=social\u0026utm_campaign=certificate_lms\"\u003e\u003cimg  width=\"350px\" alt=\"Certificate security testing\" src=\"assets/Certificate/securityTesting.jpg\" /\u003e\u003c/a\u003e\u003c/p\u003e\u003c/br\u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n  \u003c/table\u003e\n\n\u003cp  align=\"center\"\u003e\n\u003cimg width=\"1%\" src=\"assets/gifs/linedecor.png\"\u003e             \n\u003c/p\u003e\n\n\u003c/details\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"386px\" src=\"assets/gifs/line.gif\"\u003e             \n\u003c/p\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\n\u003c!-- Дипломный проект --\u003e\n\n\n\u003ctable align=\"right\" width=\"100%\"\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"386px\" src=\"assets/gifs/line.gif\"\u003e             \n\u003c/p\u003e\n\n*\u003ch3 align=\"center\"\u003e\u003ca href=\"https://github.com/levvolkov/diplomaProject-QA\"\u003e Дипломный проект по профессии \u003cbr\u003e «Инженер по тестированию» \u003c/a\u003e\u003c/h3\u003e*\n\n\u003cp align=\"center\"\u003e\n\u003ca href= \"https://developer.android.com/studio?hl=ru\" title= \"Android Studio\"\u003e\u003cimg src=\"assets/icon/android-studio.svg\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n\u003ca href= \"https://developer.android.com/training/testing/espresso/setup?hl=ru\" title= \"Espresso\"\u003e\u003cimg src=\"assets/icon/espresso.png\" width=\"30px\"/\u003e\u003c/a\u003e \u0026nbsp;\n\u003ca href=\"https://allurereport.org/docs/install/#gh-dark-mode-only\" title=\"Allure\"\u003e\u003cimg src=\"assets/icon/allure-light.png\" width=\"30px\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://allurereport.org/docs/install/#gh-light-mode-only\" title=\"Allure\"\u003e\u003cimg src=\"assets/icon/allure-dark.png\" width=\"30px\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n*\u003cdetails align=\"center\"\u003e*\n\n*\u003csummary\u003e Дипломная работа \u003c/summary\u003e*\n\n*\u003ctable border=\"0\" align=\"center\"\u003e*\n        \u003ctr\u003e\n                \u003ctd\u003e\u003cp\u003e\u003cimg width=\"700px\" src=\"assets/gifs/png.png\"\u003e\u003c/p\u003e\n\t\t*\u003cp\u003e \u003cbr\u003e Тестовая документация на проекте:\u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n         \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/diplomaProject-QA/blob/main/documentation/Plan.md\"\u003e «План по проверке и автоматизации приложения» \u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://docs.google.com/spreadsheets/d/1tp4zuPhJCrSsRBF5NDZpXZ0Zf8EW4IJW4OcM2-sP4Pw/edit?usp=sharing\"\u003e «Чек-лист c отметками о пройденных и не пройденных тестах»\u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://docs.google.com/spreadsheets/d/14wejW8lElOt6h5sYnSTjFMKYt1W6wXHiVvCJvYb8fsU/edit?usp=sharing\"\u003e «Тест-кейсы для проверки приложения»\u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/diplomaProject-QA/issues\"\u003e «Баг-репорты с обнаруженными ошибками»\u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n       \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://levvolkov.github.io/diplomaProject-QA/documentation/allure-report\"\u003e «Allure-отчет с результатами прогона авто-тестов»\u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n\t       \u003ctd\u003e*\u003cp\u003e\u003ca href=\"https://github.com/levvolkov/diplomaProject-QA/blob/main/documentation/Result.md\"\u003e «Отчет о проведенном тестировании»\u003c/a\u003e\u003c/p\u003e\n\t       \u003cp\u003e \u003c/p\u003e*\u003c/td\u003e\n\t\u003c/tr\u003e\n        \u003ctr\u003e\n        \u003ctd\u003e\u003c/br\u003e\u003c/br\u003e\u003cp\u003e\u003ca href=\"https://netology.ru/sharing/7cd4d9407504fb43418ef84298810ac7?utm_source=social\u0026utm_campaign=certificate_lms\"\u003e\u003cimg  width=\"350px\" alt=\"Certificate QAMID\" src=\"assets/Certificate/certificate-qamid.jpg\" /\u003e\u003c/a\u003e\u003c/p\u003e\u003c/br\u003e\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n        \u003ctd\u003e\u003c/br\u003e\u003c/br\u003e\u003cp\u003e\u003ca href=\"assets/Certificate/letter_of_recommendation.jpg\"\u003e\u003cimg  width=\"700px\" alt=\"Letter of recommendation\" src=\"assets/Certificate/letter_of_recommendation.jpg\" /\u003e\u003c/a\u003e\u003c/p\u003e\u003c/br\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"1%\" src=\"assets/gifs/linedecor.png\"\u003e             \n\u003c/p\u003e\n\n\u003c/details\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"386px\" src=\"assets/gifs/line.gif\"\u003e             \n\u003c/p\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\n\u003c!-- GitHub stats --\u003e\n\n\n\u003ctable\u003e\n  \u003ctr align=\"center\"\u003e\n    \u003ctd\u003e\n      \u003cpicture\u003e\n        \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://github-readme-activity-graph.vercel.app/graph?username=LevVolkov\u0026theme=react-dark\u0026hide_border=true\u0026hide_title=false\u0026area=true\u0026custom_title=Total%20contribution%20graph%20in%20all%20repositories\u0026bg_color=FF000000\u0026color=ffffff\u0026title_color=006AFF\u0026point=006AFF\u0026line=006AFF\u0026area_color=006AFF\" /\u003e\n        \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://github-readme-activity-graph.vercel.app/graph?username=LevVolkov\u0026theme=react-dark\u0026hide_border=true\u0026hide_title=false\u0026area=true\u0026custom_title=Total%20contribution%20graph%20in%20all%20repositories\u0026bg_color=FF000000\u0026color=000000\u0026title_color=006AFF\u0026point=006AFF\u0026line=006AFF\u0026area_color=006AFF\" /\u003e\n        \u003cimg src=\"https://github-readme-activity-graph.vercel.app/graph?username=LevVolkov\u0026theme=react-dark\u0026hide_border=true\u0026hide_title=false\u0026area=true\u0026custom_title=Total%20contribution%20graph%20in%20all%20repositories\u0026bg_color=FF000000\u0026color=006AFF\u0026point=006AFF\u0026line=006AFF\u0026area_color=006AFF\" width=\"85%\"/\u003e\n      \u003c/picture\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\n\u003ctable\u003e\n  \u003ctr align=\"center\"\u003e\n    \u003ctd\u003e \n\u003cpicture\u003e\n  \u003csource srcset=\"https://github.com/levvolkov/github_stats/blob/main/output/stats_commits.svg#gh-dark-mode-only\" media=\"(prefers-color-scheme: dark)\"\u003e\n  \u003cimg src=\"https://github.com/levvolkov/github_stats/blob/main/output/stats_commits.svg\" width=\"55%\"\u003e\n\u003c/picture\u003e\n\u003cpicture\u003e\n  \u003csource srcset=\"https://github.com/levvolkov/github_stats/blob/main/output/stats_langs.svg#gh-dark-mode-only\" media=\"(prefers-color-scheme: dark)\"\u003e\n  \u003cimg src=\"https://github.com/levvolkov/github_stats/blob/main/output/stats_langs.svg\" width=\"43%\"\u003e\n\u003c/picture\u003e\n\u003cpicture\u003e\n  \u003csource srcset=\"https://github.com/levvolkov/github_stats/blob/main/output/stats_general.svg#gh-dark-mode-only\" media=\"(prefers-color-scheme: dark)\"\u003e\n  \u003cimg src=\"https://github.com/levvolkov/github_stats/blob/main/output/stats_general.svg\" width=\"43%\"\u003e\n\u003c/picture\u003e\n\u003cpicture\u003e\n  \u003csource srcset=\"https://github.com/levvolkov/github_stats/blob/main/output/stats_visitors.svg#gh-dark-mode-only\" media=\"(prefers-color-scheme: dark)\"\u003e\n  \u003cimg src=\"https://github.com/levvolkov/github_stats/blob/main/output/stats_visitors.svg\" width=\"55%\"\u003e\n\u003c/picture\u003e\n    \u003c/td\u003e \n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\n\u003ctable\u003e\n  \u003ctr align=\"center\"\u003e\n    \u003ctd\u003e \n      \u003c/picture\u003e \n      \u003cpicture\u003e\n        \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://github-profile-summary-cards.vercel.app/api/cards/profile-details?username=levvolkov\u0026theme=github_dark\u0026hide_border=true\" /\u003e\n        \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://github-profile-summary-cards.vercel.app/api/cards/profile-details?username=levvolkov\u0026theme=github\u0026hide_border=true\" /\u003e\n        \u003cimg src=\"http://github-profile-summary-cards.vercel.app/api/cards/profile-details?username=levvolkov\u0026theme=transparent\" width=\"64%\" alt=\"Lev Volkov profile-details\"/\u003e\n      \u003c/picture\u003e \u0026nbsp;\n       \u003cpicture\u003e\n        \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://github-profile-summary-cards.vercel.app/api/cards/productive-time?username=levvolkov\u0026theme=github_dark\u0026utcOffset=3\" /\u003e\n        \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://github-profile-summary-cards.vercel.app/api/cards/productive-time?username=levvolkov\u0026theme=github\u0026utcOffset=3\" /\u003e\n        \u003cimg src=\"http://github-profile-summary-cards.vercel.app/api/cards/productive-time?username=LevVolkov\u0026theme=transparent\u0026utcOffset=3\" width=\"31%\" alt=\"Lev Volkov productive-time\"/\u003e\n      \u003c/picture\u003e\n    \u003c/td\u003e \n  \u003c/tr\u003e\n\u003c/table\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flevvolkov%2Flevvolkov","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flevvolkov%2Flevvolkov","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flevvolkov%2Flevvolkov/lists"}