На примере работы с селекторами при автоматизации тест-сценариев пользователя в браузере ты попрактикуешься писать читабельный эффективный простой код с помощью как существующих так и тобой созданных инструментов
С Selenide + Java
Практикум
в сфере тестирования
веб-приложений
по основам разработки
Кому будет полезным?
Начинающие автоматизаторы
Сразу заложат фундамент полезных принципов, трюков и подходов в написании тестов и кода в принципе. Закрепят на практике – некоторые базовые приемы рефакторинга
Мануальные тестировщики
Получат первый практический опыт в программировании на примере простых тестов интерфейса пользователя веб-приложений
Автоматизаторы mid-to-sr
Смогут структурировать знания и залатать дыры по лучшим практикам и принципам, почистить свой багаж знаний от сложившихся не самых эффективных привычек;)
Начинающие в IT
Смогут получить практику выполнения простых задач в сфере тестирования и автоматизации, проверить свои силы, чтобы определиться как следует развиваться дальше.
Формат
Лекции-статьи. Задания. Peer-to-peer ревью. Видео-разборы частых ошибок.
Поддержка комьюнити в чате. FAQ
Базовая теория
Читаем базовую "теорию" в виде статьи в личном кабинете на сайте.
01
Практика на реальных кейсах
Стараемся самостоятельно решить задание, симулирующее реальную ситуацию на проекте при построении автоматизации.
02
Практические знания через код-ревью ...
На первую версию решения можем получить индивидуальный отзыв от комьюнити по которому улучшаем решение.
03
... до идеального решения
Перерабатывая решение, дальше проходим сквозь серию записаных видео-разборов частых ошибок, до получения результата, отвечающего лучшим принципам и практикам написания тестов. По финальной версии решения можем получить еще один индивидуальный отзыв.
04
С вопросами ...
обращаемся к гуглу или FAQ курса. В случае неудачи, если вопрос не выходит за рамки программы – получаем подсказки в общем чате курса от комьюнити
Что в ящике?
Минимум теории
и вещей, которые можно быстро нагуглить и получить готовый рецепт на stackoverflow или детальный видео-гайд на youtube.

Также не будет ничего по основам Java и настройке окружения разработки. Хотя есть план расширить материалы для подготовки серией видеогайдов на эту тему. Там где их не будет – будут ссылки на внешние бесплатные ресурсы.
Максимум практики
по базовым принципам написания простого чистого самодокументируемого кода. Знакомство с DRY, YAGNI. Основы работы с методами и ООП.

Обрати внимание, что это именно «знакомство» и «введение» в SDET, даже не его основы. Смотри частые вопросы для «больше деталей».
– Темы практикума
Введение в Selenide
  • Быстрый старт, создание gradle-проекта и зависимости
  • Selenide в действии: основные методы для эффективной локации элементов и проверок
CSS-Селекторы
  • Автоматическая генерация локаторов против подбора вручную
  • Вынесение локаторов в отдельные переменные или методы
  • Структура git-проекта на gradle
  • Именование тестов
  • Структура тестовой логики.
  • Комментарии и Самодокументируемый код.
  • Стилистика тестов (End-to-End, Атомарные тесты).
  • Стиль GIVEN/WHEN/THEN
  • Читабельность
  • Консистентность
  • Стабильные локаторы против хрупких
  • Проверки
  • Феншуй Кода. Следование определенному стилю
XPath-Селекторы
  • Чем отличаются от CSS на практике
  • Хрупкость строгих локаторов
  • Нюансы поиска по тексту, CSS-классам, родительским элементам
  • Разбиение кода, его связность и консистентность
Рефакторинг XPath
  • Дублирование кода. Принцип DRY
  • Параметризация методов
  • Именование методов. Рекомендации, стили и договоренности
  • Структура кода. Что где должно жить в проекте
  • Оптимизация импортов
  • Простота кода. Знакомство с YAGNI, KISS
ООП для XPath DSL
  • Основы ООП и его возможности в сравнении с Модульной и Процедурной парадигмами в программировании
  • Построение DSL
Начни
....,,. УЖЕ
.. сейчас
Имя
E-mail
Нажимая кнопку, ты даешь согласие на обработку персональных данных и соглашаешься с политикой конфиденциальности
Частые
вопросы –
Какие предусловия для обучения на курсе?
Как подготовиться?
Чтобы комфортно проходить материалы курса, важно владеть основами программирования на Java. Подготовиться можно, пройдя рекомендуемые материалы по основам Java. Тем кто знаком с программированием на другом языке, должно быть не сложно включиться, бегло ознакомившись с синтаксисом Java и немного попрактиковавшись на простейших задачах. Пусть не быстрое но уверенное самостоятельное решение задач с exercism.io может быть хорошей проверкой своих сил и готовности к курсу.

Очень важно не иметь проблем с логикой и аналитическим мышлением. Желательно проходить этот тест или подобные на > 95%.
Кто такие SDET?
SDET расшифровывается как Software Development Engineer in Test. Термин вроде как придумали в компании Google для полноценных разработчиков, которые должны были заниматься разработкой эффективного-в-контексте инструментария для автоматизации тестирования (фреймворков, библиотек) и его внедрением – как на техническом уровне так и на уровне практик и подходов. Основное отличие от инженеров по автоматизации тестирования (QA Automation Engineer) заключается в разработке фреймворков для тестов и обучению команд писать тесты, а не непосредственное их написанию на постоянной основе.

Некоторые считают что в том же гугле этот термин был скомпрометирован, ведь часто SDET там выполняли классическую роль обычных автоматизаторов. А кое-кто считает, что в современном мире DevOPS и CD / CI пайплайнов с еще более сложными техническими инструментами – этот термин еще более актуальный. У нас в СНГ термин скомпрометирован кажется не был, возможно потому что к нам «все доходит с задержкой». Может это и к лучшему :)
Достаточно ли прохождения программы курса для получения работы SDET или инженером по автоматизации тестирования?
Далеко недостаточно. Программа курса поможет сделать первые практические пробы в сфере SDET (Software Development Engineering in Test) – разработки в сфере тестирования. Она поможет попробовать свои силы на первом этапе «становления инженером», поможет научиться «выполнять работу», «решать проблемы», «находить ответы на вопросы", но далеко не покрывает все знания, которые в общем случае требуют при приеме на роботу автоматизатором или SDET.

В добавок к программе этого курса следует (для SDET требования в сравнении с автоматизатором – выше – обращай внимание на соответствующие замечания ниже)

... изначально:

... обязательно:

... желательно (для SDET – обязательно):

... может быть полезным:
  • знать о тестировании продуктивности

При этом, известны случаи, когда люди устраиваются на роботу без перечисленных выше знаний, и разбираются со всем по надобности. Как раз «самостоятельно разбираться» и можно научиться, пройдя программу этого курса;)
Поддержка на курсе – как и что входит?
В поддержку «входят» краткие подсказки и наводящие вопросы по программе курса от комьюнити – студентов, выпускников и просто доброжелателей :)

В трудную минуту, алгоритм нахождения ответов на вопросы возникающие по ходу обучения – следующий:
  • хорошо подумать:)
  • в случае неудачи, если вопрос не завязан на нюансы задания или урока и является более общего технического характера – обратиться к гуглу
  • в случае неудачи – просмотреть список частых вопросов к заданию или курсу (FAQ)
  • если этого оказалось недостаточно – спросить более-менее абстрактно, не подсказывая своим вопросом другим – в общем чате курса. Ответом будет чаще всего не прямая подсказка либо от другого студента либо от выпускника курса, либо прямо в общем чате, либо в приватном сообщении
    Если видно, что вопрос или трудности студента связаны с темой выходящей за рамки курса, то возможно вместо ответа прилетит указание на то с чем связана проблема плюс рекомендация на материалы для дополнительного обучения.

    Как проверить – потяну ли я курс?
    Если ты можешь самостоятельно с нуля настроить инфраструктуру для нужного тебе языка программирования и самостоятельно, уверенно решать задачи с exercism.io – значит курс будет тебе по силам, даже пускай придется походу доучить самостоятельно некоторые темы типа ООП.

    Очень важно не иметь проблем с логикой и аналитическим мышлением. Если ты на свежую голову, пусть даже очень медленно но с предельным вниманием усидчиво проходишь этот тест на 30/3 или 29/30 – курс вероятно будет тебе по зубам. Если на меньше – не факт, но и не факт, что не сможешь. При меньшем бале вероятно стоит потратить больше времени на подготовку на ресурсах типа exercism.io.
    Как выглядят лекции, задания и FAQ на курсе?
    Они копируют соответствующие материалы книги Искусство Автоматизации с Selenide. Примеры можно посмотреть, скачав семпл;)
    Как проверяются задания?
    Главная ответственность за проверку своих заданий ложиться на плечи самих студентов. Каждое решение можно будет самостоятельно проверить и улучшить в соответствии с записанными видео-разборами частых ошибок.

    Но перед и после прохождения такого самостоятельного "видео-ревью", студент может получить от комьюнити в формате peer-to-peer review индивидуальные отзывы на первую версию своего решения и последнюю (после проработки своего решения по видео-разборам). Отзыв обычно выглядит или как аудио-запись от 2 до 10 минут или как серия текстовых сообщений, кратко описывающих ошибки, встречающиеся в решении.
    А если мне не достаточно только двух индивидуальных отзывов на мое решение к каждому заданию?
    Такое действительно может быть. Не смотря на то, что есть видео-материалы для само-проверки своего решения разбирая частые ошибки, и два индивидуальных отзыва куратором курса – на решение до просмотра видео-материалов и на соответственно улучшенное решение – после просмотра, – все равно, в зависимости от индивидуальных особенностей восприятия этого может быть не достаточно для полноценного усвоения темы урока. Кому-то информация не так хорошо воспринимается по записанным материалам, и нужен еще более индивидуальный подход, и главное - живая коммуникация с куратором/ментором. У кого-то чуть другой темп восприятия – более быстрый, или более медленный. Кому-то нужно большее число повторений. Кому-то нужно информацию подавать более сжато.

    Мы стараемся подготовить материалы как можно более универсально, при этом идя на определенные упрощения.

    Если тебе нужен более индивидуальный подход – рассмотри вариант договориться с кем-то из «старших студентов» про дополнительную помощь в обмен на донаты или «как договоришься» :). Также можно купить платный курс на этом сайте, где проверки могут быть более качественными за соответствующую цену.
    Что собой представляет видео-разбор ошибок?
    Это серия видео-записей в виде "скрин-кастов" на разного рода ошибки в заданиях студентов, с детальными комментариями автора к коду, как в этом видео (с 64-той секунды). Автор часто упоминает при разборе несколько связанных ошибок, а также, озвучив подсказки, предлагает студенту поставить видео на паузу, подумать над улучшением решения самостоятельно, а потом продолжить просмотр, окончательно себя проверив.
    Сколько будет записей видео-разборов и какой продолжительности?
    Зависит от задания. Для задания «Selenide и CSS-селекторы» на текущий момент есть одно видео длиной примерно в 1 час, для задания «Selenide и XPath-селекторы» – 1 видео длиной примерно в 1 час 30 минут. Для задания «XPath-рефакторинг» – видео-разбор на 1 час 10 минут плюс много дополнительных маленьких видео с разными решениями общей длиной около 1 часа. Для «XPath DSL» – 1 видео на 2 часа 20 минут. Итого общая продолжительность – 7 часов. Со временем может расти как количество записей так и их продолжительность. Постоянно появляются новые ошибки ;)
    Сколько длится обучение?
    Все очень индивидуально. Сейчас на курсе только 3 главы из 5-ти. Их можно пройти и за неделю. У кого-то получится быстрее, у большинства судя по статистике дольше. Все также зависит от того, как быстро можно будет дождаться ревью от волонтеров в чате курса и дожидаться ли (можно просто проверить себя по видео-ревью). Когда все разделы будут готовы, продолжительность обучения может вырасти до нескольких недель или больше, с соответствующими замечаниями упомянутыми выше.
    Останется ли доступ к материалам после окончания обучения?
    Пока живет сайт, остается и доступ ко всем материалам: теории, заданиям, и видео-ревью частых ошибок.
    Есть ли ограничение по количеству учащихся в группе?
    Количество учащихся в группе не ограничено.
    Made in ua;)
    Яков Крамаренко
    Автор курса
    QA-Консультант с 12+ лет опыта в отрасли.

    Отец-основатель opensource-библиотек
    Selene, nSelene, SelenideJs

    Пишет книги
    ‣ Введение в разработку программного обеспечения (en, рус, укр)
    Искусство Автоматизации с Selene
    Искусство Автоматизации с Selenide

    Выступает на конференциях и митапах.
    Ведет канал на youtube.
    Пишет об обучении.
    Делится новостями в facebook :)
    Гордится своими учениками.

    Поддерживает этот курс и студентов по мере их обучения, проверяет задания, записывает видео-ревью.
    Свяжись с нами –
    +380 63 845 95 26
    yashaka@gmail.com
    Твой вопрос
    Нажимая на кнопку, ты даешь согласие на обработку персональных данных и соглашаешься c политикой конфиденциальности
    Made on
    Tilda