Python мануфактураJavaDesign Patterns для автоматизаторів

Java · Сесії: AMA та PMP · 0:00–3:00

MCP дає контекст, але не детермінізм

Playwright MCP дозволяє моделі бачити й керувати сторінкою, але код генерує сама LLM. Однаковий prompt може дати різні структури, locators і helpers, тому інструкції не гарантують підтримуваний результат. Модель також не здогадається дослідити network, data lifecycle або project architecture, якщо це явно не поставлено завданням і не надано відповідний контекст.

Playwright MCP, CLI, Codegen та AI в розробці →

Java · Сесії: AMA та PMP · 10:30–12:22

Типізовані дані як наскрізний контракт

Між functions передають типізовані `UserDto`, `ProductDetails`, `CompanyDetails` або інші domain types замість розрізнених primitive values. Це робить required fields видимими, спрощує повторні assertions і зменшує ризик переплутати дані. Конкретні приклади реалізації розгортаються далі в курсі.

Тестові дані для автотестів →

Java · Сесії: AMA та PMP · 12:41–14:19

ШІ не скасовує тестування

Твердження «код генерується з тестами, тому тестування потрібно менше» не витримує практичної перевірки. Більший обсяг змін збільшує простір можливих помилок, а зростання кодової бази поступово ускладнює кожну наступну фічу. Рекомендована позиція QA: приймати AI-інструменти й самим використовувати їх, але зберігати поділ відповідальності. Розробники забезпечують комбінаторне покриття ближче до коду, QA перевіряє інтегровану систему, інфраструктуру та користувацькі ризики. Автор окремо фіксує потребу знайти дослідження про довгостроковий вплив ШІ на швидкість розробки. Отже, тезу про повернення продуктивності до плато слід сприймати як практичне спостереження, яке потребує підтвердження даними, а не як уже наведений у відео доказ.

Піраміда тестування, чому не API спочатку та як жити з упровадженням ШІ →

Java · Advanced: API-автоматизація · 15:00–35:00

Native чи cross-platform: ціна абстракції

Cross-platform stack пришвидшує MVP та shared feature delivery, але platform-specific capabilities і UI differences нікуди не зникають. Зі зростанням product команди часто все одно ділять iOS/Android ownership. Для тестів це означає: shared business scenarios не гарантують identical platform behavior. Потрібно розділити shared domain behavior і platform-specific contracts, а не будувати великий conditional E2E suite.

Стратегія тестування мультиплатформних систем →

Java · Сесії: AMA та PMP · 16:30–21:30

Читабельний CSS як практичний fallback

Якщо стабільного test ID або accessible name немає, припустимий короткий CSS selector через зрозумілий parent і тип дочірнього елемента. Locator повинен читатися; складний вираз варто сховати за змінною з предметною назвою. Не слід використовувати generated hashes, випадкові class names, positional indexes або повні DOM paths. Якщо ID має стабільний префікс і випадковий suffix, можна шукати за контрольованим частковим збігом.

Пріоритети селекторів та їхня надійність →

Java · Advanced: API-автоматизація · 1:20:00–1:40:00

Fluent response assertions і business-readable API

Над `Response` будується small fluent wrapper: status, typed body, field/domain assertions, завершення chain. Це дає тесту domain vocabulary і прибирає repeated parsing. Важливо не сховати expected behavior за великим «validateEverything». Fluent method має виражати одну observable property і давати specific failure.

AssertJ: виразні асерти та їх генерація →
Запитати в чаті про «maintainability» →