Bug or Defect?
2.51K subscribers
237 photos
94 videos
1 file
213 links
Download Telegram
Всім доброго раночку 👋👋👋

Сьогодні без історій. Просто день.
Такий собі — як понеділок, але без понеділка.

Все працює, задачі клікаються, прод дихає рівно.
І наче можна просто спокійно… жити?

Але є привід для теплоти.
Вчора був дуже душевний день — один з моїх учнів отримав офер!
Ми до цього дійшли, і от — все склалось.

Це завжди трошки як баг, що став фічею.

Нехай у вас сьогодні буде тихо, стабільно й з хорошим вайбом.
А якщо щось бахне — ну, розберемось. Ми ж QA.
19👍8🔥3
Bug or Defect?
🧪 Завдання дня для QA

Чучуть теоріі)) Питання: Що з наступного є основною метою тестування продуктивності?
До теми з ранкового пула про перформанс!

Якщо цікаво копнути глибше — рекомендую блог BlazeMeter.
BlazeMeter Blog — це як технічний Medium для тестувальників:

— чеклісти з performance для API (реально зручно)

— кейси типу "як ми тестували мікросервіси на проді і не згоріли"

— інтеграції з JMeter, Jenkins і навіть Postman'ом

— і головне — читається просто, а не як документація до космічного шатлу

Ловіть посилання — https://www.blazemeter.com/blog

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

Напишіть в коментарі знали по такий?

Буду вдячний за репост групи
https://t.me/BugOrDefects
🔥18
Доброго ранку - я опять з нудними історіями)

🌞 Ранкова історія QA: REST не завжди “OK”

Робочий день почався… не з кави і кліків по задачках. А з повідомлення в групі
Це не баг. REST повертає 200 OK.

🙃 Тааак, от і весь мій ранок полетів.

Не хотів відкривати повідомлення до кави. Але... щось мене потягнуло. І все — каву відмінили, пішов пояснювати.

Почав із простого
“Те, що REST повертає 200 OK — не значить, що для клієнта все добре.”

Бо якщо в тілі респонсу пусто, або там не ті дані, які потрібні клієнту, то яке ж це “OK”? Для API команда відпрацювала, а для UI — нічого не ясно.

Клієнт очікує масив з item’ами, який має значення, що показувати, які кнопки вмикати, чи взагалі є дані.
А в нас — просто статус без контенту. Ну, дякую.

40 хвилин пояснень, прикладів, зворотних кейсів, і — буде фікс 🙌
REST навчиться відповідати не просто “success”, а ще й інформативно.
Бо ми ж не просто виконуємо запит, ми будуємо діалог між фронтом і беком.

А у вас бувають такі моменти, коли треба пояснювати, що “success” — ще не значить “правильно”?

Гарного всім дня і тримаємось — до вихідних уже ближче 😄

Буду вдячний за репост групи
https://t.me/BugOrDefects
👍20😁73
😎 Завдання дня для QA.
Тестуєш інтеграцію між сервісами. Один надсилає ось такий JSON.
{ "bonusPoints": null, "active": true } На іншому кінці логіка падає або працює некоректно. Що найімовірніше викликає проблему?
Anonymous Quiz
74%
(A) В полі bonusPoints очікується число, а приходить null — тип не збігається
3%
(B) Поле bonusPoints не мало б бути у відповіді взагалі
8%
(C) Сервіс хоче отримати "null" як текст, а не реальний null
15%
(D) Порядок полів у JSON не відповідає схемі — десеріалізація не працює
👍8🔥2
Шпаргалка, що покрилась пилом 😆

Витягуємо з архіву те, що мали б давно памʼятати, але... реальність така, що навіть сеньори інколи лізуть в гугл 👀

Хтось помітив?
1🔥254🌚3
Всім доброго ранку!! 🤗

Ранкові історіі QA - Впевнений шо у вас таке теж було і не раз)
Дайте хоч щось… — сказав дев і зробив твій день присвішений дослідження і збору 1000000 кб логів 🤪🤪🤪


Коли дев каже
“У нас нічого не видно. Дайте хоч щось…”

А ти бачиш, як на клієнті трансляція йде. Відео програється, спікер говорить, все типу ок. Але dev на стороні серверу каже:
У нас порожньо. Нічого не приходить.

І ти такий
Ну добре…
Тут починається твоя улюблена частина — трасування, sniffing і трохи QA-магії
Бо коли в UI щось відображається, а бекенд ніби нічого не отримує — ти вже знаєш, що це класика.

Клієнт є, сервер є, а трафік — ніби у відпустці.

Сценарій дуже простий як две
рі
У додатку йде трансляція. Але сервер не бачить ніякого трафіку (відеопотік через UDP).
А дев каже
У нас все чисто. Напевно, на клієнті щось…


І ти такій окей давай ставимо флажки і ловимо пакети

Слухаємо клієнта
Вмикаємо Wireshark (або dumpcap) на клієнтському боці.

ip.addr == <server_ip> && udp.port == 5000

або просто
ip.addr == <server_ip>



Запускаємо запис, відтворюємо трансляцію, ловимо .pcap.
У дампі бачимо:
Пакети йдуть / payload є / порти вказані правильно

Клієнт — невинний.

ну окай тоді слухаємо сервер
На сервері — tcpdump, бо він не підведе

sudo tcpdump -i any host <client_ip> and udp port 5000 -w /tmp/server_capture.pcap


І… порожньо. Нічого. Нуль.
кей, тоді пробуємо ще фокус
sudo tcpdump -i any port 5000


Все ще — тиша. Нема навіть SYN, нема навіть запитів.
Ага! Тут вже цікаво.
так тепер аналізую мережу

Якщо на клієнті видно, а на сервері — нічого, це може бути:

фаєрвол (локальний або міжмережевий)

UDP-зв’язок блокується між сегментами

Неправильна маршрутизація (NAT, VPN, проксі)

Сервер слухає не той інтерфейс або порт

Аналіз в Wireshark
Фільтруємо пакети за:
ip.addr == <server_ip>

udp

rtp

frame contains "SETUP"

(якщо це RTSP)
І вже можна точно сказати:
“Ось клієнт відправляє, ось час, ось порт. Але сервер не бачить взагалі.”

Відправляєш dev’у: .pcap + скрін + timestamp
І підпис:

Ось вам всі логи і почті рішення - займайтесь)
але можно спробувати ще и фікс зробити))) але яж просто QA

Ключові фішки аналізу

tcpdump на сервері — must have

Wireshark — ідеально для фільтрації по потоку (stream)

Фільтри: ip.addr, udp, tcp.stream eq, frame contains

Завжди дивись: SYN, ACK, payload, порт, інтерфейс

Moral of the story,
Коли dev каже “Дайте хоч щось” —
Дай йому дамп і хай не бубнить.

бувало у вас таке що деви хочуть вид вас все на блюдечці?

Буду вдячний за репост группи, + приєднуйтесь до нас)
https://t.me/BugOrDefects
1👍147👀6🥴3🔥2
Завдання для QA: Git-команда дня

Ти працюєш з гілкою feature/test-123, щось наламав і хочеш скасувати останні зміни у файлі, але не комміт, а саме локальні зміни в робочій директорії. Яку команду використаєш? ДУЖЕ УВАЖНО!!!
Anonymous Quiz
19%
(A) git reset --hard HEAD
15%
(B) git checkout <назва_файлу>
19%
(C) git clean -fd
47%
(D) git restore <назва_файлу>
12
Bug or Defect?
Завдання для QA: Git-команда дня

Ти працюєш з гілкою feature/test-123, щось наламав і хочеш скасувати останні зміни у файлі, але не комміт, а саме локальні зміни в робочій директорії. Яку команду використаєш? ДУЖЕ УВАЖНО!!!
Всім доброго вечора, ну що ось і вихідні наступають)
Всім гарних і сонячних вихідних 🤗🤗🤗

Залишу це вам, Шпаргалка по Git, яку хочеться зберегти

Колись я теж плутався між git pull, git fetch, git reset --hard, і думав, що rebase — це щось, що краще не чіпати руками без амулету та зілля захисту 😅

Тому ось вам міні-шпаргалка — просто, коротко і наочно

Буду вдячний за поширення групи)
🔥298