Top.Mail.Ru
Программа обучения QA middle
1 Этап: Тестирование веб-приложений
Время прохождения : 2 месяца
Содержание:
Результат:
1. Научитесь использовать инструменты разработчика Chrome (DevTools) для тестирования веб-приложений
2. Освоите просмотр информации об элементах веб-страницы, мониторинг HTTP-запросов и работу с файлами cookie
3. Сможете применять инструменты разработчика для ручного тестирования и оптимизации производительности веб-приложений
Введение и основы тестирования. Инструменты тестирования
Расширенные техники тестирования
Написание тестовых сценариев действующего приложения
Обратная связь
Содержание:
Время прохождения : 1 месяц
Тестирование элементов. Форм авторизации / регистрации. Текстовых полей и др
Функции и выражения в SQL запросах
Введение и реляционные базы данных
2 Этап: Базы данных
Проектирование и оптимизация баз данных
Основные запросы SQL
Практика:
1. Создание базы данных для управления рецептами: проект предполагает разработку базы данных для хранения рецептов различных блюд
2. Разработка системы учёта посещаемости + домашние задания
Результат:
1. Изучили, как писать запросы SQL, функции и выражения в запроса
2. Научились проектировать и оптимизировать базы данных
Практика:
1. Протестируете в команде веб приложение
2. Протестируете API через Postman
3. Напишите тестовые сценарии на действующее приложения + домашние задания
DevTools для тестирование веб приложений и дополнительные инструменты тестирования
Кроссплатформенное и кроссбраузерное тестрование
Тестирование требований
Тестирование API. Чтение данных с сервера. Манипуляция данных на сервере
Тестирование безопасности. Клиентские уязвимости. Уязвимости API
Этап 3. Основы Python
Содержание:
Время прохождения: 1 месяц
Типы данных. Числа, строки, коллекции, булевые значения
Конструкции условий. Операторы if, else, elif. Логические операторы or, and, not. Тернарный оператор. Синтаксический сахар в условиях
Циклы: for, while. Операторы break, continue. Функции range, enumerate, zip. Вложенные циклы
Практика:
1. Проект 1: Консольное приложение “Система регистрации пользователей”
2. Проект 2: Консольная игра “Крестики-нолики”
+ домашние задания
Классы и объекты. Атрибуты и методы классов/объектов. Различие класса и объекта
Функции. Пространства имён: локальное, глобальное. Параметры: позиционные, именованные. Распаковка параметров. Оператор return - возврат значения. Рекурсия. Встроенные функцииФункции. Пространства имён: локальное, глобальное. Параметры: позиционные, именованные. Распаковка параметров. Оператор return - возврат значения. Рекурсия. Встроенные функции
Работа с модулями. Подключение модулей, операторы: import, from. Пакеты модулей. Пространство имён модулей, конфликты имён
1. Напишете 20 небольших программ с использованием полученных знаний
2. Освоите синтаксис языка Python для написания простейших программ
Результат:
3. Получите навык создания собственных типов данных
4. Приобретете опыт в проектировании приложений с большим содержанием кода
Этап 4. Selenium и Веб-верстка
Содержание:
Время прохождения: 2 месяца
1. Изучите интеграционное тестирование на примере фреймворка Selenium
2. Освоите продвинутую верстку и научитесь взаимодействовать с DOM с помощью JavaScript
Результат:
Идея автоматизированного тестирования
Поиск локаторов элементов страницы
Управление браузером
DevTools для тестирование веб приложений и дополнительные инструменты тестирования
Работа с файлами Selenium
Взаимодействие с различными элементами браузера
Построение автотестов
Введение в веб-разработку. Основные понятия
Основы HTML: структура документа, теги и элементы, создание таблиц и форм
Основы CSS: селекторы, стили, форматирование текста, блочная модель
Введение в JavaScript: переменные, типы данных, операторы, функции
11
Практика:
1. Напишите 2 полноценных smoke-теста для стенда
2. Проект: Персональный сайт-визитка с навигацией
3. Проект: Сайт для управления библиотекой книг с интерактивными элементами. + набор домашних заданий по темам блока
Продвинутая верстка: Flexbox, Grid, адаптивный дизайн
12
Введение в работу с DOM: выбор элементов, изменение структуры документа, обработка событий
13
Этап 5. Базы данных (Middle)
Содержание:
Время прохождения: 1 месяц
1. Углубленное понимание реляционных и нереляционных баз данных (SQL и NoSQL)
2. Оптимизация сложных запросов для повышения производительности приложений
Результат:
3. Проектирование сложных схем баз данных с учетом нормализации и денормализации данных
Индексация и оптимизация запросов
Продвинутое проектирование баз данных: нормализация, денормализация
Работа с NoSQL базами данных (например, MongoDB)
Практика:
1. Разработка базы данных для системы управления крупными проектами
2. Оптимизация существующей базы данных на уровне индексов, шардирования, кластеризации
Миграция данных и резервное копирование
Интеграция баз данных с backend-системамиИнтеграция баз данных с backend-системами
Этап 6. Python (Middle)
Содержание:
Время прохождения: 2 месяца
1. Разработка масштабируемых приложений на Python
2. Использование многопоточности и асинхронного программирования для улучшения производительности
Результат:
3. Освоение принципов ООП на глубоком уровне (инкапсуляция, наследование, полиморфизм)
Продвинутые темы ООП: абстрактные классы, интерфейсы, метаклассы
Работа с асинхронным кодом и корутинами (asyncio)
Написание тестов на PyTest
Практика:
1. Проектирование веб-приложения с использованием фреймворков (например, Django, Flask)
2. Разработка сложного API с асинхронной обработкой данных
Работа с базами данных через ORM (SQLAlchemy, Django ORM)
Оптимизация кода: профилирование и тестирование производительности
Этап 7. Нагрузочное тестирование (Middle)
Содержание:
Время прохождения: 1 месяц
Введение в нагрузочное тестирование: цели и задачи, метрики производительности
1. Освоите основы и инструменты нагрузочного тестирования для оценки производительности веб-приложений
2. Научитесь определять и анализировать узкие места в производительности системы
Результат:
3. Сможете планировать, проводить и интерпретировать результаты нагрузочных тестов
4. Получите опыт автоматизации и интеграции нагрузочных тестов в CI/CD
Виды нагрузочного тестирования: стресс-тестирование, тестирование на устойчивость, пиковая нагрузка
Инструменты для нагрузочного тестирования (JMeter, Gatling, Locust): установка, настройка, основные возможности
Оптимизация производительности: работа с базами данных, кэширование, оптимизация кода и инфраструктуры
Интеграция нагрузочного тестирования в процессы CI/CD: автоматизация и мониторинг
Практика:
1. Проведение нагрузочного тестирования веб-приложений с использованием популярных инструментов (например, JMeter, Gatling, Locust)
2. Создание сценариев нагрузочного тестирования для симуляции реальных пользовательских нагрузок
6. Сравнение эффективности разных типов тестирования и выбор подходящих решений для конкретных сценариев
5. Оптимизация системы на основе результатов тестирования (кэширование, настройка серверов, оптимизация запросов)
4. Реализация проекта нагрузочного тестирования для крупного веб-приложения
3. Анализ результатов тестирования и оптимизация системы
Создание сценариев нагрузочного тестирования: настройка профилей нагрузки, моделирование реальных пользовательских сценариев
Анализ результатов тестирования: выявление узких мест, интерпретация метрик, генерация отчетов
Этап 8. Мобильное тестирование (Middle)
Содержание:
Время прохождения: 1 месяц
Введение в мобильное тестирование: отличия от тестирования веб-приложений, виды мобильных приложений (нативные, гибридные, веб-приложения).
1. Освоите тестирование мобильных приложений на различных платформах (iOS и Android)
2. Узнаете особенности мобильного тестирования, включая тестирование производительности, UX/UI, энергопотребления и сети
Результат:
3. Изучите инструменты для автоматизации мобильного тестирования
4. Сможете применять техники кроссплатформенного тестирования мобильных приложений
Основные виды тестирования мобильных приложений: функциональное, регрессионное, тестирование производительности, UX/UI
Инструменты для мобильного тестирования: Appium, Espresso (Android), XCTest (iOS), эмуляторы и реальные устройстваИнструменты для мобильного тестирования: Appium, Espresso (Android), XCTest (iOS), эмуляторы и реальные устройства
Тестирование сети и энергопотребления: влияние качества сети и нагрузки на батарею
Автоматизация тестирования мобильных приложений: написание тестов на Appium (и других фреймворках), настройка среды для автоматизации
Практика:
1. Тестирование реальных мобильных приложений на эмуляторах и физических устройствах
2. Написание автотестов для мобильных приложений с использованием Appium, Espresso или XCTest
6. Адаптация мобильных тестов под CI/CD, работа с эмуляторами и реальными устройствами в облаке (например, BrowserStack или Firebase Test Lab).
5. Реализация функционального и нагрузочного тестирования на различных устройствах
4. Написание и выполнение тестов для мобильного приложения с использованием Appium или альтернативного фреймворка
3. Проведение функционального и нагрузочного тестирования мобильных приложений
Кроссплатформенное тестирование: использование фреймворков для тестирования на нескольких платформах
Тестирование на разных экранах и устройствах: адаптация под различные разрешения и форм-факторы
Интеграция мобильных тестов в CI/CD пайплайны для регулярного автоматического тестирования
Этап 9. Дополнительные темы (для всех этапов)
Содержание:
Время прохождения: 1 месяц
1. Работа с системами контроля версий (Git): продвинутое использование
Результат:
Введение в DevOps: мониторинг, логирование, работа с контейнерами (Docker)
Практика:
1. Архитектура тестирования: разделение уровней, автоматизация тестовых сценариев
После успешного завершения обучения:
Сертификат
Персональный сертификат о прохождении специализации. По запросу на английском языке.
Развитие карьеры и бизнеса:
У вас будет:
Консультации с ментором в течение обучения.
У вас будет:
Подборки вакансий, инсайты рынка труда.
У вас будет:
Проекты в ваше портфолио.
У вас будет:
Реальный опыт на крауд-платформах.