Практикум
На прикладі роботи з селекторами при автоматизації тест-сценаріїв користувача у браузері ти попрактикуєшся писати читабельний ефективний простий код за допомогою як вже наявних так і власноруч створених інструментів
у сфері тестування
веб-додатків
SDET Інтро на Java
по основах розробки
Кому буде корисним?
Початківці автоматизатори
Відразу закладуть фундамент корисних принципів, трюків і підходів в написанні тестів і коду в принципі. Закріплять на практиці деякі базові прийому рефакторингу.
Мануальні тестувальники
Отримають перший практичний досвід в програмуванні на прикладі простих тестів інтерфейсу користувача веб-додатків
Автоматизатори mid-to-sr
Зможуть структурувати знання і залатати дірки по деяким практикам і принципам, почистити свій багаж знань від сформованих не самих ефективних звичок;)
Початківці в IT
Зможуть отримати практику виконання простих завдань у сфері тестування і автоматизації, перевірити свої сили, щоб визначитися як варто розвиватися далі.
Формат
Лекції-статті. Завдання. Peer-to-peer рев'ю. Відеорев'ю частих помилок.
Підтримка ком'юніті в чаті. FAQ
Базова теорія
Читаємо базову "теорію" у вигляді статті в особистому кабінеті на сайті.
01
Практика на реальних кейсах
Намагаємося самостійно вирішити завдання, що симулює реальну ситуацію на проекті при побудові автоматизації.
02
Практичні знання через
код-рев'ю ...
На першу версію рішення можемо отримати індивідуальний відгук від ком'юніті по якому вдосконалюємо реалізацію.
03
... до ідеального рішення
Переробляючи рішення, далі проходимо крізь серію записаних «відеорев'ю частих помилок», до отримання результату, що відповідає кращим принципам і практикам написання тестів. На фінальну версію рішення можемо отримати ще один відгук.
04
Що в скриньці?
Мінімум теорії...
і речей, що можна швидко нагуглити і отримати готовий рецепт на stackoverflow або детальний відео-гайд на youtube.

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

Зверни увагу, що це саме «знайомство» і «вступ» до SDET, навіть не основи чи то пак його база. Дивись часті питання для «більше деталей».
– Теми практикуму
Введення в Selenide
  • Швидкий старт, створення проекту і залежності
  • Selenide в дії: основні методи для ефективної локації елементів та перевірок
CSS-Селектори
  • Автоматична генерація локаторів проти підбору вручну
  • Винесення локаторів в окремі змінні чи функції
  • Структура git-проекту на gradle
  • Іменування тестів
  • Структура тестової логіки.
  • Коментарі і Самодокументований код.
  • Стилістика тестів (End-to-End, Атомарні тести).
  • Стиль GIVEN/WHEN/THEN
  • Читабельність
  • Консистентність
  • Стабільні локатори проти крихких
  • Перевірки
  • Феншуй Коду. Слідування певному стилю
XPath-Селектори
  • Чим відрізняються від CSS на практиці
  • Крихкість жорстких локаторів
  • Нюанси пошуку по тексту, CSS-класам, батьківським елементам
  • Розбиття коду, його зв'язність і консистентність
Рефакторинг XPath
  • Дублювання коду. Принцип DRY
  • Параметризація функцій
  • Іменування функцій. Поради, стилі і домовленості.
  • Структуризація коду. Що де має жити в межах проекту.
  • Оптимізація імпортів
  • Інтерполяція та конкатинація
  • Простота коду. Знайомство з YAGNI, KISS
Розділ вже доступний у платному курсі і в процесі перенесення в даний.
XPath DSL
  • Можливості ООП у порівнянні з Модульною і Процедурною парадигмою в програмуванні
  • Побудова DSL
Почни
....,,. ВЖЕ
.. зараз
Ім'я
Імейл
Натискаючи кнопку, ти даєш згоду на обробку персональних даних та погоджуєшся з політикою конфіденційності
Часті
питання –
Які передумови до навчання на курсі?
Як підготуватись?
Щоб комфортно проходити матеріали курсу, важливо володіти основами програмування на Python. Підготуватися можна, пройшовши рекомендовані матеріали з основ Python. Тим хто знайомий з програмуванням іншою мовою, має бути не складно включитися, швиденько ознайомившись з синтаксисом Python і трохи попрактикуватись на найпростіших задачах. Нехай не швидке але впевнене самостійне розв'язування задач з 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 – обов'язково):

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

При цьому, відомі випадки, коли люди влаштовуються на роботу без перерахованих вище знань, і розбираються з усім за потреби. Якраз «самостійно розбиратися» і можна навчитись, пройшовши програму цього курсу;)
Як перевірити чи потяну я курс?
Якщо ти можеш самостійно з нуля налаштувати інфраструктуру для потрібної тобі мови програмування і самостійно, впевнено вирішувати завдання з exercism.io – значить курс буде тобі під силу, навіть нехай доведеться походу довчити самостійно деякі теми типу ООП.

Дуже важливо не мати проблем з логікою та аналітичним мисленням. Якщо ти на свіжу голову, нехай навіть дуже повільно, але дуже уважно і старанно проходиш цей тест на 29-30/30 – курс ймовірно буде тобі по зубам. Якщо на менше – не факт, але й не факт, що не зможеш. При меншому балі ймовірно варто витратити більше часу на підготовку на ресурсах типу exercism.io.
Як виглядають лекції, завдання та FAQ на курсі?
Вони копіюють відповідні матеріали книги Искусство Автоматизации с Selene. Приклади можна переглянути, завантаживши семпл;)
Як перевіряються завдання?
Головна відповідальність за перевірку своїх завдань лягає на плечі самих студентів. Кожне рішення можна буде самостійно перевірити й поліпшити відповідно до зібраних рев'ю частих помилок які можуть йти разом з відповідними відео-рев'ю.

Але перед і після проходження такого самостійного "рев'ю", студент може отримати від ком'юніті індивідуальні відгуки на першу версію свого рішення та останню (після опрацювання свого рішення по рев'ю). Відгук зазвичай виглядає або як аудіозапис до 10 хвилин або як серія текстових повідомлень, що коротко описують помилки, які зустрічаються в розв'язку.
А якщо мені не досить тільки двох індивідуальних відгуків на моє рішення до кожного завдання?
Таке дійсно може бути. Не дивлячись на те, що є матеріали включно з відео для самоперевірки свого рішення розбираючи часті помилки і можливість отримати короткі індивідуальні відгуки від ком'юніті (студентів що вже пройшли відповідні завдання) — на рішення до перегляду відеоматеріалів і на відповідно покращене рішення — після перегляду, — все одно, в залежності від індивідуальних особливостей сприйняття цього може бути недостатньо для повноцінного засвоєння теми уроку. Комусь інформація не так добре сприймається по записаним матеріалами, і потрібен ще більш індивідуальний підхід, і головне — жива комунікація з куратором/ментором. У когось трохи інший темп сприйняття — швидший, чи повільніший. Комусь потрібно більше повторень. Комусь потрібно інформацію подавати стисліше.

Ми намагаємося підготувати матеріали якомога більш універсально, постійно їх оновлюючи і розширяючи.

Якщо тобі потрібен більш індивідуальний підхід – розглянь варіант домовитись з кимось з «старших студентів» про додаткову допомогу в обмін на донати чи на що там ти домовишся :) Також можна придбати платний курс на цьому сайті, де перевірки можуть бути більш якісними і довшими за відповідну плату.
Що собою являє відеорев'ю частих помилок?
Це серія відеозаписів у вигляді "скрінкастів" на різного роду часті помилки при вирішуванні завдань студентами, з детальними коментарями автора до коду, як в цьому відео. Автор часто згадує при розгляді кілька пов'язаних помилок, а також, озвучивши підказки, пропонує студенту поставити відео на паузу, подумати над поліпшенням рішення самостійно, а потім продовжити перегляд, остаточно себе перевіривши.
Скільки буде записів відеорев'ю і якої тривалості?
Залежить від завдання. Зазвичай на кожне із 4 завдань іде одне велике відео від години до 2-ох, плюс можливо додаткові маленькі відеорев'ю на інші приклади розв'язків студентів. Зараз на курсі загальна тривалість відеозаписів з рев'ю частих помилок – близько 7 годин. З часом відео може збільшуватись, бо час від часу студенти вигадують нові помилки:)
Скільки триває навчання?
Все дуже індивідуально. Наразі в курсі тільки 2 розділи з 5-ти. Їх можна пройти за тиждень. У когось вийде швидше, у когось довше. Все також залежить від того як швидко можна буде дочекатись рев'ю від волонтерів у чаті курсу. Коли всі розділи будуть готові, тривалість навчання може зрости до 1 місяця, з відповідними зауваженнями згаданими вище.
Як довго залишиться доступ до матеріалів?
Поки живе сайт, залишається і доступ до всіх матеріалів: теорії, завданням, і відеорев'ю частих помилок.
Чи є обмеження за кількістю учнів в групі?
Кількість учнів в групі не обмежена.
Made in ua;)
Яків Крамаренко
Автор курсу
QA-Консультант з 12+ років досвіду в сфері.

"Батько-засновник" opensource-бібліотек
Selene, nSelene, SelenideJs

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

Виступає на конференціях та мітапах.
Веде канал на youtube.
Пише про освіту.
Ділиться новинами в facebook :)
Пишається своїми учнями.
Зв'яжися з нами –
+380 63 845 95 26
yashaka@gmail.com
Твоє питання
Натискаючи кнопку, ти даєш згоду на обробку персональних даних та погоджуєшся з політикою конфіденційності