QA
Automation
Ви ознайомитеся з базовим синтаксисом Java, навчитесь кодити програми для планування і запуску автотестів та зможете оперативно опрацьовувати об’ємний функціонал.

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

• Вмієте писати код на Java
• Знаєте, що таке автотести та як і для чого вони використовуються
• Розумієте, що варто автоматизувати, а що — ні
• Можете покрити автотестами свій проєкт, щоби прокращити якість та швидкість тестування
• Вмієте розбирати та аналізувати вже написані автотести
• Працюєте з сучасними інструментами та фреймворками Java
• Розумієте принципи роботи в команді QA та готові до співбесіди на позицію Junior QA Automation
- вивчите базовий синтаксис Java та принципи ООП
- навчитесь працювати з фреймворками JUnit/TestNG
- будуватимете селектори XPath і CSS для Web UI тестування, писатимете тести для API в Postman
- писатимете код на Java, який запускатиме процес тестування і шукатиме баги замість вас
- навчитесь імітувати багаторазові одноманітні дії користувача та проводити навантажувальні тестування
- перевірятимете багатомовні інтерфейси, швидко знаходитимете помилки та описуватимете їх у звітах
- за допомогою автотестів зможете тестувати великі обсяги даних
- оптимізуєте рутинні процеси та перерозподілите час на користь пріоритетних завдань
- підвищите кваліфікацію, перейдете в автоматизацію та зможете отримати високооплачуванішу роботу

Теми:
- Переваги та недоліки автоматизованого тестування порівняно з ручним
- Типи автоматизованих тестів
- Тестова піраміда в контексті автоматизації
Результати:
- Знаєте, які переваги має автоматизоване тестування.
- Розумієте, як оптимізувати свою роботу завдяки переходу в автоматизацію.
Теми:
- Робота з Git
- Робота з Docker
- Формати зберігання та передачі даних
Результати:
- Розумієте, як працює система контролю версій Git.
- Вмієте створювати публічний репозиторій у Git.
- Розумієте, як працює контейнеризація.
- Вмієте працювати з Docker та запускати програми в ньому.
- Вмієте читати та складати основні формати репрезентації даних.
- Знаєте, в якому разі який формат краще застосовувати.
Теми:
- Вступ до мови програмування Java
- Робота з операторами Java
- Умови на Java
- Цикли на Java
- Множинні типи даних для автоматизації тестування
- Поля обʼєкта
- Методи об'єкта
- Перелічуваний тип ENUM
- Інкапсуляція
- Абстракція та інтерфейси
- Наслідування та поліморфізм
- Обробка помилок
- Робота з файлами
- Анотації, generics та streams
- Дизайн Java-застосунку
- Maven
Результати:
- Знаєте базовий синтаксис Java.
- Розумієте, як працює об'єктна модель у Java.
- Вмієте застосовувати основні оператори присвоєння та модифікації.
- Вмієте будувати складні алгоритми на основі умов.
- Знаєте, як писати оптимальні та читані умови.
- Вмієте будувати алгоритми, засновані на повтореннях, а також логічні конструкції всередині циклів.
- Знаєте, як зберігати множинні дані в Java.
- Вмієте додавати, вилучати та модифікувати дані.
- Декларуєте класи Java, готові перейти від процедурного програмування до ООП.
- Знаєте, що таке тип ENUM і в яких випадках його варто застосовувати.
- Будуєте логічно безпечні алгоритми й правильні класи відповідно до ООП-моделі.
- Вмієте працювати з абстрактними класами й інтерфейсами.
- Розумієте, що таке наслідування та поліморфізм, і вмієте будувати багаторівневі програми з меншим обсягом коду.
- Вмієте правильно обробляти помилки та використовувати їх як засіб зворотної комунікації.
- Працюєте з файловою системою з Java-коду.
- Розумієте код, який містить анотації та generics.
- Вмієте створювати генералізований метод та клас.
- Знаєте ознаки поганого коду.
- Вмієте писати реалізації Singleton та Builder.
- Керуєте залежностями за допомогою Maven.
Теми:
- Тестові фреймворки JUnit/TestNG
- Data-driven testing
- Тестовий звіт
- Просунутий тестовий репорт Allure
- Робота з базами даних із Java (JDBC) на прикладі postgreSQL
- Просунута робота з базами даних. Бібліотека JDBI
Результати:
- Працюєте з фреймворками JUnit/TestNG.
- Розумієте, як тести взаємодіють із кодом програми.
- Вмієте писати готові до виконання тести.
- Знаєте, як підготувати тестове оточення.
- Вмієте писати тести, які виконуються одним й тим самим кодом, але з різними наборами даних.
- Знаєте, як побудувати зрозумілу тестову структуру.
- Будуєте тести таким чином, щоби було зрозуміло, на якому етапі сталася помилка.
- Вмієте налаштовувати тестовий звіт, який зрозумілий всім.
- Знаєте, як налаштовувати Allure.
- Вмієте виконувати основні операції з базою даних у Java.
- Працюєте з бібліотекою JDBI.
Теми:
- Selenium WebDriver
- Локатори елементів XPath
- CSS Selector
- Selenide
- Cucumber
Результати:
- Запускаєте різні браузери для виконання тестів.
- Вмієте виконувати простий пошук елементів сторінки та взаємодіяти із цими елементами.
- Будуєте селектори XPath для пошуку елементів за різними ознаками.
- Вмієте шукати елементи в динамічній структурі документа.
- Знаєте, як перевірити складений селектор XPath за допомогою плагіна до Google Chrome.
- Вмієте будувати CSS-селектори для пошуку елементів за базовими атрибутами.
- Вмієте взаємодіяти та перевіряти елементи в Selenide.
- Знаєте, як писати Web UI тести з використанням Selenide.
- Пишете прості, параметризовані та data-driven тести з Cucumber.
- Запускаєте тести засобами Idea та Maven.
Теми:
- HTTP + Postman
- REST Assured
- Awaitility
Результати:
- Знаєте, як працює HTTP.
- Розумієте суть ресурсного підходу.
- Вмієте працювати з HTTP-ендпоінтами через Postman.
- Пишете API-тести, які виконують послідовність HTTP-запитів.
- Розумієте модель тестування Given-When-Then.
- Вмієте писати API для систем зі станом, що динамічно змінюється, і асинхронною обробкою даних.
- Знаєте, як налаштувати затримку та інтервал очікування, щоби не перевантажувати тестовану систему.
Теми:
- Види навантажувального тестування, його задачі та вплив на бізнес
- JMeter
Результати:
- Розумієте цілі та завдання навантажувального тестування.
- Проводите навантажувальне тестування.
- Знайомі з основними елементами тесту на JMeter.
- Можете написати тест для перевірки продуктивності web-сервісу за допомогою JMeter.
- Пишете складні тести навантаження для web-сервісів, які виконують послідовність залежних запитів.
- Вмієте валідувати результати запитів, виконаних у процесі тестування.
Теми:
- Огляд актуальних систем, SaaS CI
- Jenkins
- Підсумки, перспективи карʼєри в QA Automation
Результати:
- Розумієте різницю між SaaS CI та hosted CI.
- Знайомі з основними системами CI.
- Знаєте, як описуються завдання Jenkins через декларативний підхід.
- Вмієте налаштувати Jenkins для виконання простих завдань.
- Налаштовуєте Jenkins для роботи з кодом у Git-репозиторії.
- Розумієте свої перспективи у сфері QA Automation.