Bug or Defect?
2.31K subscribers
236 photos
92 videos
1 file
207 links
Download Telegram
Завдання дня для QA:

Ви тестуєте веб-додаток. При логіні користувач отримує JWT-токен, який зберігається у браузері. У логах бачите таке: Authorization: Bearer <jwt_token>: - Питання: що тут має насторожити QA і яка практика є правильною?
Anonymous Quiz
20%
(A) Зберігати токен у localStorage, бо він доступний з будь-якої вкладки.
25%
(B) Зберігати токен у sessionStorage, щоб він зникав після закриття вкладки.
48%
(C) Зберігати токен у HTTP-only cookie, щоб JS не мав до нього доступу (захист від XSS).
7%
(D) Зберігати токен у відкритому вигляді у базі даних користувача.
This media is not supported in your browser
VIEW IN TELEGRAM
Друзі привіт, Як ваш день?

От скажіть, у вас є такий флоу, коли ви хворієте? Бо я маю один “задвиб”: якщо нема температури - то я все одно працюю)
Думаю так: краще вже робити щось корисне, ніж просто валятись і прокручувати стрічку.

Сьогодні ще впав на відео і воно прям життєве. У вас буває так, що є таска, і мозок каже:

“Та зроби сам швидко і забудь”
або
“Краще віддай комусь, хай мудрують, а ти підеш далі”?

Я от іногда між цими двома режимами балансу)

Всім гарного вечора
А головне тихого.
Всіх обняв 🤗
😁14🤷‍♂2🤓21
Друзі, всім привіт 👋
Хочу побажати вам гарного і продуктивного дня)

І сьогодні хочу поділитись тулом, який мене недавно реально виручив - це Spacedesk (Server + Viewer).
Якщо вам коли-небудь треба було емуляція додаткових моніторів, то знаєте, яка це біль. А тут поставив сервер на Windows і через клієнт (Viewer) хоч з телефона, хоч з іншого ноутбука отримуєш додатковий екра)

Використати можна для різного:
коли треба швидко протестувати апку з кількома дисплеями; для QA кейсів (UI на різних екранах); для демо або навчання, коли немає фізичних моніторів; навіть як другий екран для ноутбука у відрядженні.

Короче ось вам посилання)
Сама інстуркція
https://manual.spacedesk.net/INTRODUCTIONANDSETUP.html

ну і сама апка
https://www.spacedesk.net/

Я користувався і прям кайфанув - інколи рятує там, де навіть не сподіваєшся.

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

Якщо цікаво - зроблю для вас маленький гайд по кроках, як підняти 2–3 монітори через Spacedesk. Напишіть у коментарях 😉

Всіх обняв 🤗
13👍9🤗4
Друзі привіт - доброго вечора)
Ну що, як ваш настрій? Сьогодні хочу з вами поділитись темою, яка прямо зараз міняє наше КУA-життя - і це AI в тестуванні)

Колись ми писали сотні автотестів руками, ловили баги в ручну і падали від регресій. А тепер штучний інтелект робить частину цієї рутини за нас:

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

Self-healing тести - якщо в ЮА помінявся локатор, AI сам його підхопить.
Codeless automation - коли навіть без коду можна швидко нагенерити сценарії.
Visual AI - помічає зміни в інтерфейсі, які людина може пропустити.
Аналітика - AI підкаже, де найбільші ризики й які тести запускати першими.

І так є у мене кілька крутих тулів, які варто знати:

Testim - self-healing для web. https://www.testim.io/

Mabl - regression + functional тестування в хмарі. https://www.mabl.com/

Applitools - AI для UI-регресії. https://applitools.com/

Sealights - AI-аналіз, який каже, які тести реально впливають на код. https://www.tricentis.com/products

Поінт який, АІ не забере роботу у КУА, а скоріше зробить її цікавішою). Менше рутини → більше фокусу на логіці й якісному покритті.

А ви вже пробували якісь AI-тулзи у своїй роботі? Пишіть в коментарях, дуже цікаво почитати)

Всіх обняв 🤗
❤‍🔥10👍7🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
Друзі, доброго ранку ☀️
Хочу побажати вам гарного та продуктивного дня!)

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

Всіх обняв 🤗
Будьте сильні й пам’ятайте: гарний день починається з усмішки 💛
🔥9😁8🤗32
Завдання дня для QA:

Уявіть, ви тестуєте API платежів. Через мережевий глюк фронт відправив один і той самий POST /payments двічі. - Як правильно уникнути подвійного списання?
Anonymous Quiz
1%
(A) Дозволити повторні POST.
22%
(B) Створити платіж і ігнорити повторні запити.
62%
(C) Використовувати idempotency key тобто повтор = та сама відповідь.
16%
(D) Замінити POST на PUT.
👍7
Друзі, доброго ранку ☀️
Бачили цей безкоштовний базовий курс по AI та безпеці?
Я от натрапив і вже хочу пройти, бо тема зараз прям комбо-актуалочка.

Ділюсь і з вами, може теж буде цікаво

https://academy.tcm-sec.com/p/ai-100-fundamentals

Потім розкажете, як вам
Всім гарного дня і настрою 💛
12🔥3👍2🤗2
Завднання дня для QA:

Ви тестуєте веб-додаток. Користувач натиснув “Вийти”, але після цього ще якийсь час може відправляти запити до API, бо токен залишився валідним. Що має насторожити QA і яка практика правильна?
Anonymous Quiz
7%
(A) Токен має жити до кінця свого TTL, навіть якщо юзер зробив logout
88%
(B) При logout бекенд має одразу анулювати токен
2%
(C) Це ок, бо ж фронт сам має видалити токен і не відправляти більше запитів.
3%
(D) Logout це просто UI-кнопка, бекенд не повинен нічого робити
👍7👀31
Друзі, доброго ранку ☀️
Всіх із початком нового тижня)
Кави сьогодні вже дві штуки бахнув - тож можна спокійно стартувати)

До речі, цікаво… Ви бачили останню презентацію Apple? Хто тут є фанат?
Як вам їх апдейти? І взагалі, як ви ставитесь до роботи на Apple-девайсах?
Я сьогодні взагалі побачив пост что новий айфон стоіть дорожче ніж макбок на М4)
Бо знаю, у когось це “must have”, а хтось каже - “ні, тільки Windows/Linux”.

Тут прям цікаво почути ваші думки:

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

Всім продуктивного тижня і гарного настрою
Всіх обняв 🤗
9🤗4🤓2🤯1
Завдання дня для QA:

Ви підключився по SSH до тестового сервера на Linux і бачите, що він “зажерає” ресурси. Треба швидко перевірити, які процеси найбільше вантажать CPU і RAM. Яку команду ви використаєте у першу чергу?
Anonymous Quiz
17%
(A) ls -la
36%
(B) top
33%
(C) cd /var/log
2👏1
Банда доброго вечора) як ви?
Сьогодні хочу поділитись з вами одним тулом, який мені зайшов
.
Це простий, але дуже корисний інструмент для КУА, коли треба швидко розібрати JWT-токен: побачити що в Header (який алгоритм, тип); перевірити Payload (claims: exp, iss, aud); або зловити базові проблеми (наприклад, alg: none або занадто довгий TTL).

Користуватися дуже просто)
Береш свій токен з DevTools чи Postman, вставляєш у форму на сайті. Бачиш структуру та “Security Findings”, і тул сам підкаже, якщо щось підозріле.

Вам маленький лайхак)

Робите собі закладку в браузері:
javascript:(()=>{window.open('https://jwtlens.netlify.app')})()

Тепер з будь-якої вкладки можете одним кліком відкрити декодер і вставити токен.

АЛЕЕЕЕЕЕЕЕЕЕ: ніколи не вставляйте production JWT з реальними секретами у публічні тулзи. Для навчання і тестів, супер, для реальних середовищ - тільки локально або через self-host.

Мені реально подобається такий підхід: коли тул маленький, без наворотів, але економить час.
Скажіть, а ви якими декодерами користуєтесь?

Там ось вам сам тул))
https://www.jwt.io/
https://jwtlens.netlify.app/

Всіх обняв 🤗
6👍5🔥2😐1
Друзі, доброго ранку ☀️
як ви? шось сьогодні з ранку 2 кава але не як очі не можу відкрити))

І хочу поділитись цікавою вакансією: https://careers.myheritage.com/jobs/7254092/

Якщо вам цікаво або знаєте когось - кидайте далі 😉

Всіх обняв 🤗
Гарного дня і продуктивного дня)
5🔥4👍1😱1
Bug or Defect?
Завдання дня для QA:

Ви підключився по SSH до тестового сервера на Linux і бачите, що він “зажерає” ресурси. Треба швидко перевірити, які процеси найбільше вантажать CPU і RAM. Яку команду ви використаєте у першу чергу?
Добрий привіт, друзі ☀️
Тільки дійшов до компа) Так що давайте розберемо наш останній пул про Linux-команди, бо бачу, відповіді розділились і не всі вибрали правильний варіант)

Чому не (A)
ls -la - показує список файлів у директорії.
Корисна команда, але вона жодним чином не дає інформації про те, які процеси вантажать CPU чи RAM.

Чому не (C)
cd /var/log - перехід у папку з логами.
Так, у логах можна шукати підказки про помилки або сервіси, що падають, але це не моментально покаже, хто саме зжирає ресурси прямо зараз.

Чому не (D)
ping 8.8.8.8 - перевірка доступності мережі до DNS Google.
Це класика для діагностики мережі, але тут проблема не в інтернеті, а саме у ресурсах CPU/RAM. Пінг тут не допоможе.

І чому саме (B)
top - найперша команда, яку запускаєш у такій ситуації.
Вона вам покаже в реальному часі які процеси найбільше вантажать CPU, скільки RAM їдять ну ы загальну завантаженість системи.
Можна одразу побачити винуватця - чи то база, чи якийсь Java-сервіс, чи взагалі runaway-процес.

Що я маю вам сказать)
Для нас важливо вміти швидко визначити, чи проблема у самій системі (ресурси вбиті процесом), чи вже копати в апку.
top → одразу бачиш картину, а далі вже можна копати глибше (htop, journalctl, логи).

А і так коли сервер “зажирає” ресурси, перше що робимо - дивимось top.
А вже після цього можна переходити до логів, моніторингів і детальної діагностики.

Всіх обняв 🤗
Сильні 💛
👍731🤨1🤗1
Всім доброго вечора друзі)
Як ваші справи? У нас в Одесі спека така, що ноутбук краще тримати в холодильнику, ніж на столі але завтра кажуть шо все - буде дубарь)

Давно не було історій так? Так ось поки хтось прокидається з кавою, а хтось із Jenkins-ом, у мене для вас свіжа історія, де головну роль грає наш улюблений вершарк на macOS.

Вечірні історії QA

Сиджу я зранку на мітингу, час рівно 8:00. І тут замість нормального голосу - топо уривки. Люди чують тільки ммм... ммм... і кажуть: Ти завис.

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

Ну я як завжди - не ребут і реджоін, а думаю: треба лізти в трафік. Запускаю моніторинг у вершарк і ставлю фільтри:
rtp && (udp.port==5004 || udp.port==5005)

І що я бачу?. Шматок логу прямо кричить:
1245  08:45:21.456  192.168.1.50 → 52.12.54.21  RTP  Seq=45012
1246 08:45:21.478 192.168.1.50 → 52.12.54.21 RTP Seq=45014 << пропав Seq=45013
1247 08:45:21.491 192.168.1.50 → 52.12.54.21 RTP Seq=45015

Тобто пакети реально йдуть, але буфер у вершарк вирішує: цей викинемо. І так постійно

І це прикол саме на енв коли це Мак) Короче бага є ішшью є) фікс фікситься)

Короче шо треба фільтрувати для аудіо в Wireshark:
rtp && (udp.port==5004 || udp.port==5005)



І для знаходження втрат:
rtp && (rtp.seq != previous_rtp.seq+1)



ну і аналіз втрат і джиттера це топ
Telephony → RTP → Streams → Analyze

Шо я маю вам сказать по цьому
Коли UI каже: Connected і macOS каже: Mic OK і вроді пінг ідеальний, А правда у тому, що буфер ріже пакети.
І тільки логи/трафік скажуть, чому реально голос зникає.

Який поіт від мене вам)
Коли у тебе “все ок, але не працює” - це не завжди інтернет. Інколи сам клієнт вирішує відправити половину голосу у смітник.

То опять Дякую, wereshark, за пригоди)
А ми як КУА повинні це ловити - фільтри, логи, patience.

Гарного вам вечора і хай ваші пакети доходять куди треба)
Пишіть у коментарях, хто ще ловив такі звукові фокуси


Буду буд вдячний за репост групи ну і з вас серденько мені)

https://www.wireshark.org/download.html

Але якщо хочете, я ще зроблю шпаргалку з RTP-полями (Seq, Timestamp, Jitter, Loss) у вигляді маленької таблиці для вас?

Всіх обняв 🤗🤗🤗
👍98🔥4❤‍🔥2🤗1
This media is not supported in your browser
VIEW IN TELEGRAM
Друзі, доброго ранку ☀️

Як ви сьогодні? Я от не міг цим відео не поділитися, це прям про мене)

Хто ще такий же кофіман?
Коли тільки встав і перше, що запускається - не ноут, а заварка кави

Всім гарного дня і продуктивного старту 💛
😁174🤣4👍2
Завдання дня для QA

Ситуація: Ви запускаєте автотести через Jenkins. У консолі бачите: ERROR: Permission denied (publickey). fatal: Could not read from remote repository. Як правильно діяти?)
Anonymous Quiz
90%
(A) Jenkins не має доступу до Git-репозиторію через SSH-ключі.
3%
(B) Це баг у самих тестах - треба переписати код.
5%
(C) Це мережевий таймаут, треба перезапустити джобу.
2%
(D) Це проблема з Java, треба оновити JDK на сервері.
👀6👍42
Друзі привіт 🌞 Як у вас справи?
Я реально не очікував, що стільки людей захочуть поглибитися в тему трафіку - мені стільки писали в лс, що я не встигав відповідати, Це дуже радує 💛

То давайте продовжимо? Я ж вам обіцяв міні-шпаргалку з RTP-полями.

І так RTP шпаргалка для для вас)

- Seq (Sequence Number) → показує номер пакета. Якщо є дірки → значить втрати.
- Timestamp → час, коли був відправлений аудіо/відео пакет. Використовується для відновлення порядку.
- SSRC (Synchronization Source ID) → унікальний ідентифікатор стріму. Допомагає відрізнити кілька одночасних джерел.
- Jitter → варіація затримок між пакетами. Якщо воно росте → користувач чує “робота-трансформера”.
- Packet Loss → реальний відсоток загублених пакетів. Якщо більше 1–2% - звук починає сипатися.

І самі фільтри в Wireshark

Аудіо по RTP:
rtp && (udp.port==5004 || udp.port==5005)


Втрати пакетів:
rtp && (rtp.seq != previous_rtp.seq+1)


Аналіз джиттера/втрат:
Telephony → RTP → Stream Analysis

Потім вже по сильніше

Аудіо (SIP/RTP):
sip || rtp

Сигналізація + сам аудіопотік.


Відео (WebRTC/RTSP):
rtsp  stun  turn || webrtc

Показує дірки у потоках.

DNS-запити:
dns

Тут можно швидко побачити, куди ходить клієнт.

HTTP-коди помилок:
http.response.code >= 400

Знаходимо 4xx/5xx.

TLS-handshake:
ssl.handshake || tls.handshake

Для дебагу HTTPS-з’єднань.

REST API (типовий бекенд):
http || tcp.port==443

Перевіряємо, чи взагалі йдуть запити.

CSTA (телеком API):
tcp.port == 7000

Або свій порт, якщо кастомний.

Авторизація (логіни):
http.request.uri contains "login" || http.request.uri contains "auth"

Зручно ловити момент логіну.

Конкретний хост:
ip.addr == 111.111.0.10

- ну тут вже свій підтавляєте)
Трафік тільки від одного юзера.

Конкретний порт:
tcp.port == 8080

Наприклад, бекенд dev-середовища.

Шукати рядок у тілі:
frame contains "error"
Прямо ловимо текст помилки.

Шо я маю вам сказать)
Збережіть собі ці фільтри у Display Filter Bookmarks в Wireshark. Тоді все під рукою і не треба згадувати синтаксис кожного разу.

Всім гарного дня,
Всіх обняв 🤗🤗🤗
🔥83👍2🤗2❤‍🔥11👏1
This media is not supported in your browser
VIEW IN TELEGRAM
Всім доброго ранку, друзі
Як ви? Сподіваюся, у вас все добре і ви та ваші близькі в безпеці 💛

Ну що, стартує новий тиждень - а це значить планінг, таски і вперед вриватися в роботу)

Хочу трохи підняти вам настрій - натрапив на відео і прям побачив там себе 😅
Іноді ловлю себе на думці: так, все, з цього тижня змінююсь! …бо після 30 гарантія вже закінчилась)

Всім гарного дня і максимально продуктивного тижня)
Всіх обняв 🤗
😁16🤗3👍2🤪2🤓1