Welcome to Bug or Defect?
youtube - https://www.youtube.com/@BugOrDefect
instagram - https://www.instagram.com/bugordefect_life?igsh=MTFlYzZyMncwZWd4eQ==
Post #886
1.44K
Bug or Defect? Друзі привіт, як ваш день? Сподіваюсь ви в безпеці, день вже до кінця добігає, заварюйте чай і читайте, бо без нього TLS взагалі виглядає як чорна магія. Протоколи для QA - TLS Що я маю вам сказати одразу: TLS - це не “просто замочок у браузері”. Це окремий…
Друзі, привіт. Як ваш день?
Хотів вам сьогодні показати ще 1 протокол - але хочу спочатку про 1 мезанізм
Я це про webhooks і дивно що багато хто не розуміє що це
це не якийсь новий протокол. Це просто механізм, коли сервіс сам повідомляє вас про те, що щось сталось. По факту - звичайний HTTP POST, тільки навпаки: не ви йдете до сервера, а сервер приходить до вас.
Відбулась подія, система шле повідомлення. Все.
Оплата пройшла, юзер зареєструвався, білд завершився, таска змінила статус і на ваш endpoint летить запит з даними про це.
Виглядає приблизно шось типо такого
Що я маю вам сказать
Більшість куа тестують тільки основний API. Webhook частину, майже ніхто. І потім починається те саме по колу: платіж пройшов, а статус не змінився. CI завершився, нотифікація не прийшла. CRM оновилась, інтеграція мовчить.
Всі дивляться на бекенд. А проблема саме у webhook.
Зазвичай ламається: endpoint недоступний, неправильний secret або signature, webhook приходить кілька разів через retry, payload змінився і ніхто не попередив, система не обробляє дублікати.
Звідси і беруться баги "інколи працює, інколи ні")
Щоб побачити чи webhook взагалі приходить:
Щоб подивитись що в ньому:
Або просто відкрийте webhook.site - там відразу видно headers, body, retry і статус відповіді. Найшвидший спосіб зрозуміти що відбувається.
Якщо тестувати тільки API запити - ви бачите половину картини. Друга половина це події, про які система розповідає сама. І якщо цю половину не перевіряти - баги будуть. Стабільно.
Обняв🤗
Хотів вам сьогодні показати ще 1 протокол - але хочу спочатку про 1 мезанізм
Я це про webhooks і дивно що багато хто не розуміє що це
це не якийсь новий протокол. Це просто механізм, коли сервіс сам повідомляє вас про те, що щось сталось. По факту - звичайний HTTP POST, тільки навпаки: не ви йдете до сервера, а сервер приходить до вас.
Відбулась подія, система шле повідомлення. Все.
Оплата пройшла, юзер зареєструвався, білд завершився, таска змінила статус і на ваш endpoint летить запит з даними про це.
Виглядає приблизно шось типо такого
POST /webhook/payment
{
"event": "payment_success",
"amount": 100,
"user_id": 25
}
Що я маю вам сказать
Більшість куа тестують тільки основний API. Webhook частину, майже ніхто. І потім починається те саме по колу: платіж пройшов, а статус не змінився. CI завершився, нотифікація не прийшла. CRM оновилась, інтеграція мовчить.
Всі дивляться на бекенд. А проблема саме у webhook.
Зазвичай ламається: endpoint недоступний, неправильний secret або signature, webhook приходить кілька разів через retry, payload змінився і ніхто не попередив, система не обробляє дублікати.
Звідси і беруться баги "інколи працює, інколи ні")
Щоб побачити чи webhook взагалі приходить:
tcpdump -i any port 443
Щоб подивитись що в ньому:
ngrok http 8080
Або просто відкрийте webhook.site - там відразу видно headers, body, retry і статус відповіді. Найшвидший спосіб зрозуміти що відбувається.
Якщо тестувати тільки API запити - ви бачите половину картини. Друга половина це події, про які система розповідає сама. І якщо цю половину не перевіряти - баги будуть. Стабільно.
Обняв🤗
- ❤ 24
- 🔥 10
- 👀 4
- ❤🔥 2
- ⚡ 1
