Описание курса:
С развитием цифровых продуктов ручное тестирование становится недостаточно эффективным. Автоматизация позволяет экономить время, повышать качество ПО и ускорять выход новых функций на рынок. Python — один из самых популярных языков для написания автотестов благодаря своей простоте, читаемости кода и широкому набору инструментов.
Необходимая подготовка:
• Умение программировать на Python;
• Знание системы управления версиями Git.
Программа курса:
Модуль 1. Введение в курс:
• Основные знания и вызовы в профессии тестировщика ПО;
• Методологии и подходы к созданию программного обеспечения;
• Этапы жизненного цикла ПО и роль тестирования на каждом из них;
• Базовые термины и понятия, используемые в тестировании.
Модуль 2. Основы Python:
• Основы Python;
• Особенности языка Python;
• Переменные и циклы;
• Функции и исключения на Python.
Модуль 3. Тестирование консольных приложений:
• Знакомство с модулем unittest — использование базовых классов и методов для разработки тестов;
• Обзор возможностей и преимуществ модуля pytest, его отличительные особенности по сравнению с другими фреймворками;
• Применение методов проверки: проверка истинности условия, равенства значений, возникновения исключений и их сообщений;
• Практика написания и запуска тестов для консольных приложений;
• Анализ результатов выполнения тестов и интерпретация вывода.
Модуль 4. Ведение тестовой документации:
• Виды тестовой документации;
• Тестовые случаи и их свойства;
• Структура тестовых случаев;
• Рекомендации по составлению тестовой документации;
• Критерии выбора тестовой документации;
• Tox - средство тестирования приложения на различных версиях Python;
• Coverage - средство создания отчетов о результатах тестов.
Модуль 5. Тестирование веб-приложений на фреймворке Django:
• Использование специализированных классов Django для написания тестов;
• Организация тестов в структуре файловой системы веб-приложения;
• Проверка работы форм и представлений (views) в рамках тестирования функционала;
• Настройка и создание изолированной тестовой базы данных для проверки работы приложения;
• Генерация тестовых объектов, включая использование моков (mock-объектов) для имитации данных.
Модуль 6. Тестирование веб-приложений на фреймворке FastAPI:
• Тестирование веб-приложений на фреймворке FastAPI;
• Отличия асинхронных приложений от синхронных;
• Особенности асинхронного тестирования.
Модуль 7. Тестирование веб-приложений на фреймворке Flask:
• Тестирование веб-приложений на фреймворке Flask;
• Создание собственных обработчиков ошибок HTTP;
• Отправка сообщений об ошибках на почту.
Модуль 8. Selenium — пакет для тестирования веб-приложений:
• Парсинг веб-страниц;
• Парсинг многостраничных сайтов;
• Получение данных из элементов управления;
• Генерация событий на элементах управления;
• Составление интеграционных тестов;
• Правила составления тестовых сценариев.
Окончательная цена указывается в договоре на обучение.