Bug or Defect?
2.51K subscribers
237 photos
94 videos
1 file
213 links
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Друзі, доброго ранку 🌞
Як ваш настрій сьогодні?

Хочу побажати вам гарного, легкого і продуктивного дня)

Учора спілкувався з одним знайомим - він розповідав, як його перекидають з проєкту на проєкт “по потребі”. І знаєте, є таке відчуття, що ось це відео, яке я зараз вам кину, ідеально описує цю ситуацію за три секунди)

Всім ще раз гарного дня, більше спокою і менше тасок на вчора!
Обняв 🤗
Сильні 💛
😁186🤣1
Завдання дня для QA:

Після деплою через NGINX користувачі бачать помилку: “Too many redirects” - Що найімовірніше стало причиною?
Anonymous Quiz
7%
(A) Проблема з SSL-сертифікатом
59%
(B) NGINX постійно редіректить http → https
16%
(C) Бекенд теж робить редірект на https
18%
(D) Помилка у порті proxy_pass
🤯9👍2
Bug or Defect?
Завдання дня для QA:

Ви тестуєте вебдодаток. Користувачі скаржаться: сайт не відкривається, але сервер працює, сертифікат валідний, і навіть curl з IP-адресою дає норм відповідь. Що найімовірніше не так?
Всім доброго вечора друзі)
Дуже круто бачити, як багато з вас обрали варіант (D) і правильно)
Але давайте розберемо кожен варіант детальніше, бо це класичний кейс, який трапляється і на проді, і під час тестів.

Чому не (A) Сервер лежить повністю, бо він не відповідає
Якщо curl з IP працює, значить сервер живий і приймає запити. Тобто проблема не у лежачому сервері, а десь вище - на рівні DNS або маршрутизації.

Чому і не (B) Це помилка у сертифікаті SSL/TLS
Ми бачимо, що сертифікат валідний, і з IP сайт відкривається. Якби була SSL-проблема, то браузер або curl одразу б показали попередження типу certificate verify failed або handshake error.

І тут теж не (C) У браузері зламаний кеш
Часто люди це підозрюють, але у цьому випадку не підходить. Якщо DNS не резолвиться, то браузер навіть не дійде до кешу - бо просто не знає, куди йти)

Ну і чому саме (D) DNS-запис налаштований неправильно, і домен не резольвиться в IP
Це саме воно.
Запити напряму на IP проходять, значить мережа і сервер норм. Але коли йдеш через домен - DNS не віддає правильну IP-адресу або кешує стару.

Це типова ситуація коли оновили DNS, але TTL ще не сплив - у когось відкривається, у когось ні.

Що я маю вам сказать сьогодні)
Такі кейси чудово показують, чому варто тестувати сайт не тільки через браузер, а й через curl, dig, nslookup.
Бо іноді сайт не відкривається ≠ все впало, а просто DNS ще не прокинувся)

Хто вгадав(знав) із першого разу - ви реально вже на пів шляху до мережевого КУА)
А хто ні - не біда, зате тепер точно не попадетесь на цей класичний DNS-три)

Всіх обняв, сильні 💛
9👍4🔥4👏1
Друзі, привіт!

Як ваші справи сьогодні?
В Одесі знову щось метео-шалене намічається 🌧 - тримайте себе й свої автівки в безпеці)

А в мене сьогодні новина, яка зробила день на всі сто вітцотків
Одна з моїх учениць, що зараз у мене на менторство - отримала офер, і вже підписала!

Я, чесно, кайфую від таких моментів.
Бо пам’ятаю, як сам колись шукав шлях у ІТ без ментора, без підказок, без людини, яка скаже: “Так, ти все робиш правильно - просто не здавайся.”

Тому коли хтось із моїх доходить до цього моменту - це для мене як ще один доказ: все, що робимо, не дарма)

Тим, хто зараз у пошуку - не зупиняйтесь.
Так, буде важко. Так, не завжди зрозуміло, куди рухатись. Але крок за кроком - і ви теж отримаєте свій офер.

Все реально, якщо не здатись.
Сильні 💛
👍20🤗8👏5
Завдання дня для QA:

Ви бачите у коді або в налаштуваннях тесту ось такий вираз: ^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$ І ваш дев каже: “Та це ж просто регулярка для перевірки поля”. Що таке регулярний вираз (Regular Expression)?
Anonymous Quiz
10%
(A) Це спеціальний тип JSON для перевірки даних
77%
(B) Це шаблон для пошуку або перевірки тексту за заданим форматом
5%
(C) Це інструмент для парсингу API-відповідей
9%
(D) Це бібліотека у Python для валідації пошти
👍2🔥2
Доброго вечора друзі)

Щось маю вам сказать!

Бачили вже цей тул? https://imagewhisperer.org/

Блін, ну реально крута штука)

Це не просто черговий сайт про ШІ, а тул, який перевіряє зображення - чи воно справжнє, чи згенероване штучним інтелектом

Ви просто закидаєте картинку - і сервіс показує: чи є ознаки AI-генерації (Midjourney, DALL·E, SD тощо), або зображення редагувалось або підроблене,
і навіть які деталі виглядають “неприродно” для реального фото.

Для Куа або дослідників контенту це прям мастхев - коли треба перевірити валідність даних, UI-зображень або фактів у звітах.

Коротше, збережіть собі. Може згодитись тоді, коли ви найменше цього очікуєте)
Всіх обняв 🤗
🔥18👍43
Всім доброго раночку ☀️☀️

не міг цим не поделитися)) цеж просто про життя!

Всім гарного дня і настрою)
😁373👍2
Bug or Defect?
Завдання дня для QA:

Після деплою через NGINX користувачі бачать помилку: “Too many redirects” - Що найімовірніше стало причиною?
Друзі привіт! як ваш день??

Сьогодні розбираємо дуже типовий, але підступний кейс - той самий “Too many redirects” після деплою через NGINX.
На перший погляд - нічого страшного, але коли бачиш це на проді в 2 ночі - одразу хочеться знайти винного (спойлер: часто це не дев, а конфіг).

Чому не (A) Проблема з SSL-сертифікатом
Якби би справа була у SSL, ви б побачили “SSL handshake failed” або “certificate verify failed”, а не безкінечні редіректи.
SSL тут ні до чого, він або працює, або ні. А от редіректи це логіка, не шифрування)

Чому не (D) Помилка у порті proxy_pass
Якщо був би неправильний порт, то запит просто не дійшов би - NGINX би повернув 502 Bad Gateway або connection refused.
А тут все навпаки: сайт живий, просто крутиться по колу)

І не зовсім (B) тільки NGINX редіректить http → https
Сам по собі такий редірект - нормальна практика.
Але коли і NGINX, і бекенд роблять однаковий редірект, то починається весела петля)

І чому саме правильна відповідь: C - подвійний редірект
Оце якраз той випадок, коли обидві сторони занадто старалися
NGINX каже: “Я тебе зараз гарно переведу на https”,
а бекенд каже: “О, я теж переведу, бо безпека понад усе!”
І все браузер біжить по колу, доки не здається

Виглядате це бути в логах шось типо такого
Client → http://ваш.com
↓ 301 Redirect
NGINX → https://ваш.com
↓ 301 Redirect
Backend → https://ваш.com
↓ 301 Redirect
NGINX знову → https://ваш.com
і так по колу(

Це можно також перевірити - принцепі яб сказав легко
Робите
curl -I -L http://site.com

І якщо бачиш купу 301/302, і вони цикляться між http та https - bingo

Або моєно подивитися конфіг у
/etc/nginx/sites-enabled/default

(або свій site.conf).
Якщо там побачите шось типо
return 301 https://$host$request_uri;

і при цьому бекенд ще раз редіректить - ось твій баг.

Що я маю вам сказать)
Коли бачите “Too many redirects” - не лізьте одразу в браузер або бекенд.
Спочатку curl -v, дивитесь Location-заголовки, і за 10 секунд бачиш, хто з сервісів зайвий герой)


Хто з першого разу вгадав - респект)
А якщо ні - тепер, коли почуєте “Too many redirects”, у голові одразу спалахне: ага, подвійний https, бачу тебе)

Обняв 🤗🤗🤗
12👍6🔥3🤗2
Друзі, привіт! Як ви? Сподіваюсь, що ви й ваші близькі в безпеці 💛

Сьогодні хочу поділитися з вами реальною знахідкою, яку випадково побачив в одному технічному пабліку - і вона прям мастхев для кожного QA, девелопера чи безпекаря

https://awesomeopensource.com/categories/security

Це величезна колекція open-source тулів для безпеки - від аналізу вразливостей і пентесту до сканерів мереж, захисту API, DevSecOps-рішень та інструментів для CI/CD.
Коротше - все, що треба, щоб підвищити рівень свого проєкту й перевіряти його не лише “на кнопочки”, а й на реальні ризики.

Я такі штуки завжди зберігаю під руку, бо вони реально допомагають, коли потрібно швидко щось перевірити чи підтягнути знання.

Збережіть собі, поділіться з колегами - і хай ця шпаргалка буде під рукою тоді, коли вона знадобиться.

Всім гарного дня та гарного настрою ☀️
І пам’ятайте - п’ятниця це теж робочий день, але тільки до 17:00 )
Обняв 🤗
🔥1044
Всім доброго ранку друзі☀️☀️☀️

Як ви? Як пройшли вихідні? Я вже на другій каві, бо тиждень обіцяє бути шалений - багато задач, зустрічей і роботи, але чесно кажучи, це приємно. Коли є чим займатись - час летить швидше і день проходить цікавіше.

Хотів ще сказати кілька слів про ваші повідомлення щодо курсів. Я бачу всіх і читаю всіх, але, на жаль, я один. Якщо набирати занадто багато людей, це буде не курс, а просто лекції з теорії - а мені хочеться давати вам практику, реальні кейси і корисні навички, які ви зможете застосувати на роботі. Тому не переживайте - усім відповім трохи згодом, і якщо у вас буде час і натхнення, ми обов’язково попрацюємо разом.

А поки - ось вам цікава стаття до ранкової кави:
https://blog.qatestlab.com/2025/09/10/when-ai-will-replace-manual-testers

Бажаю вам гарного початку тижня і продуктивного дня.
Обняв. 🤗🤗🤗
15👍1
Сорі шо так пізно - але роботи не вилізти(

Завдання дня для QA: Після деплою застосунку користувачі скаржаться, що сайт на Apache не відкривається, а у браузері з’являється помилка 403 Forbidden. - Що з наведеного найімовірніше є причиною?
Anonymous Quiz
5%
(A) Сервер не запущений і не слухає жодного порту
72%
(B) У конфігурації Apache неправильно вказаний DocumentRoot або права на директорію
17%
(C) DNS-запис не резольвиться у правильну IP-адресу
6%
(D) Сайт перевищив свій SSL-ліміт і з’єднання відхиляється
This media is not supported in your browser
VIEW IN TELEGRAM
Друзі, доброго раночку)

Бажаю вам сьогодні гарного дня, легкого старту тижня і правильного настрою - хай задачі вирішуються швидко, а баги обходять стороною.

На відео, впевнений, кожен впізнає когось зі своїх девів 😄 - от саме так вони виглядають, коли бачать, що на них завели нову issue.

Всіх обняв, сильні як завжди 💪
😁20
This media is not supported in your browser
VIEW IN TELEGRAM
І там ледь не забув сказати - пайтонводи, це для вас окремий меседж 😄

Ви вже бачили, що Python 3.14 офіційно релізнули? Якщо ще ні - обов’язково гляньте, бо там багато цікавих змін. Навіть якщо ви не пишете на Python щодня, як і я, - все одно кайфово спостерігати, як мова росте й полегшує життя нам КУА.

Світ Python стає кращим, і кожен реліз - це ще один крок до того, щоб писати код швидше, чистіше й з меншими болями. Якщо цікаво - можу зробити короткий технічний огляд того, що саме з’явилось нового у 3.14.

Хочете?
👍316👌2
Доброго вечора друзі 🤗

Як ви? як ваш тиждень і ваш настрій? Так чучуть пропав бо роботи дуже дуже і дуже багато, леть встигаю ше і людей треба вчити) Але чу-чуть відіхнете від мене ТАК???

Шо я маю вам сказать сьогодні)

я і обіцяв повернутись до теми плюшок у Python 3.14? я вже чучуть подивився, але не богато, ну що давайте сьогодні коротко, але по суті - чому цей реліз реально вартий вашої уваги навіть якщо ви не кодите щодня.

Я пишу на Python не так багато, але цей реліз мене прям порадував, бо він торкається речей, які КУА можуть знадобитись у реальних задачах: від написання скриптів для API-тестів до швидкого дебагу прямо в терміналі.

І так Free-Threaded Python - як кажуть прощавай GIL
Якщо колись вас бісило, що потоки в Python насправді працюють послідовно - забудьте. У 3.14 з’явилась експериментальна збірка без GIL (Global Interpreter Lock), тобто тепер вони можуть реально виконуватись паралельно.
Для нас це означає, що скрипти для навантаження чи паралельних API-тестів будуть працювати помітно швидше.

Як приклад
import threading

def worker(n):
print(f"Running job {n}")

for i in range(10):
threading.Thread(target=worker, args=(i,)).start()

У 3.14 це виконується паралельно як слід, без “очікування” черги.

Ну про це окремо так? t-рядки - тепер форматування як у людей
Дуже зручно для логів або генерації тестових даних:

name = "QA"
t"Hello {name}, welcome to testing world!"

Раніше треба було робити f"...", тепер - t"...", і вони не обчислюються одразу, що дає більше контролю під час побудови рядків.

REPL майже як міні-IDE
Якщо ви колись юзали python у терміналі для швидких перевірок - тепер це взагалі інший рівень. підсвічування синтаксису, автодоповнення при імпорті модулів, кастомні теми, зручні підказки при помилках ну не красота?

Я, наприклад, часто прямо в REPL тестую шматки коду з API або генерацію токенів - тепер це робити у 2-3 рази приємніше.

Ну і як же Новий модуль compression.zstd
Прямо з коробки можна стискати дані через Zstandard. Це корисно, якщо ви генеруєте великі репорти або хочете оптимізувати логування/експорти прямо у тестах.

import compression.zstd as zstd

data = b"Some QA logs" * 1000
compressed = zstd.compress(data)

Помилки, які тепер пояснюються як для людей
Якщо ви коли-небудь бачили SyntaxError і не могли зрозуміти, що не так - тепер Python сам підкаже, що ви, наприклад, забули двокрапку або переплутали ключове слово.

А нові можливості в exceptions теж варті уваги)

Можна писати простіше:
try:
risky_func()
except ValueError, TypeError:
...
(якщо не використовуєте as)


Шо я хочу вам в принцепі сказать)

Ви можете писати легші утиліти для тестування без зайвих бібліотек. Легше дебажити API, логіку або дані в REPL., Тести на навантаження тепер реально багатопоточні.

А повідомлення про помилки - це мінус 15 хвилин на гугління кожного дня.

Я би сказав так: Python 3.14 - це не про революцію, це про комфорт. Але саме він робить маленькі скрипти для КУА більш професійними, а великі інструменти - більш стабільними.

Так що так)

НЕ ГУБУть мене, я тут)

Всім гарного дня і настрою друзі)
Всіх обняв🤗🤗🤗, Cильні 💛💛💛
19🔥3👍1🤗1
This media is not supported in your browser
VIEW IN TELEGRAM
Доброго ранку, друзі! Як ви, як ваші вихідні?

Хочу, щоб ви теж подивилися цей мотиваційний ролик - іноді саме таких кілька хвилин вистачає, щоб зарядитись на весь день.

А тепер - каву в руку і вперед працювати на повну. Новий тиждень - нові задачі, нові виклики і нові результати.

Бажаю вам максимально продуктивного дня і правильного настрою.
Сильні 💪

Обережно на відео присутній МАТ
🤣9😁4🔥2😭1
Завдання дня для QA:

Під час тестування чату, який працює через WebSocket, ви помітили, що повідомлення перестають доходити до сервера приблизно через 90 секунд неактивності користувача. - Яка з наведених причин найімовірніша?
Anonymous Quiz
75%
(A) Сервер закриває з’єднання через неактивність, бо не отримує ping/pong від клієнта
15%
(B) Сервер не підтримує WebSocket і використовує лише HTTP-запити
8%
(C) Сертифікат SSL оновився, і з’єднання стало невалідним
2%
(D) DNS кеш браузера пошкоджений, тому пакети не відправляються
👍5🔥21👏1👀1
Друзі доброго вечора))

Сьогодні маю шо вам сказать.
хочу показати вам одну дуже цікаву штуку, яку точно варто додати собі в арсенал - особливо якщо ви займаєтесь API-тестуванням, безпекою або просто любите копнути глибше за звичайні запити.

Це тул під назвою Headerpwn - такий собі фазер, який перевіряє, як ваш сервер реагує на різні HTTP-заголовки. І повірте, це не така банальна штука, як здається.

Бо от ви тестуєте бекенд - все класно: POST, GET, статуси 200/400, response приходить як треба. Але... що буде, якщо заголовок трошки змінити? Додати нестандартний? Відправити зайвий? Саме тут і починаються цікаві історії)

Headerpwn якраз і створений для цього: він автоматично перебирає купу варіантів заголовків і дивиться, як сервер на це реагує.
- Чи впаде він?
- Чи поверне неочікуваний статус?
- або, можливо, “пропустить” запит повз авторизацію?

А ще він реально зручний для КУА легко інтегрується з Burp Suite, тому можна запускати все в одному інтерфейсі.

Принцепі все буде просто) написали = запустили)

headerpwn -url https://example.com -headers my_headers.txt


-url - ціль, яку тестуємо

-headers - файл зі списком заголовків, які будемо перебирати

Після запуску ви отримаєте повну картину реакції сервера на різні варіанти - і це реально допомагає знайти те, про що бекенд-розробник навіть не здогадувався.

Який поінт від мене
тест безпеки (чи можна обійти auth або CSRF-перевірку); пошук неправильних конфігурацій (наприклад, X-Forwarded-For або Content-Type можуть змінювати поведінку); аналіз edge-case сценаріїв ще до продакшену. це все про це)

https://github.com/devanshbatham/headerpwn - є даже дока)

Як на мене - це той тул, який не лежить “на кожен день”, але коли треба знайти щось нетипове чи нестандартне, то дуже виручає.
Ідеально, коли Dev каже: “Та ні, такого сценарію ніколи не буде” - а ти запускаєш Headerpwn і показуєш, що таки буде 😄

Якщо хочете - наступним постом покажу, які заголовки найчастіше “ламають” бекенд на проєктах?

Всім гарного вечора)

Обняввв 🤗🤗🤗
👍26🔥82🤩1
Привіт друзі!

Ну що, поговоримо сьогодні про… лімони 🍋? Так-так, не жартую)

Чому я взагалі згадав про це? Бо це дуже крутий приклад того, як реальні користувачі можуть “протестувати” продукт краще, ніж будь-який скрипт чи мануальщик.

Ви просто Уявіть ситуацію: в додатку запускали кампанію збору “віртуальних лімонів” - з точки зору бізнесу це був івент, а з точки зору QA це стало… повноцінним регресійним тестуванням у проді.

Під час збору користувачі пройшли усі ключові флоу - логін, API-виклики, оновлення сторінок, роботу бази. Система отримала пікове навантаження - і це чудово перевірило бекенд і скейлінг. Спрацював навіть ефект манкі-тестування: користувачі натискали непередбачувано, створюючи кейси, до яких ми б самі не додумались.
І головне - це дало величезний масив реальних метрик і поведінкових сценаріїв без жодної ручної роботи.

Фактично, команда отримала “безкоштовне” тестування на проді, а користувачі навіть не здогадувалися, що вони частина КУА-процесу)

Ідея проста, але сильна: залучення реальних користувачів до бета-тесту або івентів може дати більше даних, ніж тисячі автотестів.

А тепер честно)
Назбирали собі??))


Всіх обняв)
Сильні 💙
17💯3👍2😁1
Завдання дня для QA:

Після перезапуску бекенду користувачі скаржаться, що частина функціоналу “ламається” або повертає 503 У логах видно, що REST від клієнта відправився одразу після старта контейнера. - Що з наведеного найімовірніше є причиною?
Anonymous Quiz
8%
(A) У NGINX пошкоджений SSL-сертифікат
28%
(B) REST-ендпоінт недоступний через неправильний CORS
47%
(D) NGINX не прийняв запит, бо процес ще не стартував і порт не слухає
18%
(C) Проблема в кеші браузера після деплою
👀82👍1🔥1👨‍💻1
Доброго ранку друзі)

Як ви? Сподіваюсь ви і ваші близькі в безпеці)

Хочу побажати вам гарного настрою не зважаючи не на що)

А тут ще є 1 не погана вакансія може комусь зайде, то велком

https://knubisoft.com/vacancy/junior-strong-middle-low-qa-engineer-hybrid/

Обняв🤗🤗🤗
Сильні💛💛💛
8🤗3🔥1
Друзі, доброго ранку!
Як ваш настрій? Сподіваюсь, кава вже зробила свою справу)

Геймера приготуватися))
Що я маю вам сказать - чули вже про гру https://store.steampowered.com/app/2060160/The_Farmer_Was_Replaced/ і це не просто ферма
Тут ви реально вчитеся Python прямо через геймплей.

Так-так, тут замість садити буряки - ви пишете код, щоб робот сам збирав урожай)
Фактично ви автоматизуєте процеси прямо у грі: цикли, умови, логіка - усе як у реальній автоматизації.

Якщо ви КУА, який хоче підтягнути Python для автоматизації - це реально прикольний і нетиповий спосіб почати.
Краще, ніж черговий тутор на YouTube 😄

Всім гарного ранку і продуктивного дня)
👍176🔥4👏1