Java QA Automation Engineer
О курсе
Курс даёт возможность трудоустройства, прохождению стажировки и индивидуальному техническому собеседованию.
Данный курс подойдёт обучающимся, освоившим ручное тестирование на базовом курсе.
Инженер по автоматизации тестирования программного обеспечения пишет тестовый код и использует специализированные инструменты управления тестовыми данными увеличивающие скорость тестирования, повышающие точность и надежность результатов, сокращающие время затраченное на проверку работоспособности программы, заодно снижая риск человеческой ошибки при постоянном воспроизведении тестов.
Чему вы научитесь?
- 1. HTML CSS позволяющие использовать CSS селекторы и XPath локаторы для эффективного поиска элементов на веб-странице. Это важный навык для автоматизации веб-тестирования, поскольку он позволяет вам взаимодействовать с элементами интерфейса на веб-странице.
- 2. Git для создания хранилища репозитория, добавления файлов проекта, фиксирования изменениий в коммитах.
- 3. Базы данных, куда входят знания по: видам БД, типам данных в БД, транзакциям, ER диаграммам, набору требований к транзакционной системе ACID, CAP теореме, нормализации и языку для работы с базами данных SQL. Эти знания важны для получения правильного ответа от приложений и веб сайтов на транзакции-запросы исходящие от пользователя.
- 4. Основы Java, включая: настройку проекта через переменные JAVA_HOME и PATH, типы данных, математические и логические операторы if else, switch, циклы for, do, while, функции, методы, массивы, объектно ориентированное программирование ООП, классы, абстракции и интерфейс. Это основа для работы с инструментами для написания эффективных автоматизированных тестов.
- 5. Gradle: используется для автоматизации сборки, тестирования, публикации и развертывания проектов. Вы поймете, как создавать и настраивать файлы сборки Gradle, а также как использовать Gradle для управления зависимостями, позволяющими добавить другие инструменты автоматизации тестирования в ваши проекты.
- 6. Chromedriver и Selenium - два ключевых инструмента, основополагающих для автоматизации различных видов веб-тестов, включая функциональное тестирование и тестирование пользовательского интерфейса.
- 7. TestNG - популярный framework (библиотека готового кода) для автотестирования на Java, вдохновлённый платформами JUnit и NUnit, разработанными ранее. TestNG позволяет выполнять сразу множество тестов, содержит аннотации для предусловий и постусловий, способен записывать логи, выполнять непрерывную интеграцию Ci/CD и многое другое.
- 8. Мобильное тестирование и Android studio – Вы научитесь создавать виртуальные устройства с различными конфигурациями для тестирования приложений на разных версиях Android. Познакомитесь с инструментами сборки Gradle в Android Studio, что позволит автоматизировать процесс сборки и тестирования приложений.
- 9. Android Debug Bridge (adb) команды для применения в мобильном тестировании по логированию adb logcat, очистки данных приложения adb shell pm clear, Снятие скриншота экрана устройства adb shell screencap и других.
- 10. Appium – для непосредственного написания автоматизированных тестов на мобильные приложения и их последующий запуск через Appium Server. Также Вы познакомьтесь с инструментом для визуального исследования элементов пользовательского интерфейса приложения Appium Inspector.
- 11. Charles proxy - Анализатор сетевого траффика (sniffer), позволяющий создавать условия ограниченной или нестабильной сети для тестирования приложения в различных сценариях.
- 12. Page Object Model (POM) - методика необходимая, чтобы создавать объекты страниц и использовать их для моделирования взаимодействий пользователя с веб-приложением.
- 13. Jenkins - инструмент «непрерывной интеграции/непрерывной доставки CI/CD » для автоматического запуска ваших тестов по расписанию.
- 14. APi инструменты автоматизации серверных запросов request и ответов response: http client, Rest Assured и okhttp.
- 15. DTO классы хранения данных для APi тестов.
- 16. Data Provider как функция для предоставления данных для ваших тестов. Вы научитесь организовывать тесты, группировать их и запускать с различными наборами данных.
- 17. Инструмент логирования logback для отслеживания и диагностики проблем во время выполнения тестов, для быстрого обнаружения и исправления ошибок в ваших тестах.
- 18. Selenide – как оберткой над Selenium для упрощения синтаксиса Ui тестов для веб-приложений.
- 19. Cucumber используемый в методологии «разработки через поведение» BDD (Behavior-Driven Development), использующийся для легко читающихся и понимающихся тестов.
Содержание курса
Основы HTML CSS (5 уроков) Краткий курс по освоению языка разметки HTML CSS, для подготовки к автоматизации тестирования программ.
-
1. Основы структуры и функционирования сайта. Базовые теги html.
02:00:00 -
Домашнее задание 1. Создание html страницы
-
2. Ссылки, изображения, списки, символы и формы для заполнения.
02:00:00 -
Домашнее задание 2. Создание меню сайта.
-
3. Селекторы, единицы измерения, базовые стили формы элементов и изображений в CSS.
02:00:00 -
Домашнее задание 3. Добавление CSS стилей на свой сайт, часть 1.
-
4. Вложенность наследование и группирование в CSS. Стили текста и списков.
02:00:00 -
Домашнее задание 4. Добавление CSS стилей на свой сайт, часть 2.
-
5. Блочная модель. Псевдоклассы и псевдоэлементы. Табличная вёрстка.
02:00:00 -
Домашнее задание 5. Создание блочной и табличной вёрстки
Базы данных и SQL (3 урока) SQL для тестировщиков.
-
1. ER-диаграммы, основы баз данных, виды БД, типы данных в БД, транзакции, ACID, CAP теорема, нормализация.
01:30:00 -
Домашнее задание 1, часть 1 тест по теории баз данных
-
Домашнее задание 1, часть 2: настройка СУБД PostgreSQL.
-
2. SQL часть 1 Команды: select insert max avg order by desc where
00:00 -
Домашнее задание 2. Практика SQL.
-
3. SQL часть 2 Команды: group by having distinct JOIN left right union
02:00:00 -
Домашнее задание 3. Практика SQL.
Основы JAVA (7 уроков) Основы java для подготовки к автоматизации тестирования программ.
-
1. Настройка проекта JAVA_HOME, PATH, редактор кода, метод main. GIT
01:30:00 -
Домашнее задание 1. Настройка переменных JAVA_HOME и PATH, редактор кода, метод main.
-
2. Типы данных string, int и т.д. Математические операторы.
02:00:00 -
Домашнее задание 2. Математические вычисления
-
3. Логические операторы IF ELSE, SWITCH. Циклы FOR, WHILE, DO
02:00:00 -
Домашнее задание 3. Логические операторы
-
4. Функции и методы
02:00:00 -
Домашнее задание 4. Функции и методы
-
5. Массивы
02:00:00 -
Домашнее задание 5. Массивы
-
6. Объектно ориентированное программирование часть 1
02:00:00 -
Домашнее задание 6. ООП часть 1.
-
7. Объектно ориентированное программирование часть 2, абстракция, интерфейс
02:00:00 -
Домашнее задание 7. ООП часть 2.
Автоматизация тестирования ПО (30 уроков) Основная часть курса содержащая все темы, необходимые для опытного middle QA по автоматизации тестирования программного обеспечения.
-
1. Настройка проекта автоматизации. Сборка проектов в Gradle. Chromedriver.
01:30:00 -
Домашнее задание 1. Настройка зависимостей dependencies
-
2. Мини-проект тестирования онлайн магазина на Selenium. Размещение проекта в GIT репозитории.
02:00:00 -
Домашнее задание 2. Создание автотеста по переходу на страницу и подтверждение её контента
-
3. CSS и XPATH локаторы
02:00:00 -
Домашнее задание 3. Создание CSS и XPATH локаторов
-
4. Начало первого курсового проекта: сайт-записная книжка контактов. Метод проверки на существование элемента IsElementPresent. Класс TestBase
02:00:00 -
Домашнее задание 4. Автотесты авторизации и навигации по веб-приложению телефонной книги
-
5. Методы печати type и нажатия click. Извлечение объекта
02:00:00 -
Домашнее задание 5. Взаимодействие с интерфейсом Ui по удалению контакта
-
6. Setters и текучий интерфейс (Fluent interface). Метод набора предусловий BeforeSuit
02:00:00 -
Домашнее задание 6. Оптимизация проекта под fluent интерфейс.
-
7. Паттерн “Объект-значение” Value Object Model (VOM). Менеджмент объектов ООП ApplicationManager
02:00:00 -
Домашнее задание 7. VOM проект.
-
8. Тесты через xml файл и консоль cmd в testNG.
02:00:00 -
Домашнее задание 8. Тесты в testng.xml.
-
9. Предоставление тесту данных через функцию DataProvider. Автоматическое создание логов об ошибке.
02:00:00 -
Домашнее задание 9. негативный тест по регистрации с DataProvider и logs.
-
10. Jenkins часть 1. Непрерывная интеграция (CI/CD, Continuous Integration/Continuous Delivery) Автозапуск тестов. Автоматическое создание скриншотов об ошибке. Реагирования на события в Listener.
02:00:00 -
Домашнее задание 10. запуск тестов через Jenkins.
-
11. Jenkins часть 2. Завершение первого курсового проекта. Интеграция с Postman API коллекцией через newman nodejs. Завершение первого курсового проекта.
02:00:00 -
Домашнее задание 11. запуск проекта Postman на Jenkins.
-
12. API тесты часть 1. http client, Rest Assured, okhttp. Мини-проект тестирования API зоомагазина
02:00:00 -
Домашнее задание 12. Создание dto класса, с API тестом request и response.
-
13. API тесты часть 2. Завершение мини проекта по API зоомагазина.
02:00:00 -
14. Мобильное тестирование. Начало второго курсового проекта: мобильное приложение-планировщик. Android studio. Команды эмуляции действий пользователя Android Debug Bridge adb, история логов logcat.
02:00:00 -
Домашнее задание 14. Использование Android Debug Bridge (adb) команд для установки приложения на эмулятор
-
15. Команды adb shell. Генерация случайных действий с Monkey.jar.
02:00:00 -
Домашнее задание 15. Работа с мобильным приложением через main activity
-
16. Framework Appium часть 1. Appium Server, Inspector. Действия на мобильном девайсе. Методы нажатия tap и печати type.
02:00:00 -
Домашнее задание 16. Использование методов tap и type.
-
17. Framework Appium часть 2. Заполнение форм и подтверждение количества полей.
02:00:00 -
Домашнее задание 17. Создание тестов на мобильное приложение.
-
18. Framework Appium часть 3. Перемещение через Swipe. Библиотека RestAssuredTests для тестов API. Завершение второго курсового проекта.
02:00:00 -
19. Анализатор сетевого траффика (sniffer) Charles proxy
02:00:00 -
20. Начало третьего курсового проекта: POM на сайт с онлайн тренажёрами по тестированию. Паттерн репозитория объектов для хранения веб-элементов: Page Object Model (POM). Аннотация поиска элементов FindBy.
02:00:00 -
Домашнее задание 21. Логгер в POM.
-
21. Класс действий Action. Мини-проект POM тестов поиска по онлайн магазину.
02:00:00 -
22. История действий в Logger. Автотесты открытия новых вкладок. Всплывающие окна Alerts. Завершение мини POM проекта поиска по онлайн магазину.
02:00:00 -
Домашнее задание 22. Assert в модальных окнах.
-
23. Выпадающий список Select, работа с кнопками списка.
02:00:00 -
24. Блоки рамок Frames и iframes. Перенос объектов через droppable, draggable.
02:00:00 -
Домашнее задание 24. Перенос объектов.
-
25. Класс автоматизации действий Robot. События клавишей клавиатуры KeyEvent. Загрузка файлов через интерфейс. Раскрывающиеся списки. Ползунки. Перемещение к элементу интерфейса. Автокопирование классом ToolKit.
02:00:00 -
Домашнее задание 25. Автозаполнение полей ввода.
-
26. Выполнение javascript на JSExecutor. Кнопки Checkbox. Поиск getElement querySelector. Работа с битыми ссылками и изображениями. Наведение на объект ToolTips. Автоматическое обновление и прокрутка страницы. Завершение третьего курсового проекта.
02:00:00 -
27. Начало четвёртого курсового проекта: framework Cucumber часть 1. BDD Behavior-driven development (BDD).
02:00:00 -
Домашнее задание 27. Создание теста на cucumber.
-
28. Framework Cucumber часть 2.
02:00:00 -
29. Selenide Параллельный запуск тестов.
02:00:00 -
Домашнее задание 29. SELENIDE cоздание предусловий
-
30. Совместная работа Selenide и Cucumber.
02:00:00 -
Домашнее задание 30. Тест на Selenide и Cucumber.
Стажировка (10 встреч)
-
Выпускная практика 1.
02:00:00 -
Выпускная практика 2.
02:00:00 -
Выпускная практика 3.
02:00:00 -
Выпускная практика 4.
00:00 -
Выпускная практика 5.
02:00:00 -
Выпускная практика 6.
02:00:00 -
Выпускная практика 7.
02:00:00 -
Выпускная практика 8.
02:00:00 -
Выпускная практика 9.
02:00:00 -
Выпускная практика 10.
02:00:00
Защита дипломного проекта.
-
Защита дипломного проекта.
02:00:00
Техническое собеседование
-
Индивидуальное техническое собеседование.
02:00:00