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

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

Термін · 16:00

In-place list operation

Methods mutable collections, які лише змінюють object, повертають None; тому list.insert() і list.sort() не треба присвоювати назад змінній.

4. Типізація даних (str, int, float, bool) →

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

Transform і вибір потрібного поля

Comprehension може не лише фільтрувати, а й перетворювати кожен element: наприклад, витягнути emails або IDs із list of dictionaries. Вираз ліворуч описує значення результату, `for` — джерело, а optional `if` — фільтр.

5 comprehensions →

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

`*args` і `**kwargs`

`*locators` збирає довільну кількість positional arguments у tuple, який можна перетворити на list. `**headers` збирає named arguments у dictionary. Ці форми корисні, коли кількість однотипних inputs справді змінна; для стабільного контракту явні parameters читабельніші.

6 функції →

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

`not`, `in` і `not in`

`not errors` є короткою перевіркою порожнього списку. `browser in supported_browsers` і `browser not in supported_browsers` прямо виражають membership та прибирають ручний цикл. Для allowlist status codes зручно використовувати set: `status_code in {200, 204}`.

2 оператори →

Python мануфактура · Сесії: AMA та PMP · 6:20–9:20

Глибина знань зростає разом із seniority

Для middle і особливо senior рівня очікується розуміння типів даних, проходу collections, роботи з files та databases, object lifecycle, scope variables, initialization order і test runner lifecycle. Ці знання зазвичай закріплюються після реальної проблеми, а не після ізольованої лекції. Тому відповідь не вимірюється списком syntax topics. Junior має безпечно змінювати прості scripts; middle — діагностувати non-obvious behavior; senior — пояснювати system-level root cause й обирати правильний test seam.

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

Python мануфактура · Програма курсу · 7:31–7:52

Практика на об’єктах

Домашня частина — пройтися по list of objects, додати `enumerate`, перевірити поля всередині циклу та дослідити `break`/`continue`. Failure message має зберігати контекст проблемного елемента, інакше цикл ускладнить діагностику.

4 цикли →

Python мануфактура · Програма курсу · 8:33–10:31

Set, унікальність і порівняння наборів

`set` зберігає унікальні значення та не обіцяє бізнес-порядок. Він корисний для roles, permissions і видалення дублікатів, а також для перевірок subset/difference. Фігурні дужки без `key: value` створюють set; словник відрізняється наявністю ключів і двокрапок.

1 типи даних →

Python мануфактура · Програма курсу · 10:31–11:00

Самостійна практика

Розширені приклади пропонують змінювати вхідні дані, нормалізувати текст, працювати з ranges та порівнювати expected/actual collections. Важливо не лише отримати правильний output, а пояснити, який тип і яка операція дали результат.

1 типи даних →

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

Standard library, flaky tests і прості принципи дизайну

Middle має орієнтуватися у standard library та основних конструкціях мови: collections, functions, reserved words/operators, способи створення й перетворення даних. Це дає змогу використовувати вбудовані можливості замість зайвих dependencies і custom wrappers. Окремий практичний блок — діагностика flaky tests: відрізнити проблему очікування, нестабільні дані, shared state, зовнішню залежність або справжню race condition. `retry` не є виправленням першопричини. Для дизайну automation code достатньо впевнено застосовувати KISS, DRY, YAGNI та DAMP. SOLID і design patterns корисні як словник для конкретних проблем, але не як вимога створювати багатошарову архітектуру. Також потрібно вміти запускати suite у CI та читати test report.

Що має вміти та знати мідл автоматизатор →

Python мануфактура · Сесії: AMA та PMP · 15:40–19:05

Спільні основи різних мов

Після першої мови наступна засвоюється швидше, бо основні задачі повторюються: прочитати або записати file, пройти collection, зберегти structured data, виконати network request, звернутися до database й запустити test runner. Змінюються syntax, libraries та окремі runtime semantics. Практичний орієнтир: добре вивчити одну мову на реальних задачах, а другу брати тоді, коли вона відкриває дешевший або надійніший спосіб вирішити поточну проблему. AI допомагає швидше знайти syntax, але не замінює перевірку architecture і behavior.

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