Проходил 13 марта 2018 года в 20:00

Открытый вебинар
Автоматизатор в тестировании: внедрение автоматизации в QA отделе.

Открытый вебинар онлайн

На текущий момент автоматизацией никого не удивить, все прекрасно понимают, что автоматизация полезна. Но не все знают, когда стоит внедрять автоматизацию и как это правильно делать. На открытом уроке мы попрактикуемся в определении нужного количества автотестов, разделим все автотесты на три уровня (модульные, интеграционные, UI), разберем ситуации создания автоматизации в начале и середине проекта и определим, какие автотесты стоит писать в первую очередь.
Преподаватель
Павел Попов

Запись

О курсе

Java QA Engineer
37 000 ₽
4 месяца
Начало 28 мая
В рамках курса вы заглянете под капот популярнейших инструментов автоматизации, чтобы точно знать, что там происходит, и как это можно эффективно использовать. Ключевая цель курса — помочь студентам стать профессионалами, которые смогут самостоятельно принимать технические решения и предвидеть поведение системы. Именно в этом кроется стабильность ваших тестов. Курс подойдет для: - Специалистов по ручному тестированию, проявляющих интерес к переходу в ...
Программа курса
Модуль 1
Selenium
Модуль 2
Architecture
Модуль 3
BDD
Модуль 4
API Testing
Модуль 5
Параллельное выполнение тестов
Модуль 6
Практики CI/CD
Модуль 7
Проект А
Selenium
Задача этого модуля — копнуть поглубже в устройство WebDriver'а, понять, как он работает и как сделать работу с ним эффективнее. Мы тщательно изучим основные возможности и внимательно рассмотрим нетипичные возможности драйвера. Итогом модуля будет углубленное знание инструмента Selenium.
Selenium start
Вы будете знать, как устроен WebDriver и принцип его работы,
альтернативные инструменты для автоматизации UI-тестирования.
28 мая, 20:00 — 21:30
Создаем проект, выбираем тестовый фреймворк, настраиваем окружение, пишем первый тест
Участники научатся создавать проект "с нуля",
будут знать ключевые отличия TestNG и jUnit,
будут уметь настраивать проект под свои нужды (настройка логирования, подключение плагинов, работа с параметрами и т. д)
31 мая, 20:00 — 21:30
Домашние задания: 1
ДЗ
Создать maven-проект. Создать новый maven-проект для автоматизации тестирования

- Откройте IDE
- Создайте новый проект (maven)
- Настройте для проекта файл .gitignore (https://www.gitignore.io/)
- В файле pom.xml укажите зависимости для
-- Selenium Java (https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java)
-- WebDriverManager (https://mvnrepository.com/artifact/io.github.bonigarcia/webdrivermanager)
-- jUnit (https://mvnrepository.com/artifact/junit/junit/4.12)
- Создайте тест, который:
-- с помощью WebDriverManager, настраивает ChromeDriver
-- открывает в браузере Chrome страницу https://otus.ru/
- Подключить и настроить log4j

Домашнее задание принимается в виде ссылки на GitHub репозиторий
Срок сдачи: 48 часов до следующего занятия.
Локаторы.
Участники будут знать все типы локаторов,
научатся строить сложные локаторы,
будут знать, какие возникают ошибки при работе с элементами, изучат подходы к хранению локаторов.
4 июня, 20:00 — 21:30
Команды чтения и управления состоянием элементов. Свойства элементов html-страницы, получение специфичных свойств элементов
Участники будут знать, какие свойства элементов страницы доступны для чтения средствами автоматизации и какие проверки можно на них строить. Также будут знать, какие элементы Selenium считает interactable и clickable.
7 июня, 20:00 — 21:30
Конфигурация драйвера при старте, desired capabilities, параметры браузеров, работа с cookies, настройка ожиданий
Участники научатся конфигурировать драйвер при старте, настраивать его под специфичные задачи. Будут уметь задавать настройки, специфичные для конкретного браузера.
11 июня, 20:00 — 21:30
Ожидания в Selenium. Работа с явными и неявными ожиданиями, сравнение подходов. Знакомство с Expected Conditions. Пишем первый тест
Участники будут применять явные и неявные ожидания для повышения стабильности тестов и осуществления сложных проверок.
14 июня, 20:00 — 21:30
Работа с нативными окнами браузера: Alert, Prompt, Confirm, iFrame, Tabs, BasicAuth
Участники будут уметь работать с нативными элементами браузера.
18 июня, 20:00 — 21:30
Upload files, executing JavaScript
Участники будут знать, как решать нестандартные задачи с помощью выполнения JavaScript на странице.
21 июня, 20:00 — 21:30
Architecture
Задача этого модуля — ознакомиться с лучшими практиками организации кода проекта, чтобы его было легче разрабатывать и поддерживать. Речь будет идти не только о широко известном паттерне PageObject, но и о более фундаментальных подходах к разработке. Участники научатся реализовывать наиболее популярные паттерны проектирования (Singleton, Proxy, Observer, Command и т. д.).
Архитектура проекта
Участники научатся применять паттерны проектирования при разработке проекта (Facade, Proxy, Builder, Lazy, Singleton, etc).
25 июня, 20:00 — 21:30
Системы контроля версий
Участники будут уметь работать с Git, будут знать основы GitFlow, научатся работать c GitHub.
28 июня, 20:00 — 21:30
Page object
Участники будут знать теорию паттерна и будут уметь его применять.
2 июля, 20:00 — 21:30
Page factory, ScreenPlay
Участники будут уметь использовать паттерны, альтернативные "стандартному" PageObject.
5 июля, 20:00 — 21:30
Dependency Injection. Google Guice, PicoContainer, Spring
Участники будут знать преимущества использования DI в разработке, а также будут уметь внедрять его в свой проект.
9 июля, 20:00 — 21:30
BDD
Задача этого модуля — рассмотреть и научиться применять один из наиболее востребованных на сегодняшний день подходов в автоматизации тестирования. Участники изучат основные инструменты на рынке, научатся внедрять Cucumber в существующий проект.
Подход BDD
Участники будут знать суть подхода и основные инструменты для написания и имплементации сценариев.
12 июля, 20:00 — 21:30
Архитектура проекта, использующего BDD
Участники будут уметь внедрять BDD-подход в существующий проект и посмотрят, как архитектурно меняется проект.
16 июля, 20:00 — 21:30
API Testing
Задача модуля — научиться автоматизировать тестирование API. Модуль рассматривает основы протоколов, наиболее популярные инструменты для ручного и автоматизированного тестирования. В результате участники будут уметь писать API-тесты и расширять существующие UI-тесты.
HTTP. Postman, Newman, Fiddler (Charles), curl, SOAP. SoapUI
Участники будут знать особенности протоколов HTTP и SOAP, будут уметь использовать инструменты для ручного тестирования API на этих протоколах.
19 июля, 20:00 — 21:30
RestAssured
Участники будут уметь создавать автоматизированные тесты API на Java.
23 июля, 20:00 — 21:30
Использование API-helper'ов в UI-тестах
Участники научатся объединять UI- и API-тесты для более эффективной автоматизации тестирования.
26 июля, 20:00 — 21:30
Параллельное выполнение тестов
Задача модуля — освоить способы организации параллельного выполнения тестов — одно из важнейших требований к автотестам.
Параллельное выполнение тестов. Selenium Grid. Настройка и запуск
Участники будут знать подходы к распараллеливанию тестов. Будут уметь настраивать и использовать базовые инструмент Selenium Grid.
30 июля, 20:00 — 21:30
Современные способы распараллеливания
Участники узнают современные подходы к распараллеливанию тестов. Научатся применять Selenoid.
2 августа, 20:00 — 21:30
Отчетность. Интеграция с Allure. Снятие скриншотов и запись видео
Участники будут уметь организовывать понятную отчетность по автотестам. Научатся внедрять инструменты для сбора логов тестов, скриншотов приложения и записи видео.
6 августа, 20:00 — 21:30
Практики CI/CD
Современный рынок труда часто выдвигает требование к QA-специалистам — умение работать с CI/CD-системами. Задача модуля — сформировать представление о практиках, инструментах и научиться внедрять автотесты в процесс поставки продукта.
Что такое CI/CD и зачем он нужен
Участники будут знать о CI- и CD-процессах. Будут знать основные инструменты и ключевые понятия (Server, agents, jobs. Fail fast, Scheduling, WebHooks).
9 августа, 20:00 — 21:30
Jenkins
Участники будут уметь настраивать и запускать сервис. Интегрировать с git и Docker. Будут знать pipeline-подход.
13 августа, 20:00 — 21:30
Описание шагов "от выгрузки до отчетов по тестированию". Scheduling, webhooks
Участники будут уметь создавать джобы для прогона автотестов от выгрузки из git до отображения отчета по тестированию. Будут уметь настраивать запуск джобы по расписанию и по событию.
16 августа, 20:00 — 21:30
Проект А
В этом модуле участники применят все свои знания и навыки для поднятия процесса автотестирования. От анализа продукта до шага в CI-системе, запускающего тесты и формирующего отчеты.
Обзор техонологий Appium, Selenide, JDI, Spock, Mocks
Участники будут знать основные инструменты и вспомогательные библиотеки, которые применяются сегодня в автоматизации. Будут знать, для чего они нужны и как работают.
Домашние задания: 1
ДЗ
Проект.
Stubs
Участники будут уметь разрабатывать "заглушки" на сторонние сервисы для большей изоляции автотестов.
Курсовая работа
Участники реализуют проект автоматизации тестирования с применением имеющихся знаний и навыков для заданного приложения.
Домашние задания: 1
ДЗ
Автоматизировать тестирование проекта. Примените, приобретенные на курсе и имеющиеся у вас ранее, знания и навыки для автоматизации тестирования проекта. Инструменты, библиотеки, подход и прочее - все на ваше усмотрение.

Преподаватель

Павел Попов
Эксперт в области автоматического тестирования с опытом работы более 7 лет. Прошел карьерный путь от тестировщика до программиста в тестировании. Управлял командами тестирования, работал в должности менеджера по автоматизации тестирования. Сейчас занимает позицию в Финтех компании, главный офис разработки которой находится на Кипре.
Один из основателей школы автоматизации тестирования Quality Alliance. Постоянно улучшает свои навыки принимая участие на конференциях в качестве докладчика/участника: European Testing Conference, SeleniumCamp, Mail.Ru Meetup, Яндекс.Гости, QACyprusCommunity, Mera DevFest.
Работал преподавателем в Академии при Президенте РФ (слушатели курсов: студенты третьего курса специальности Информационные Технологии).
Имеет почетную грамоту “За многолетнее плодотворное участие в развитии Quality Assurance Alliance клуба vk.com/qa_alliance”.