← Java

Конспект і таймкоди

0:00

Вебсервіси, SOAP і RESTful

Вебсервіс подається як software component, через який розподілені системи обмінюються даними. SOAP оперує messages і XML contracts, тоді як RESTful services будують інтерфейс навколо resources та HTTP semantics.

Автор порівнює XML, JSON, binary payloads і statefulness. Практичний висновок для тестувальника: перед автоматизацією треба визначити реальний protocol, media types і contract, а не припускати REST лише за JSON payload.

5:00

Моноліт, мікросервіси і розподіл відповідальності

У моноліті UI, business logic, persistence і integrations можуть постачатися як один application. У microservice architecture users, products і orders можуть жити в окремих services і мати власні data stores.

Дрібні services не гарантують простоти: зростають coupling, deployment overhead і складність пошуку failure. Тому test architecture має відображати фактичні service boundaries, а не ідеалізовану діаграму.

10:00

Gateway, Spring services і message brokers

Запит від browser, mobile або IoT device може пройти DNS, load balancer/API gateway, потім один або кілька services. Java backend у прикладі будується на Spring/Spring Boot, читає database або публікує asynchronous event.

Kafka, RabbitMQ та інші brokers допомагають розв’язати producer і consumer у часі. Для тестів це означає, що request success не завжди доводить completed business outcome: потрібно перевіряти event publication, processing, retries і final state.

15:00

REST як architectural style і HTTP protocol

REST пояснюється як набір architectural constraints/recommendations, а HTTP — як application protocol для client–server communication. Ці терміни не є синонімами.

Ресурс представляє domain entity у контракті, URI ідентифікує його, а HTTP method виражає operation. Тест має перевіряти не лише response body, а й method semantics, headers, status і state transition.

20:00

HTTP methods і status codes як частина contract

GET, POST, PUT, DELETE мають різні очікувані effects. 200 OK, 201 Created, 202 Accepted, 204 No Content, client errors 4xx і server errors 5xx не слід згортати в одне «працює/не працює».

Особлива увага приділяється PUT, де behavior для nonexistent resource залежить від contract. Автотест має кодувати домовленість конкретного API, а не універсально вважати один code правильним для всіх APIs.

25:00

Direct lookup і collection filtering

Відео завершується розрізненням direct lookup і collection filtering. Запит на конкретний nonexistent resource зазвичай очікує 404, а фільтр collection без matches — 200 і empty result.

Ця різниця має бути явною в test cases: один сценарій перевіряє відсутність адресованої entity, інший — валідний empty search result.