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

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

Практика · 5:30

Вибір mobile automation strategy

Оберіть один власний mobile flow і визначте, що має перевірятися на backend, native component та system E2E levels.
Складіть мінімальну device matrix із поясненням кожного device та OS version.
Назвіть accessibility attributes, яких бракує для стабільних selectors.
Односторінкова strategy з test levels, device matrix і переліком testability changes.

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

Java · Сесії: AMA та PMP · 5:30–8:20

Native tests і внесок у testability

Для важливих або частих перевірок радиться розглянути native інструменти: XCTest/XCUITest на iOS та Espresso або зручнішу обгортку Kakao на Android. Такі тести ближчі до застосунку, швидше виконуються і зрозуміліші mobile developers, які можуть запускати їх локально та в CI. Автоматизатор має покращувати testability самого продукту: додавати або просити додати стабільні `accessibilityIdentifier`, `accessibilityLabel`, Android `resource-id` і content descriptions. Native selectors, predicates і class chains зазвичай кращі за XPath. Якщо команда контролює source code, стабільний атрибут дешевший за постійне ускладнення locator-а в зовнішньому test suite.

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

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

Статичні акаунти як проблема testability

Найгірший варіант — один статичний користувач у локальному config. Він блокує паралельність і звужує набір доступних станів. Трохи кращий, але все ще дорогий процес — просити іншу команду вручну створювати набір акаунтів після кожного refresh тестового середовища. Якщо tester не може сам створити invoice, user або іншу передумову, перевірка залежить від чужого робочого часу. Це не просто незручність автоматизації, а властивість системи: feedback loop довгий, а критичні сценарії важко повторювати. Обмеження потрібно фіксувати як testability risk і обговорювати з командою продукту.

Юзер менеджмент та костилі з якими ви стикнетесь в житті →

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

Testability і readable feedback

Mobile platforms обмежують custom attributes сильніше, ніж web. Тому testability будується разом із developers через accessibility identifiers/semantics і stable component contracts. Test report має бути зрозумілим розробнику: scenario, platform/device, build, request/response де доречно, screenshot/log і failure boundary. Швидкий feedback важливіший за кількість scripts.

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

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

Домовленість із командою замість маскування бота

Cloudflare, gateway або load balancer можуть блокувати automation за browser signals, JavaScript execution і частотою запитів. Надійний шлях — узгодити з developers та DevOps контрольований header, cookie, test account або environment flag, який переводить конкретний тестовий traffic у спеціальний режим. Редакційне security-застереження: це має бути вузький контракт із секретом, allowlist, аудитом і мінімальними правами, а не загальний спосіб вимкнути захист.

Антибот-захист у контрольованих автотестах →

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

Незалежні тести, test design і участь у плануванні

Тести мають бути незалежними за даними та станом. Залежна послідовність інколи може з'явитися як швидка перша ітерація, але це технічний борг: окремий тест не можна надійно повторити, а suite важче паралелити й діагностувати. Automation engineer не звільняється від базових QA-навичок: decomposition, impact analysis, risk assessment і test-design techniques. Межа між manual та automation розмивається, але повний перехід лише в один тип роботи атрофує іншу частину навичок. Участь на ранній фазі refinement допомагає заздалегідь визначити testability та потрібний рівень покриття.

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

Java · Сесії: AMA та PMP · 9:20–12:25

Яку мову вивчати і навіщо знати кілька

Розповсюдженість мови залежить від ринку, країни й конкретного моменту. Замість абстрактного рейтингу радиться дивитися на актуальні вакансії та стеки продуктів, у яких хочеться працювати. Друга мова корисна під час migration з одного stack на інший: generated translation code все одно треба перевірити на language-specific idioms, concurrency model і зайві конструкції. Для staff/principal/SDET ролей кілька мов дають змогу працювати не лише із зовнішніми tests, а й додавати coverage та testability у frontend і backend repositories.

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

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

Власні test IDs і внесок у frontend

Глибокі XPath не дають переваги в Playwright: потрібні parent/child operations уже є в locator API, а важливішу бізнес-логіку часто краще перевіряти нижче за UI. Команда автоматизації має домовитися з frontend developers про підтримку test attributes і, за можливості, додавати їх через звичайний pull request. Для публічного production DOM слід окремо оцінити, чи не спрощують описові IDs scraping або розкриття внутрішньої структури.

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

Java · Сесії: AMA та PMP · 19:47–23:40

Selenium, Playwright і реальна цінність тесту

У Python-програмі Selenium розглядається, але основний інструмент — Playwright. Головна навичка автоматизатора не прив’язана до API конкретної бібліотеки: потрібно розуміти сторінку й API продукту, будувати тестовані сценарії та домовлятися з розробниками про стабільні селектори й testability. Playwright надає більше готових можливостей для console, network mocking, traces і компонентних перевірок. У Selenium подібні задачі історично були складнішими, хоча сучасні протоколи браузера розширили його можливості. TypeScript-версія Playwright має зручний `playwright.config`, але це не робить інші мови неповноцінними: конфігурацію, паралельність, sharding і репорти можна організувати іншими механізмами. Водночас async/Promise-модель TypeScript іноді додає складності, яка не пов’язана безпосередньо з тестовою задачею.

Як працює проєктний білдер, ізоляція залежностей і впровадження нових інструментів →

Java · Сесії: AMA та PMP · 23:51–26:48

Вимірювати заздалегідь, а не під час кризи

Статистику краще почати збирати до зміни менеджменту або появи вимоги «тепер усе рахуємо». Зріла команда використовує метрики, щоб дослідити проблему, оцінити експеримент або зрозуміти, чи нові практики справді покращують delivery та задоволеність користувачів. Потрібно чесно пояснювати межі: автоматизація може не прискорити delivery одразу через технічний борг, слабку testability або архітектурні проблеми. Але таблиця з часом і запусками показує локальний ефект і створює базу для ширшої розмови про процес. Практичний висновок сесії: навіть проста, регулярно оновлювана модель робить внесок QA видимим і демонструє зрілий підхід до автоматизації.

Як упровадити автоматизацію мануальному QA та довести її ефективність →
Запитати в чаті про «testability» →