1 заняття:
1. Про курс
2. Поставлені задачі
3. API та Клієнт серверна архітектура
4. Налаштовуємо Postman
5. Створюємо перший запит
ISTQB Certified Tester
Manual/Automation QA engineer
QA lead & exScrum master at Vaimo
Teacher at RY Consulting
16 занять:
2 заняття (запис) на тиждень ВТ та ПТ
публікуються о 18:00
слухаємо в зручний час
домашнє завдання до кожного уроку
Основи основ
Postman та тестування
Авторизація та аутентифікація.
Колекції, Середовища.Робочі простори.
Змінні та область дії змінних.
Аналіз response body. Як тестувати?
Використання сніппетів у тестах. Написання тестів. AI
Обробка помилок. Mock servers.
Створення JSON схеми. Моніторинг.
Автоматизований запуск тестів. TestRunner. Огляд CI/CD.
Аналіз тестових даних та визначення тестів для регресії.
GraphQL: створення та тестування запитів.
Postman flow, Request examples
SoapUI: Створюємо тестовий тест сьют та тест кейси.
Висновки: Моделювання тестової стратегії, підходів та оцінка задач
WebSockets та gRPC
Basic:
Клієнт-серверна архітектура є однією з основних парадигм розподіленої обчислювальної системи. У цій моделі "клієнт" відповідає за інтерфейс користувача та взаємодію, тоді як "сервер" зберігає дані, управляє ресурсами, обробляє запити тощо. Для взаємодії між клієнтами та серверами використовуються різні протоколи.
CLIENT
SERVER
HTTP REQUEST
HTTP RESPONSE
REQUEST LINE
Method URL HTTP v
HEADERS
empty line
BODY
(опційно)
POST /wow-server/greetings HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Content-Type: text; charset=utf-8
Content-Length: length
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
hi server!
STATUS LINE
HEADERS
empty line
BODY
(опційно)
HTTP/1.1 200 OK
Date: Mon, 27 Jul 2023 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
Content-Length: 88
Content-Type: text/html
Connection: Closed
<html>
<body>
<h1>Hello, Dear!</h1>
</body>
</html>
Набір визначень підпрограм, протоколів взаємодії та засобів для створення програмного забезпечення. Це набір готових класів, процедур, функцій, структур і констант, що надаються додатком (бібліотекою, сервісом) для використання в зовнішніх програмних продуктах.
API визначає функціональність яку надає програма, при цьому API абстрагується від того як саме ця функціональність реалізована.
У контексті клієнт-серверних протоколів API посилається на інтерфейси, функції, повідомлення та інші механізми, які протокол визначає для комунікації та взаємодії між клієнтами та серверами.
Набір визначень підпрограм, протоколів взаємодії та засобів для створення програмного забезпечення. Це набір готових класів, процедур, функцій, структур і констант, що надаються додатком (бібліотекою, сервісом) для використання в зовнішніх програмних продуктах.
API визначає функціональність яку надає програма, при цьому API абстрагується від того як саме ця функціональність реалізована.
reate
import requests
url = "https://example.com/api/users"
data = {
"name": "John",
"email": "john@example.com"
}
response = requests.post(url, json=data)
if response.status_code == 201: # HTTP 201 means "Created"
print("User successfully created!")
else:
print("Failed to create user. Status Code:", response.status_code)
print(response.json()) # Assuming the API returns a JSON response
Набір визначень підпрограм, протоколів взаємодії та засобів для створення програмного забезпечення. Це набір готових класів, процедур, функцій, структур і констант, що надаються додатком (бібліотекою, сервісом) для використання в зовнішніх програмних продуктах.
API визначає функціональність яку надає програма, при цьому API абстрагується від того як саме ця функціональність реалізована.
reate
import requests
url = "https://example.com/api/users/1" # Assuming "1" is the user's ID you want to fetch
response = requests.get(url)
if response.status_code == 200: # HTTP 200 means "OK"
user_data = response.json()
print("User data retrieved successfully!")
print("Name:", user_data['name'])
print("Email:", user_data['email'])
else:
print("Failed to retrieve user. Status Code:", response.status_code)
ead
Набір визначень підпрограм, протоколів взаємодії та засобів для створення програмного забезпечення. Це набір готових класів, процедур, функцій, структур і констант, що надаються додатком (бібліотекою, сервісом) для використання в зовнішніх програмних продуктах.
API визначає функціональність яку надає програма, при цьому API абстрагується від того як саме ця функціональність реалізована.
reate
import requests
url = "https://example.com/api/users/1" # Assuming "1" is the user's ID you want to update
data = {
"name": "John Updated",
"email": "john.updated@example.com"
}
response = requests.put(url, json=data)
if response.status_code == 200: # HTTP 200 can mean "OK" for updates
updated_data = response.json()
print("User data updated successfully!")
print("Updated Name:", updated_data['name'])
print("Updated Email:", updated_data['email'])
else:
print("Failed to update user. Status Code:", response.status_code)
ead
pdate
Набір визначень підпрограм, протоколів взаємодії та засобів для створення програмного забезпечення. Це набір готових класів, процедур, функцій, структур і констант, що надаються додатком (бібліотекою, сервісом) для використання в зовнішніх програмних продуктах.
API визначає функціональність яку надає програма, при цьому API абстрагується від того як саме ця функціональність реалізована.
reate
import requests
url = "https://example.com/api/users/1"
response = requests.delete(url)
if response.status_code == 204:
print("User deleted successfully!")
else:
print("Failed to delete user. Status Code:", response.status_code)
ead
pdate
elete
API - link
FTP - File Transfer Protocol для завантаження та вивантаження файлів між клієнтом та сервером. Використовує окремі керуючі для з'єднання.
SMTP - Simple Mail Transfer Protocol використовується для передачі електронної пошти. Визначає форматування пошти, маршрутизацію та передачу між серверами.
POP3 (Post Office Protocol version 3): Цей протокол дозволяє електронній поштовій програмі завантажувати електронні листи з сервера на локальний комп'ютер. Після завантаження листів з сервера, вони, як правило, видаляються з сервера, тому їх не можна більше прочитати з іншого пристрою.
IMAP (Internet Message Access Protocol): Цей протокол також дозволяє електронній поштовій програмі отримувати листи з сервера, але, на відміну від POP3, листи залишаються на сервері. Це дозволяє користувачам читати свої листи з різних пристроїв, оскільки листи не видаляються із сервера після першого прочитання. У типовій налаштованій системі електронної пошти користувач відправляє листи за допомогою SMTP і отримує листи за допомогою POP3 або IMAP. Тобто SMTP зазвичай відповідає за вихідну пошту, а POP3 та IMAP – за вхідну.
LDAP - Протокол легкого доступу до довідника та забезпечує доступ до розподілених довідкових служб, таких як корпоративні бази даних співробітників.
SSH - Протокол безпечної оболонки дозволяє адміністративні віддалені входи та інші служби через безпечний канал. Шифрує трафік та забезпечує ключову аутентифікацію.
WebSockets - Двосторонній протокол комунікації, який забезпечує канали повного дуплексу через одне TCP-з'єднання. Дозволяє передачу даних в реальному часі між клієнтом та сервером.
WebSocket: Протокол, що забезпечує двосторонній зв'язок в реальному часі між клієнтом та сервером через одне підключення. Web месенжери можуть використовувати WebSocket для таких функцій, як чат або нотифікації, що з'являються в реальному часі.
HTTPs та TCP/IP
HTTP і TCP/IP тісно пов'язані, оскільки HTTP використовує TCP/IP для передачі даних через Інтернет.
Як це працює:
TCP/IP (Transmission Control Protocol/Internet Protocol):
TCP/IP — це набір протоколів, який забезпечує транспортування даних від одного комп'ютера до іншого через мережу. TCP/IP працює на більш низькому рівні, ніж HTTP, і відповідає за доставку даних.
HTTP (HyperText Transfer Protocol):
HTTP — це протокол прикладного рівня, який визначає, як клієнт (наприклад, веб-браузер) і сервер обмінюються даними. HTTP використовується для запитів веб-сторінок, відправки форм, завантаження файлів тощо.
Як це працює:
HTTP запити і відповіді:
👉 Коли користувач вводить URL-адресу у браузері або натискає на посилання, браузер формує HTTP-запит, який може бути GET-запитом для отримання веб-сторінки або POST-запитом для відправки даних форми на сервер.
🤝 TCP з'єднання: щоб передати цей HTTP-запит на сервер, браузер використовує TCP, який встановлює надійне з'єднання з сервером. Це з'єднання гарантує, що всі дані будуть передані без помилок і в правильному порядку.
🦶IP маршрутизація: далі IP відповідає за доставку TCP-пакетів до правильного сервера, використовуючи IP-адресу, яка вказує місце розташування сервера в мережі.
🖕Передача даних: HTTP-запит інкапсулюється в TCP-пакети і передається через мережу до сервера. Сервер обробляє запит і відправляє HTTP-відповідь (наприклад, HTML-код веб-сторінки) назад на клієнтську сторону тим же шляхом.
FTP (File Transfer Protocol): FTP — це стандартний протокол для передачі файлів між комп'ютерами через Інтернет.
SMTP (Simple Mail Transfer Protocol): — це протокол, призначений для відправки електронних листів.
gRPC — це сучасний фреймворк для віддаленого виклику процедур (Remote Procedure Call), який дозволяє додаткам, що працюють на різних комп'ютерах, ефективно спілкуватися між собою.