Bug or Defect?
2.51K subscribers
237 photos
94 videos
1 file
213 links
Download Telegram
Привіт друзі, як ваші вихідні? 🙂


Хочу назвати цей пост так: Не будьте таки як (Я) «Постійно і постійно вертайте ваш енв назад »

Ранкові історії QA:

Шо то маю вам сказать, Бо сьогодні зранку маю класичну історію з Куа-життя.

Ранок почався з того що сежу і думаю, треба глянути одну штуку на тестовому серваку, на якому я давно не був. Ну і пошов я підключатися через клієнт спочатку і тут дивина. Через клієнт мені пише сервер недоступний і все - нічого типо ребута рестарта апки не помогає) ХММ

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

І тут у мене на думці сразу як я це люблю с самого ранку після вихідних(

Ну окай, Перевірив blacklist/banlist чисто. І тут вже починаю підозрювати, що справа може бути у фаєрволі а само ломально.

Як зрозуміти і подивитися це не проблема, Можна подивитись локальні правила через:
netsh advfirewall firewall show rule name=all

Або, якщо є підозрюваний процес, перевірити, чи не заблокований його вихідний трафік по IP/домену.

І тут я згадав, що колись давно, коли тестував (обрив коннекту), я сам собі заблочив ip сервера на рівні фаєрвола

Тобто сервер живий і через курл і пінг я можу нормально його бачити а правило саме для APP з якого я хотів зайти - ну короче ви поняли
Ну і це той самий rule, який мене і підставив:
netsh advfirewall firewall add rule name=BlockTest program="шлях\до\апки.exe" dir=out remoteip=XXX.XXX.XXX.XXX action=block


А відновити все назад можна так:
netsh advfirewall firewall delete rule name=BlockTest program="шлях\до\апки.exe" remoteip=XXX.XXX.XXX.XXX

Ну тут вже підставляєте свій шлях до апки та IP)

Ну що зняв rule цей і одразу все ожило. Сервер нікуди не падав, просто я сам собі «підсипав баг» минулого разу)

Мораль яка: завжди після тестів вертайте енв назад. Бо можна півдня шукати проблему, якої насправді немає.

А це вам від мене бонус корисних команд:
Подивитись всі правила:
netsh advfirewall firewall show rule name=all


Забанити апку/endpoint:
netsh advfirewall firewall add rule name=BlockTest program="шлях\до\апки.exe" dir=out remoteip=XXX.XXX.XXX.XXX action=block


Відновити:
netsh advfirewall firewall delete rule name=BlockTest program="шлях\до\апки.exe" remoteip=XXX.XXX.XXX.XXX


Заблокувати весь трафік на конкретний IP (IP-rule)
netsh advfirewall firewall add rule name=BlockIP dir=out remoteip=XXX.XXX.XXX.XXX action=block



Розблокувати цей IP
netsh advfirewall firewall delete rule name=BlockIP



Заблокувати ICMP (ping)
netsh advfirewall firewall add rule name=BlockPing protocol=icmpv4:any,any dir=in action=block


Розблокувати ICMP
netsh advfirewall firewall delete rule name=BlockPing


Всім гарного дня, друзі 🤗
Обняв, і не забувайте чистити після себе енви 😉

Якщо вам цікаво і хочете, я ще зроблю маленький блок пояснення різниці між program-rule (блокує конкретну апку) і IP-rule (блокує весь трафік на адресу)? Це гарно підсумує, чому ping/curl працювали, а клієнт ні. Тоді не забуваємо про серденько)
21🔥6👍3👏1
Завдання дня для QA

Ви пінгуєте сервер: ping 10.10.10.10 але відповідь не приходить. Адмін каже: сервер живий, просто ICMP ми відрубали. - Яку альтернативу можна використати, щоб перевірити?
Anonymous Quiz
27%
(B) curl 10.10.10.10
12%
(C) nc -zv 10.10.10.10 22
40%
(D) Всі вищеперелічені.
👀7🔥31👍1👏1
This media is not supported in your browser
VIEW IN TELEGRAM
Друзі, привіт! 👋

Сьогодні такий день, коли реально треба не дві, а чотири руки, щоб встигнути все, що навалилось)

Думаю, у багатьох із вас таке саме відчуття, ніби на роботі ростуть додаткові руки зі спини 😅

Це відео прям в тему)

Всім гарного дня, друзi!

Обняв 🤗
😁102🤗1
Завдання дня для QA:

Ви логінитесь в апку, сервер видає Set-Cookie: JSESSIONID=abc123. Потім відкриваєте нову вкладку в браузері й знову заходиш на сторінку. - Що буде з твоєю сесією?
Anonymous Quiz
11%
(A) Сервер створить нову сесію, бо нова вкладка = новий юзер
79%
(B) Сесія залишиться та сама, бо cookie спільні між вкладками
5%
(C) Сесія зламається, бо браузери не тримають cookies між вкладками
6%
(D) Відповідь залежить від браузера
👍61🔥1
Bug or Defect?
Привіт друзі, як ваші вихідні? 🙂 Хочу назвати цей пост так: Не будьте таки як (Я) «Постійно і постійно вертайте ваш енв назад » Ранкові історії QA: Шо то маю вам сказать, Бо сьогодні зранку маю класичну історію з Куа-життя. Ранок почався з того що сежу…
Привіт друзі, як ваш день? 🙂

Пам’ятаєте мою історію з фаєрволом? Ну що сьогодні хочу трохи докинути деталей як і обіцяв)

Яка ж все таки різниці між правилами.
Колись я сам собі підклав ггг: Коли я забанив трафік для апки, потім дивлюсь, пінг проходить, curl тягне сторінку, сервер живий, а клієнт каже «ні, я не бачу його». Ну і сиди ломи голову.

Що я маю вас сказать.

Program-rule
Закриває тільки конкретну програму. Наприклад, блочимо свій клієнт:
netsh advfirewall firewall add rule name=BlockApp program="C:\Path\to\app.exe" dir=out remoteip=192.168.1.1 action=block


Ping і curl як раз тут будуть жити. Але ваша апка все, тиша.

а от вже IP-rule
Рубає взагалі весь трафік на конкретний IP.
netsh advfirewall firewall add rule name=BlockIP dir=out remoteip=192.168.1.1 action=block


І тут вже ніякі пінги чи курли не пройдуть. Мертво все, що йде на адресу.

про ICMP-rul це вже про сам ping.
netsh advfirewall firewall add rule name=BlockPing protocol=icmpv4:any,any dir=out action=block


Тобто сервер працює, апка працює, але ping каже «timeout». Це іноді дуже плутає.

Саме для КУА це суперкорисно: якщо хочете перевірити, як поводиться апка без інтернету → ставите program-rule. якщо хочете симулювати, що сервер ліг повністю → ставите IP-rule. ну і якщо хочеш подивитись, чи ваша система орієнтується на пінг, чи реально перевіряє API → блочи ICMP.

і оставлю вам ще пара команд, щоб не губились:

Подивитись усі правила:
netsh advfirewall firewall show rule name=all



Видалити конкретне правило:
netsh advfirewall firewall delete rule name=BlockApp



Подивитись активні сесії й коннекти:
netstat -ano



Вимкнути фаєрвол повністю (але не робіть так на проді):
netsh advfirewall set allprofiles state off



Який поінт від мене, КУА не тільки кнопочки тисне, а й вміє ламати/відновлювати середовище так, щоб реально бачити різницю.
Бо коли знаєш, як це працює під капотом, вже не «сервер мертвий», а просто rule тебе підставив)

Всім гарного вечора 🤗🤗🤗
5👍42🔥2
Друзі, доброго ранку! 🌞

Сиджу з кавою в очікувані колу, думаю щось почитаю і потрапив на це) в цілому суть дуже просто QA‑команди, які активно тусують на форумах і в Slack/Stack Overflow, збільшують ефективність тестування на 30 %.

Короче, лайфхак простий: QA-спільнота, це ваша сила. Не залишайтесь в ізоляції, діліться, питаємо, навчайтеся і двигайте якість уперед разом.

https://moldstud.com/articles/p-maximize-your-qa-testing-success-how-to-leverage-online-communities-effectively

Всім гарного дня і продуктивного настрою!
Обняв 🤗
👍104🔥1
Bug or Defect?
Завдання дня для QA

Ви пінгуєте сервер: ping
10.10.10.10 але відповідь не приходить. Адмін каже: сервер живий, просто ICMP ми відрубали. - Яку альтернативу можна використати, щоб перевірити?
Добрий вечір, друзі 🤗
Розберу вам коротенько цей пул, може комусь стане у пригоді

Що таке (A)
Telnet дійсно може показати, чи порт живий, але він перевіряє лише один конкретний порт (наприклад, 443). Якщо саме він закритий, ще не факт, що сервер мертвий.

Що таке (B)
Curl працює тільки якщо на сервері є HTTP/HTTPS сервіс. Якщо ж це БД чи якийсь внутрішній сервіс без вебки, curl тут безсилий.

Що таке (C)
Netcat (nc) крутий тим, що можна перевірити будь-який порт, але знову ж таки, це тільки одна з альтернатив, а не універсальна паличка-виручалочка.

Тобто чому все ж усі варіанти будуть в пригоді перевірити якщо той чи інший не пройшов)
Бо в реальності ми не знаємо, що саме працює на сервері. Хтось перевірить веб (curl), хтось SSL (telnet 443), хтось SSH (nc 22). Все це валідні методи і їх часто комбінують, коли ICMP (ping) відрізаний.

Якщо є питання або щось добавити залюбки обговоримо)

Всім гарного вечора, а головне тихого 💛

Всіх обняв 🤗
❤‍🔥8🤗41🤝1
Друзі, привіт, як ви? Сподіваюсь, ви і ваші близькі в безпеці і все у вас добре🙏

Сьогодні ранок дався не надто легко, трохи важко стартував, але… є кава, і це вже серйозний плюс)

Хочу побажати вам продуктивного та тепла дня. І пам’ятайте: кава, це не лише напій, це рятувальник для недосипа й генератор хорошого вайбу.

Всіх обняв, залишайтесь сильними 💛
🤗9👍53
🔥5👀41👍1
Доброго вечора, друзі 👋
Дуже цікава штука, яку не можу не кинути вам у стрічку:

Не полінуйтесь і почитайте)

https://hackyourmom.com/osvita/dlya-pochatkivcziv/vizualnyj-gajd-z-ssh-tunelyuvannya-z-prykladamy-ta-shemamy/

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

Рекомендую глянути, навіть якщо ви не супер-адмін, бо SSH часто виручає не тільки девів, а й нас з вами, QA 🙂

Всім гарного вечора і розширюйте свої горизонти знань)
👍11🔥32👌1
👍43🔥3
Друзі привіт 🤗
Як ваш день?

Я хоч і у відпустці, але про вас не забуваю)
Пам’ятаєте, ми вже з вами говорили про Nmap?
Так от, ось вам маленька шпаргалка, яку реально варто зберегти собі десь під руку.

Тут все основне:
- різні типи сканів (-sS, -sT, -sU і т.д.),
- виявлення хостів (-sn, -Pn),
- як швидко пробігтись по портах (-p, --top-ports),
- визначення ОС та сервісів (-sV, -O),
- і навіть як обійти фаєрвол (-f, --data-length).

Я собі іноді користуюсь -A (комбо-режим: ОС, сервіси, скрипти) але обережно, бо він доволі «важкий».
І якщо треба швидко то це --top-ports 100 рятує, коли нема часу сканити всю /24.

Коротше, штука must-have, особливо для Куа, хто чіпає мережі чи сек’юрку.

Зберігайте, Бо потім будете згадувати, а де ж я те бачив.

Всім гарного вечора друзі 💛
Всіх обняв🤗🤗🤗
6❤‍🔥3🤗31
This media is not supported in your browser
VIEW IN TELEGRAM
Банда привіт 🙌
Як ваші справи? Як вихідні?

Я після відпустки завжди сідаю зранку на роботу з таким настроєм прям топ 🔥
Але потім заходиш у беклог... і там купа задач, питань, тікетів і настрій одразу «ага, понятно» 😅

Це відео якраз про той момент, коли ти вийшов відпочивший, заряджений, а через 5 хвилин знову з головою у таски й дедлайни. Реалії КУА-життя

Всім гарного дня і продуктивного старту тижня
Нехай він буде з перемогами, а не з безкінечними «блокерами» )

Обняв
Сильні 💛
1🤗154👍3
Завдання дня для QA:

Ви тестуєте API. Відправили запит на POST /users, щоб створити нового юзера. У відповідь сервер повернув: { "id": 0, "message": "User created" } - Що тут підозрілого і на що звернути увагу?
Anonymous Quiz
2%
(A) Все ок - юзера створено, можна тест далі гнати
67%
(B) ID виглядає підозріло, треба перевірити логіку генерації ідентифікатора
30%
(C) Сервер повернув тільки message, а мав би ще віддати весь об’єкт користувача
2%
(D) Це норм, API завжди так працює головне, що є "User created"
👀7🔥4👍3
Bug or Defect?
Друзі привіт 🤗 Як ваш день? Я хоч і у відпустці, але про вас не забуваю) Пам’ятаєте, ми вже з вами говорили про Nmap? Так от, ось вам маленька шпаргалка, яку реально варто зберегти собі десь під руку. Тут все основне: - різні типи сканів (-sS, -sT, -sU і…
Добрий вечір, друзі!

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

Так що я маю вам сказать)


Nmap це (Network Mapper), це тул для сканування мережі. Його фішка, швидко показати: які хости в мережі живі, які порти в них відкриті, які сервіси там працюють (HTTP, SSH, RDP тощо), І яку ОС або версію сервісу можна припустити.

Його юзають адміни, девопси, безпекарі й, звісно, QA, коли треба перевірити доступність, мережеву конфігурацію або знайти “сюрпризи” в енві.

що з основні скани
nmap -sS 192.168.1.1

- TCP SYN (stealth) scan
nmap -sT 192.168.1.1

- TCP Connect scan
nmap -sU 192.168.1.1 

- UDP scan
nmap -sA 192.168.1.1

- ACK scan (для фаєрволів)
nmap -sN 192.168.1.1

- Null scan (тільки для специфічних цілей)

-sS найпопулярніший, швидкий і менш помітний.
-sU скан UDP (часто на ньому ховаються DNS або SNMP).

ДЛя виявлення хостів
nmap -sn 192.168.1.0/24

- Ping scan, перевірка хто в мережі
nmap -Pn 192.168.1.1

- Ігноримо пінг, одразу до портів
nmap -PS 192.168.1.1

- TCP SYN ping
nmap -PE 192.168.1.1 

- ICMP echo
Це дуже корисно, коли думаєш мертвий сервер чи ні.

Для портів і сервисів
nmap -p 80 192.168.1.1

- конкретний порт
nmap -p 20-100 192.168.1.1

- діапазон
nmap --top-ports 100 192.168.1.1

- топ-100 портів
nmap -sV 192.168.1.1

- детекція версій сервісів
nmap -O 192.168.1.1

- визначення ОС
це супер, коли треба зрозуміти: а що взагалі слухає ця машина.

Скрипти (NSE) тут почитаєте щоб було цікаво)
nmap -sC 192.168.1.1

- стандартні скрипти
nmap --script=vuln 192.168.1.1

- скрипти пошуку вразливостей
nmap --script=http-title 192.168.1.1

- заголовок вебсторінки
Nmap має цілу бібліотеку скриптів: від перевірки SSL до брутфорсу. Це вже напівпентест

Ну і як же без виведу
nmap -oN result.txt 192.168.1.1 

- звичайний
nmap -oX result.xml 192.168.1.1

- XML
nmap -oG result.grep 192.168.1.1

- для grep
nmap -oA all_results 192.168.1.1

- усі формати
Зручно, коли хочеш інтегрувати у пайплайн чи CI/CD.

Ну і Лайфхаки від мене
nmap --reason

- покаже причину, чому хост вважається живим.
nmap --open

- показати тільки відкриті порти (без шуму).
nmap -f

- фрагментація пакетів (іноді обходить IDS).
nmap --data-length 50

- додає випадкові байти, щоб не ловили прості фільтри.

Який поінт від мене для вас)
Nmap це не тільки "подивитись відкриті порти". Це реально інструмент, який допомагає КУА перевіряти живучість енвів, бачити, які сервіси доступні, і ловити проблеми ще до того, як про них скаже користувач.


Всім гарного вечора) а головне спокійного 🤗🤗🤗
🔥9👍4❤‍🔥31
Друзі привіт, як у вас справи? 🙂

Сьогодні день як день , все розгріб, рутина пішла по плану. Без історій цього разу, але маю для вас дещо цікаве)

Гарна вакансія для тих, хто зараз шукає роботу.
Junior QA/QC Manual
https://novadigital.peopleforce.io/careers/v/135925-junior-qaqc-manual

Тому якщо є бажання і ви в пошуку то велкам 😉

Всім гарного ранку і продуктивного дня)
Обняв 💛
👍94🔥2
👍3👀3🔥1
Привіт друзі, як ви?
Я сподіваюсь у вас все добре і ваші близькі в безпеці 💛

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

https://florian-kraemer.net//software-architecture/2025/07/07/Most-RESTful-APIs-are-not-really-RESTful.html

Всім гарного дня, продуктивного і легкого
Обняв, сильні 💪
4🤝4🔥2
Завдання дня для QA:

Ви відкриваєте вебапку і бачиш, що дані зберігаються у sessionStorage. Питання: що це за сховище і чим воно відрізняється від localStorage?
Anonymous Quiz
16%
(A) Це серверна база даних для сесій користувачів
67%
(B) Це сховище в браузері, яке зникає після закриття вкладки
5%
(C) Це окремий файл cookies, який має термін дії 1 день
11%
(D) Це спеціальне шифроване сховище для токенів
👍7
Bug or Defect?
Завдання дня для QA:

Ви відкриваєте вебапку і бачите, що в браузері зберігаються дані в localStorage. Питання: для чого взагалі використовується localStorage?
Добрий ранок, друзі ☀️
Ну що, давайте нормально розберемо наш пред останній пул по localStorage, бо бачу, що були різні думки і плутанина


І так що я маю вам сказать))

Чому не (A)
Cookies це інша історія. Вони автоматично відправляються у кожному HTTP-запиті до сервера, якщо збігається домен/шлях.
А ось вже localStorage взагалі не летить на сервер. Він живе лише у браузері.

Але LocalStorage сам по собі не летить на сервер. Но якщо налаштувати умовно,
JS-код у застосунку може витягнути дані і відправити через API


Чому не (B)
Це вже чисто серверна тема (типо Redis, Memcached та інші).
LocalStorage це повністю клієнтське сховище, воно у профілі користувача, а не десь на сервері.

Чому не (C)
LocalStorage нічого не шифрує. Якщо ви поклали туди пароль чи токен, він буде лежати у відкритому вигляді.
Тому з точки зору безпеки там не можна тримати чутливі дані. Бо XSS = повний доступ

Ну і чому правильна (D)
І саме так воно працює: ключ → значення (обидва зберігаються як
string);
немає терміну життя (дані живуть, доки їх не видалиш сам чи користувач не очистить браузер);
прив’язане до origin (домен + протокол + порт).

Тому як КУА
перевіряємо, чи там не лежать токени/паролі;
тестуємо logout (чи справді все чиститься);
дивимось, щоб старі дані не юзались повторно без валідації.


І так, локал сторедж зручний інструмент, але для КУА це ще й точка, де можна знайти цікаві баги або проблеми з безпекою)

Всіх обняв 🤗
Сильні 💛
👍1051🤗1