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

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

Термін · 0:00

Shift Left

Підхід, за якого testing activities виконують раніше в SDLC; він не означає відмову від testing на пізніших етапах.

Як manual QA перейти в automation →

Термін · 0:00

Fast feedback from automation

Ранній сигнал про вплив змін на якість і regression. Automation може скоротити повторювану ручну роботу, але потребує ресурсів на створення й підтримку та не скасовує manual testing з погляду користувача.

Як manual QA перейти в automation →

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

Системний рівень і реальний стан проєктів

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

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

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

Інтеграційні та компонентні тести в сучасних системах

Сучасні системи часто збираються на зрілих фреймворках на кшталт Spring, Django, Angular або Next.js. Через це багато базової поведінки вже реалізовано й перевірено фреймворком, тож команді не обов’язково компенсувати все великою кількістю власних unit-тестів. Значну цінність дають інтеграційні та компонентні перевірки. У наведеному розмежуванні інтеграційний тест перевіряє функцію, клас або сервіс із замоканими зовнішніми залежностями, включно з базою даних. Компонентний тест піднімає сервіс разом із реальною тестовою БД, але ізолює сторонні системи. Отже, компонентний тест перевіряє більший реальний зріз застосунку.

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

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

Three Amigos і справжня цінність Gherkin

BDD працює, коли product/business analyst, developer і tester разом розбирають examples, assumptions та edge cases до написання коду. У відео це описано як Three Amigos practice, до якої за потреби долучають інших ролей. `Given/When/Then` допомагає зафіксувати передумову, дію та очікувану behavior мовою, зрозумілою business і engineering. Цінність виникає під час розмови та static testing requirements, а не від самого факту, що текст збережено у `.feature` file.

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

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

Що входить у mobile-specific coverage

Для підготовки до mobile testing перелічено не лише UI automation: типи застосунків, real device проти simulator/emulator, cloud device farms, network variability і traffic sniffing, distribution builds, роботу з Android Studio та Xcode, device fragmentation і різницю між Android та iOS design guidelines. Функціональне покриття має враховувати OAuth/login, in-app purchases, notifications, offline та error handling, deep links, різні клавіатури, clipboard, permissions під час onboarding, дзвінки та перемикання між apps, screen rotation, GPS simulation, installation/update compatibility і localization. Окремий шар — mobile performance: CPU, GPU, memory, battery і device logs.

Типи мобільних застосунків та мобільна автоматизація →

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

Delivery пришвидшується, а testing cost зростає

[Дивитися з 24:00](https://www.youtube.com/watch?v=jAl2Qf8Zlyg&t=1440s). AI скорочує час написання feature, але developer витрачає дедалі більше часу на ручне підтвердження, regression і перевірку side effects. Навіть автор із досвідом architecture та automation пропускає defects після багатьох iterations. Тому композиція «один developer + один tester» може бути економічно й операційно сильнішою, ніж developer, який сам генерує, review-ить і повністю тестує весь продукт.

Vibe coding, склад команди та нова роль тестувальника →

Python мануфактура · Сесії: AMA та PMP · 47:39–54:14

Testing trophy, статичний аналіз і мовні layout conventions

Структура каталогів не визначає правильний рівень coverage. Для сучасних frameworks часто корисніше мислити test trophy або testing landscape: поєднувати static analysis, component/integration tests і лише потрібні end-to-end tests відповідно до ризику конкретної частини системи. У Java типовий layout має `src/main` і `src/test` із packages; Python та TypeScript часто відділяють application/support code від tests простіше. Naming і package layout треба брати з conventions мови та поточного repository, а не переносити механічно з іншого stack.

Неймінг та структура automation-проєкту →

Design Patterns для автоматизаторів · 1:13:33–1:23:41

Backend-first automation і тонкий mobile suite

Якщо mobile client переважно відмальовує backend data, основну логіку варто автоматизувати на API-рівні, а на mobile залишити приблизно десяток ключових revenue flows. Якщо ж client містить значну локальну логіку, UI/component coverage потрібно більше. Validation, яка живе всередині форми, доречно перевіряти component test через native framework. Просте відображення backend-масиву краще глибоко перевірити на backend, а на реальному device пройти під час regression. Flaky E2E може вказувати не лише на поганий тест, а й на нестабільність, яку бачать користувачі.

Мобільне тестування та автоматизація →

Java API-автоматизація · 0:00–5:00

Починати з product pain, а не з tool

Перше питання — що саме болить: release speed, regressions, platform drift, backend instability, device coverage чи migration. Далі з’ясовують product architecture, team ownership, roadmap і engineering maturity. Інструмент обирається після цього. Наприклад, планована migration з native на cross-platform або навпаки змінює test seams і робить speculative framework марним.

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

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

Які оператори потрібні в автоматизації

Оператори відповідають на практичні питання: чи збіглося actual з expected, чи значення ініціалізоване, чи виконано дві умови, чи status code належить дозволеному набору та як порахувати очікувану кількість сторінок або total price.

2 оператори →

Design Patterns для автоматизаторів · 0:00–9:14

Native і cross-platform технології

Flutter і React Native дозволяють розвивати iOS та Android з однієї основної codebase, а native-модулі підключати для Bluetooth, geolocation, notifications чи інших можливостей системи. Це прискорює MVP, але native-застосунки на Swift і Kotlin зазвичай мають менше проміжних шарів і працюють швидше. Навіть у cross-platform продукті команди часто розділяються за iOS/Android або за product streams. Тестувальнику потрібно розуміти специфіку кожної платформи, а не вважати однакову codebase гарантією однакової поведінки.

Мобільне тестування та автоматизація →
Запитати в чаті про «testing» →