Курс начинается с фундаментальных понятий тестирования. Студенты узнают, что такое тестирование, почему оно необходимо и какие цели преследует. Рассматриваются понятия валидации и верификации, а также характеристики качества программного обеспечения. Этот модуль дает общее представление о процессе тестирования и его месте в разработке ПО.
Далее курс охватывает различные методологии разработки - от классического Waterfall до гибких подходов Agile, Scrum и Kanban. Студенты изучают жизненный цикл разработки ПО и понимают, как тестирование интегрируется в каждую из методологий. Модуль также включает семь фундаментальных принципов тестирования, уровни и виды тестирования, а также психологические аспекты работы тестировщика.
Этот блок учит работать с требованиями к программному обеспечению. Студенты осваивают основные виды тестовой документации - чек-листы, тест-кейсы и тест-сьюты. Особое внимание уделяется техникам тест-дизайна, включая разбиение на классы эквивалентности, анализ граничных значений, таблицы решений и pairwise тестирование.
Студенты обучаются идентифицировать и классифицировать дефекты, понимать их стоимость и жизненный цикл. Они осваивают работу с баг-трекерами и учатся составлять понятные баг-отчеты. Модуль также охватывает основы тест-менеджмента - создание тест-планов, оценку рисков и методы оценки трудозатрат.
Второй модуль посвящен техническим основам. Студенты изучают клиент-серверную архитектуру, сетевые протоколы и принципы работы веб-приложений. Они разбираются в основах HTML и CSS, что помогает лучше понимать строение веб-страниц. Особое внимание уделяется работе с базами данных и языку SQL для проверки данных на стороне сервера.
Этот блок охватывает тестирование API с помощью Postman, включая работу с REST и SOAP протоколами. Студенты также изучают особенности тестирования мобильных приложений - различные типы приложений, платформы и методы тестирования. Практические задания помогают закрепить навыки работы с разными типами интерфейсов.
Третий модуль посвящен изучению языка программирования Java. Студенты начинают с основ - переменных, типов данных и операторов. Потом переходят к более сложным темам - массивам, строкам, условным конструкциям и циклам. Каждая тема подкрепляется практическими примерами, что помогает лучше понять принципы программирования.
Этот блок глубже погружается в ООП. Студенты изучают классы, объекты, поля и методы, наследование и интерфейсы. Они осваивают принципы SOLID, паттерны проектирования и работу с коллекциями. Модуль также включает работу с исключениями, файлами, JSON и рефлексией, что является важными навыками для автоматизатора тестирования.
Четвертый модуль посвящен автоматизации UI-тестирования. Студенты знакомятся с библиотекой Selenium WebDriver, учатся работать с локаторами и ожиданиями. Они осваивают различные способы поиска элементов на странице, включая XPath и CSS селекторы. Модуль также охватывает альтернативные инструменты автоматизации.
Пятый модуль учит создавать собственные фреймворки для автоматизации. Студенты изучают TestNG для организации тестов, assertions для проверки результатов и Maven для управления зависимостями. Они осваивают паттерн Page Object и учатся настраивать CI/CD пайплайны с Jenkins и Allure для отчетности.
Последний модуль охватывает тестирование веб-сервисов, включая REST и SOAP. Студенты изучают подходы TDD и BDD, работают с Cucumber для BDD автоматизации. Завершается курс дипломной работой, где студенты применяют все полученные навыки для полноценного тестирования реального проекта - от планирования до отчетности о результатах.
Курс включает подготовку к собеседованиям - мастер-класс по составлению резюме, тестовые собеседования с техническими специалистами и консультации с рекрутерами. Студенты получают сопровождение до момента трудоустройства, а также имеют возможность посетить 24 занятия по английскому языку для улучшения коммуникативных навыков.