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

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

Термін · 18:00

Pull Request

Pull Request представляє запропоновані зміни з branch і дає команді місце для diff, review, checks та рішення про merge.

2. Git Workflow у PyCharm/IntelliJ →

Практика · 0:00

Матриця перевірок створення ресурсу

Для одного POST endpoint опишіть immediate response assertion і спосіб перевірки eventual result.
Додайте resource-schema assertions і один business-flow assertion.
Позначте, який тест локалізує кожен failure.
Таблиця з чотирма checks, test level і failure signal.

Міграція бази даних і тестування даних →

Нюанс · 14:25

Не створюйте technical debt навмисно

Не маскувати недооцінку — не означає навмисно ламати tests або quality gates. Фіксуйте deferred checks, carry-over і risk, не позначайте неперевірене як done та вимагайте явного рішення про scope, deadline або quality.

Як працювати на спокійному проєкті та з нав’язаними оцінками →

Практика · 0:00

Розподілити відповідальність за покриття

Для однієї фічі позначте перевірки ближче до коду, component/integration checks, system API та UI journeys. Окремо вкажіть, що може згенерувати AI, а що потребує людської перевірки.

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

Python мануфактура · Програма курсу · 16:00–21:30

Класифікація тестів і перший pull request

Перед CI-запуском переглядаються pytest markers: частина тестів переноситься зі smoke до regression, окремо позначаються API, web і Selenium paths. Після відкриття pull request треба ще раз перевірити diff, reviewers і checks, щоб випадково не опублікувати зайві файли або credentials. Перший pipeline закономірно знаходить lint і formatting problems. Їх виправляють локально тими самими командами, що виконує CI, комітять і повторюють запуск. CI тут є відтворюваною перевіркою, а не заміною локального feedback loop.

2. Практика та написання пайплану CI/CD →

Python мануфактура · Сесії: AMA та PMP · 16:40–21:47

Hard stops, планування й перевірений delivery flow

[Дивитися з 16:40](https://www.youtube.com/watch?v=crzGm6nzfbU&t=1000s). Для агента задаються hard stops: не починати реалізацію без погодженої архітектури, acceptance criteria чи approval. Це уповільнює миттєве «вайбкодіння», але зменшує випадкові зміни. На прикладі YOY описано working slice зі спільнотами, подіями, tickets та кількома способами authentication, який має документацію, automated tests і однакові локальні та CI checks. Окремо підкреслено практичний ризик: агент може не проіндексувати або не закомітити всі файли, тому CI повинен перевіряти чистий checkout. Надійніший цикл — спершу research і точний план змін, потім окрема implementation session, targeted tests і broader checks.

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

Python мануфактура · Програма курсу · 0:00–1:30

Оголошення, parameters, type hints і `return`

Функція оголошується через `def`, приймає named parameters і може повертати значення. Type hints на кшталт `email: str` та `-> dict[str, str]` покращують navigation і IDE checks, але самі по собі не валідовують input at runtime.

6 функції →

Python мануфактура · Програма курсу · 0:00–5:30

Pipeline, stage, job і YAML

Для запуску Python-тестів у CI потрібно відтворити ті самі базові дії, що й локально: отримати код, встановити Python і залежності, окремо встановити браузери Playwright, запустити lint/format checks та потрібний набір тестів. `pipeline` описує весь процес, а `stage`, `job` і `step` — його менші етапи; точна вкладеність і назви залежать від GitHub Actions, GitLab CI, Jenkins, TeamCity, Bamboo чи іншої системи. Найпоширеніший декларативний формат — YAML. Він дає змогу зберігати pipeline поруч із кодом і однаково описувати послідовність команд, образ середовища, залежності між jobs та умови запуску без окремої мови програмування для кожного CI-продукту.

1. Теорія CI/CD та як ви можете інтегрувати тести в пайплайн →

Python мануфактура · Програма курсу · 0:00–1:30

Інкапсуляція та automation objects

Інкапсуляція ховає складну реалізацію за невеликою public operation. У тестовому проєкті це API clients, database helpers, Page Objects і data objects. Зовнішньому коду важливо знати, яку дію викликати, а не повторювати connection setup, headers, selectors або permission checks.

10 ооп →

Python мануфактура · Сесії: AMA та PMP · 7:28–10:47

Системна перевірка, інфраструктура й плато продуктивності

Системні тести дають сигнал не лише про бізнес-логіку. Вони можуть виявити, що health check бекенду зелений, але UI не працює через gateway, неправильну конфігурацію або несумісні версії фронтенду й бекенду. Це окремий клас ризику, який unit- та інтеграційні тести не закривають. AI-інструмент може прискорити написання регресійних тестів і фідбек розробникам, але цей ефект не обов’язково зростає нескінченно. У великому продукті підтримка наявного коду та впровадження нових змін із часом знову стають складнішими. Одна з причин — недетермінованість LLM: той самий запит у новому чаті може дати інший код. Команда мусить перевіряти результат, стабілізувати робочі інструкції та не плутати швидку генерацію з гарантованою коректністю.

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

Java: архівні доповнення · 8:35–10:55

Перегляд diff і commit checks

Перед commit треба переглянути кожен changed file і переконатися, що до нього потрапили лише навмисні зміни. Commit message коротко описує зміст. IDE може запустити reformat code, optimize imports і code analysis; ці перевірки допомагають знайти технічні проблеми, але не замінюють ручного diff review.

Публікація Java-проєкту на GitHub →

Python мануфактура · Програма курсу · 14:00–20:30

Масове додавання decorators і перевірка diff

Для наявного набору Page Objects decorators додаються через project-wide search/replace. Демонстрація показує ризик такого скорочення: regex зачіпає `__init__`, properties та неправильні відступи, після чого зміни доводиться вручну чистити й додавати imports. Після механічної зміни запускаються format check і Ruff. Це обов’язкова межа безпеки для bulk edit: результат пошуку не вважається правильним, доки diff не переглянуто, код не форматується й статичні checks не проходять.

4. Allure репорт, основи та інтеграція в CI →

Python мануфактура · Сесії: AMA та PMP · 14:30–17:00

Test trophy і правильний розподіл перевірок

У відео test trophy протиставляється механічній testing pyramid: в основі quality gates лежать static analysis і security checks, далі — швидкі unit tests, ширший шар integration tests і невелика кількість end-to-end scenarios. Ідея — інвестувати в той рівень, де система має найбільший ризик і де перевірка дає швидкий надійний сигнал. Важливе уточнення: не слід зменшувати unit coverage лише тому, що продукт використовує Spring, Django або готову database. Не потрібно тестувати код framework; потрібно unit-тестувати власну чисту domain logic, а integration tests залишити для mappings, transactions, SQL, serialization та зовнішніх contracts.

Автомтизація баз даних та що з тим робити та що знати →

Python мануфактура · Сесії: AMA та PMP · 21:00–24:00

Design system прискорює генерацію, але не гарантує consistency

[Дивитися з 21:00](https://www.youtube.com/watch?v=jAl2Qf8Zlyg&t=1260s). Foundations — colors, typography, spacing, radii, shadows — і reusable components дають AI контекст для створення нових screens. Проте implementation може відійти від запланованого design: інший modal pattern, невідповідний alignment або duplicated component. Потрібні structural і visual checks, а не лише факт, що сторінка відкрилася.

Vibe coding, склад команди та нова роль тестувальника →
Запитати в чаті про «checks» →