Ожидается, что слушатели этого курса будет иметь знания в следующих областях:
Разработка программного обеспечения на Java, включая, но не ограничиваясь: переменные, основные операции, методы, объектно-ориентированное программирование (классы, интерфейсы, объекты), коллекции, инструменты сборки Java-проектов (Maven/Gradle), знание Java 8+ приветствуется.
Основы тестирования программного обеспечения (общая идея, виды тестирования, входы и выходы процесса тестирования).
Приветствуется знание основ SQL, REST API и регулярных выражений.
Требования к слушателям
Программа курса
Введение
Обзор SDLC и STLC.
Цели автоматизации тестирования. Области применения. Перспективы.
Подходы к автоматизации тестирования, инструменты, фреймворки. Плюсы и минусы бесскриптовых и низкоскриптовых инструментов.
Java-программирование для автоматизации тестирования. Популярные фреймворки для тестирования (JUnit, TestNG).
Обзор применения других языки программирования, используемые для автоматизации тестирования (C#, Python, JavaScript).
Подход “Разработка через поведение” (BDD)
Подход «сдвиг влево» в тестировании. Разработка через тестирование (Test-Driven Development, TDD). Разработка через поведение (Behavior-Driven Development, BDD).
Синтаксис языка Gherkin.
Фреймворк Cucumber — Java-реализация для Gherkin.
Настройка тестовой среды и создание проекта Контроль версий (git). Экосистемы Github, Bitbucket, GitLab. Тестирование веб-страниц
Введение в тестирование веб-страниц. Веб-разработка для облегчения тестирования.
Язык XPath.
Фреймворки Selenium/Selenide. Вебдрайверы.
Плюсы и минусы шаблона PageObject.
Лучшие практики, советы и рекомендации.
Тестирование REST API
Протокол HTTP и основы REST.
Обзор лучших практик API.
Инструменты (Postman/SOAPUI).
Тестирование API с использованием Java.
Тестирование базы данных
Реляционная БД и SQL.
JDBC.
Тестирование NoSQL БД (Redis).
Эксплуатация автоматизированного тестирования
Планирование и запуск наборов тестов.
Непрерывная интеграция с Jenkins.
Создание отчетов о тестировании.
Протоколирование, документирование и поддержка тестов.
Версионирование набора тестов для разных сред.
Продвинутое тестирование API
Самодокументированный API (Swagger).
API с самонавигацией (HATEOAS).
Автотестирование с помощью Postman.
Другие протоколы, используемые в API (SOAP, GraphQL, gRPC).