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

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

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

SMS, OTP, billing, fraud і rate limits

[Дивитися з 11:05](https://www.youtube.com/watch?v=GwmAB4IvQUk&t=665s). SMS-провайдер на кшталт Twilio приховує різні carrier contracts, billing і правила блокування. Успішний тест на одному українському префіксі не доводить доставлення через Vodafone чи оператора іншої країни: окремі ranges можуть бути заблоковані через fraud. Атака на authorization endpoint може витратити платний SMS-бюджет або спричинити блокування application, тому потрібні rate limits на правильному рівні. Водночас надто грубе обмеження за IP заблокує весь офіс або тестове середовище. OTP із TTL одна хвилина функціонально непридатний у країні, де SMS приходить за дві хвилини. Для автоматизації часто потрібні test numbers або контрольований bypass, але вони не замінюють окремої end-to-end перевірки реального каналу.

Прихована складність бекенд-тестування →

Design Patterns для автоматизаторів · 40:00–45:50

Third-party SDK, SMS-витрати й testability

Несумісні версії SDK або gRPC-залежностей можуть спричинити crash лише під час відкриття конкретного екрана. Окремо розглядається SMS/OTP flow: повторні запити створюють реальні витрати й можуть стати resource-exhaustion атакою, тому потрібні rate limits, bot protection і безпечний test bypass. Dev build може передавати спеціальний header або environment configuration, щоб не надсилати реальне SMS і не викликати reCAPTCHA. Це приклад testability — архітектурної властивості, яку тестувальник має обговорювати з командою до автоматизації.

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

Java Light · 4:00–6:10

Моноліт, модульний моноліт і мікросервіси

У моноліті business logic, email, SMS, persistence та integrations розгортаються як один application. Це не є автоматично погано: добре структурований моноліт простіший у розробці і не платить network latency за кожен внутрішній виклик. Модульний моноліт розділяє functionality всередині одного deployment і може зберігати окремі data boundaries. Мікросервісна архітектура виносить ці частини у незалежні services, але додає HTTP, serialization, handshakes, deployment і distributed failure modes.

Вступ до API-автоматизації →

Java Light · 11:30–13:02

Hexagonal architecture як структура коду

Гексагональна архітектура пояснює, як декомпозувати сервіс за відповідальністю та способом взаємодії з довкіллям. Окремі adapters працюють з REST, WebSocket, email, SMS, database, message queue і third-party services, не змішуючи все в одному класі. Для тестувальника такий поділ дає карту ports і failure seams: можна окремо перевірити domain behavior, adapter contract і повний ланцюжок інтеграції.

Вступ до API-автоматизації →

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

Third-party, SSO, OTP і тестові провайдери

Створення та вхід можуть залежати від payment provider, державного сервісу, SSO, email/SMS OTP або MFA. Зовнішній провайдер не завжди має повноцінний sandbox; навіть коли він є, можливості та тарифи тестового режиму відрізняються. Для тестового середовища потрібен офіційний test tenant/API key, тестові картки або керований спосіб отримати OTP. Інший варіант — окрема test-only форма з login/password, увімкнена серверною конфігурацією лише поза production. Це дає автоматизації стабільний шов, але не замінює окремі acceptance-тести справжньої інтеграції з провайдером.

Юзер менеджмент та костилі з якими ви стикнетесь в житті →
Запитати в чаті про «sms» →