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

Терміни, нюанси та джерела

Практика · 3:25

Перевірити, чи потрібен Cucumber

Візьміть один existing E2E scenario і назвіть його реальних readers.
Перепишіть його technology-neutral Given/When/Then із observable outcome.
Якщо reader і discovery loop відсутні, порівняйте maintenance cost із direct automated test.
Один scenario, список readers і аргументоване рішення залишити або прибрати Cucumber layer.

Чому критикують BDD і Cucumber →

Java · Сесії: AMA та PMP · 9:30–15:25

Антипатерн: Cucumber живе тільки в automation

Типовий невдалий варіант: manual test cases уже містять steps, але автоматизатор повторно перекладає їх у Gherkin, а потім створює step definitions. Одна дія існує як feature text, regex/parameterized step і code implementation. Різні автори формулюють однакові steps по-різному, тому повторне використання швидко руйнується. Management може вимагати кількість automated scenarios або «читабельний для business report», але потім не відкривати ці reports. У такій ситуації Cucumber не забезпечує BDD: він лише додає maintenance cost команді automation. Ознака справжнього BDD — scenarios використовуються для спільних рішень, а не лежать наприкінці pipeline.

Чому критикують BDD і Cucumber →

Java · Сесії: AMA та PMP · 3:10–6:20

Чому досвід поганого коду теж корисний

Чистий код важко зрозуміти лише з правил. Спочатку інженер пише прямолінійне рішення, потім стикається з duplication, coupling і складним maintenance — і лише тоді бачить, яку конкретну проблему вирішує refactoring або design pattern. Patterns і code smells не застосовуються механічно: різні правила можуть тягнути рішення в протилежні боки. Потрібен контекст, щоб вирішити, коли достатньо простого API call, а коли справді потрібні controller, DTO, serialization та додаткові abstraction layers.

Який рівень програмування потрібен automation engineer →

Java · Сесії: AMA та PMP · 21:47–26:51

Швидка alpha не дорівнює підтримуваному продукту

[Дивитися з 21:47](https://www.youtube.com/watch?v=crzGm6nzfbU&t=1307s). Одна-дві людини з агентами можуть швидко створити alpha або beta й навіть працювати з великою enterprise codebase, якщо моделі мають достатній контекст. Але продуктивність має спиратися на quality gates: CI/CD, tests, performance checks, review іншими агентами та явні артефакти. Якщо команда не читає код і результати test runs, за пів року чи рік накопичуються зміни, які важко підтримувати, масштабувати й діагностувати. Тоді знову потрібні інженери з глибокими знаннями architecture, backend, PostgreSQL, messaging та конкретного domain.

Як налаштувати мультиагентне середовище →

Java · Сесії: AMA та PMP · 31:22–38:52

Можливість, технічний борг і безпека

[Дивитися з 31:22](https://www.youtube.com/watch?v=crzGm6nzfbU&t=1882s). Малий бізнес зможе дозволити собі одного-двох інженерів для власної CRM, аналітики чи інтеграцій, але слабка інженерна база збільшить кількість data-loss, authentication і maintenance incidents. Enterprise adoption стримують privacy та заборона передавати proprietary code стороннім моделям. Паралельно AI і генерує security vulnerabilities, і допомагає знаходити давні дефекти. Єдиної відповіді для ринку немає: AI дає величезну можливість швидко реалізувати ідею, але deployment, domain, observability, security та подальша підтримка все ще потребують людей і бюджету.

Як налаштувати мультиагентне середовище →

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

Devices, screen sizes і long-term delivery cost

Покриття має враховувати різні screen sizes, OS versions і representative devices, але не перетворюватися на cartesian product кожного scenario з кожним device. Cross-platform допомагає швидко отримати market feedback, але native plugins і diverging teams збільшують maintenance cost. Тест strategy має врахувати цей ceiling заздалегідь.

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

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

Full client чи models-only: ціна володіння

Фінальний вибір залежить від company culture і delivery pipeline. Full generated client зменшує manual code, але вимагає generator upgrades, artifact publication, versioning і failure recovery. Models-only часто дає кращий баланс для test project: schema types генеруються, request/response handling залишається explicit. Повний client варто додавати, коли його maintenance cost нижчий за duplicated manual clients.

Кодогенерація через OpenAPI Generator →
Запитати в чаті про «maintenance» →