...

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 для тестировщиков.

Основы JAVA (7 уроков)
Основы java для подготовки к автоматизации тестирования программ.

Автоматизация тестирования ПО (30 уроков)
Основная часть курса содержащая все темы, необходимые для опытного middle QA по автоматизации тестирования программного обеспечения.

Стажировка (10 встреч)

Защита дипломного проекта.

Техническое собеседование