Bug or Defect?
2.51K subscribers
237 photos
94 videos
1 file
213 links
Download Telegram
Друзі доброго раночку, як у вас початок дня?
Я вже попив каву, о 8 ранку провів одне заняття і тільки зараз сів працювати )

Хочу поділитись думкою, бо стикаюсь із цим дуже часто.
Є люди, які знають теорію просто космос - інколи те, чого і я не знаю, хоча веду курси. Але фішка ж не в тому, щоб знати теорію.
Фішка - саме в практиці. або як ви применяєте цю теорію)

Що я маю вам сказать)
Кросбраузерне або мобільне тестування - це дуже тонка, делікатна штука.
Якщо вам дають таке завдання або питають на співбесіді - не треба говорити:
“візьму всі браузери” або “протестую на всіх телефонах”.

Це не про кількість.
Це про розумне покриття.

Потрібно вміти ділити й обирати:
Умовно взяти браузери на різних движках (Blink / WebKit / Gecko),
Або зрозуміти, на чому написана мобільна апка (Java/Kotlin, Swift, React Native),
Також врахувати, що у людей досі є 7-й iPhone, де частина пам’яті ще писалась під Objective-C, і тільки після цього визначати набір пристроїв.

Бо тестувати “все підряд” - це не про КУА так
Тестувати логічно і цілеспрямовано - ось де суть.

Дам вам один корисний ресурс:
https://gs.statcounter.com/

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

Всім гарного дня і настрою.
Обняв. Сильні 💛
1821🤗1
Доброго вечора друзі - як ви? Бачили? як просто 1 сервіс може покласти мільон ресурсів в 1 міг

https://www.theguardian.com/technology/2025/nov/18/cloudflare-outage-causes-error-messages-across-the-internet

Ви уявляєте скільки грошей вони втратили за цей failure? я думаю якщо це оплошность того чи іншого коміта в реліз то це жесть))

якщо ще не бачили по почитайте - цікаво шо сталось, чекаю вже на відповідь якшо вона буде.

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

Обняв🤗🤗🤗
🤯5🤔321
Друзі привіт, як ви? я сподіваюсь ви та ваші близки в безпеці

Тяжкий ранок - але кава а може і не одна повина побороти сон і треба працювати

А хто ще не найшов всій офер є гарна нагода - є непогана вакансія зараз - https://obrio-76be502da02f.breezy.hr/6c05 - подевіться можешь комусь саме те)

Всім гарного дня і настрою, всіх обняв🤗🤗🤗

Сильні💛💛💛💛💛
👍5🤗32
Завдання дня для QA:

Після деплою частина користувачів каже, що сайт інколи вантажиться, інколи - ні. Через IP все працює стабільно, а через домен - рандом. Що найімовірніше сталося?
Anonymous Quiz
18%
(A) Проблеми з SSL
24%
(B) Бекенд дропається по таймауту
56%
(C) DNS віддає різні A-записи
2%
(D) Користувачі сидять за NAT
62👍2👀2
Доброго дня, друзі! Як ви?

Щось я маю вам сказать)
Чим більше я проводжу курси, тим чіткіше бачу одну цікаву річ:
для більшості людей API = це або REST, або GraphQL.

Але, насправді, API-протоколів реально цілий всесвіт.

І якщо ви хочете бути сильним КУА - у цьому варто розібратися.
Бо реальні системи говорять між собою зовсім різними способами:
хтось шле івенти, хтось XML у SOAP, хтось працює через WebSockets, а хтось по MQTT як IoT-пилосос.
…і це ще не все)

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

Якщо реально хочете - можу спробувати зробити серію простих постів, де розберемо кожен протокол з прикладами)

Пишіть у коментах, який протокол більше всьго хотілось би розібрати*?

Всім гарного дня і настрою
Обняв 🤗🤗🤗
22👍12🤗2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
А це вам підняти настрій)

Коли за тиждень регресії нічого не найшли і за пару годин до злиття в продакшен КУА почали процювати))

ну класика життя що не?

ОБЕРЕЖНО МАТ)
😁14😭3💯21🔥1🤣1
Bug or Defect?
Доброго дня, друзі! Як ви? Щось я маю вам сказать) Чим більше я проводжу курси, тим чіткіше бачу одну цікаву річ: для більшості людей API = це або REST, або GraphQL. Але, насправді, API-протоколів реально цілий всесвіт. І якщо ви хочете бути сильним КУА…
Друзі привіт - як ваш день? сподіваюсь ви були в безпеці та з вами і вашими близкими все добре

2 години сну за ніч - 3 чашки кавусі і з 9 працювати) ось відійшов на обід і думаю яж обіцяв - треба написати

і як раз народилась нова рубрика - ну шо я маю вам сказать

Протоколи для QA - WebSocket

Чесно, WebSocket - це той випадок, коли REST уже не тягне, а реального часу хочеться прямо тут і зараз.

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

REST - це як листи надсилати.
WebSocket - це як дзвінок, де ви обидва говорите одночасно.

Як відбувається підключення - тут все просто
Клієнт робить handshake через HTTP: щось типо такого ви бачити
GET /ws HTTP/1.1
Upgrade: websocket
Connection: Upgrade


А Сервер каже:
HTTP/1.1 101 Switching Protocols
Upgrade: websocket


І все з цього моменту HTTP більше нема, є чистий WebSocket-канал.
Далі вже API летить у вигляді фреймів: текстові/ бінарні / ping/pong / close
І все це без перестворення з’єднання.

Тобто
Як працює?
Клієнт відкриває WebSocket-з’єднання (handshake через HTTP).

Сервер каже: «Ок, підключаю!».

Після цього вони спілкуються без переривання:

клієнт може надсилати повідомлення

сервер може надсилати події (events) у будь-який момент

З’єднання закривається лише коли одна зі сторін каже close.

За часту це використовують

Чати, Нотифікації, Біржі / live-update цін, Трекинг кур’єрів на мапі, Відеоконференції та дзвінки, Онлайн-ігри

Спитаєте як потестити WebSocket через Postman?
Так-так, Postman вміє WebSocket-и

- Відкриваємо Postman → New → WebSocket
- Пишемо адресу:
-
ws://localhost:8080/ws

- Підключаємося
- Відправляємо тестове повідомлення:
{ "action": "ping" }

- Дивимося, що сервер відповідає
- Для live-систем тестую івенти так:
- робите дію в UI
- дивиьесь, які саме WebSocket-пакети полетіли
- ну звіряю payload з документацією
- перевіряєте порядок подій (це часта бага!) и все) впринципі є офіційна дока як це налаштувати - там думаю ви зрозумієте https://learning.postman.com/docs/sending-requests/websocket/websocket-overview/

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

а і забув ключове Чому WebSocket сам не закривається без ping/pong?
У WebSocket є одна важлива особливість, про яку багато хто не знає:

WebSocket-з’єднання саме по собі “вічне”.
Якщо ви його не пінгуєте - сервер думає, що все ок, навіть якщо клієнт давно помер.
І тут заходить ping/pong

Ping - сервер періодично надсилає «ти живий?».
Pong - клієнт автоматично відповідає «я тут».
Якщо Pong не прийшов у певний час → сервер розуміє, що клієнта нема, і закриває з’єднання.

якщо прям дуже коротко то
Ping/pong - це heartbeat WebSocket-а.
Без нього у вас будуть “зомбі-з’єднання” і нестабільна робота в real-time сервісах.

Вроді нічого не пропустив)

Всім гарного дня і настрою
Обняв 🤗🤗🤗
28👍621🤗1
Друзі, доброго вечора)

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

І я реально задумався: а може й правда, вже не потрібно знати 5 мов програмування, щоб нормально працювати?
Бо якщо чесно - я теж почав балуватися AI-тулзами для деву. Взяв собі Cursor, пробую щось робити, граюсь з промтами… І знаєте, воно реально може закривати 50% рутини.
Але про сам проєкт я вам розкажу пізніше, хай трохи підросте)

Що я хочу сказати
І хочете ви того чи ні - AI вже сидить з нами за робочим столом.

Питання інше: може нам дійсно треба бути такими собі general-engineer, але з AI під рукою?
Типу трохи Linux, трохи бекенду, трохи фронта, трохи QA - і AI допомагає з тим, що ти сам не вмієш?
Бо звучить як новий стандарт 2026 року.

А ви як думаєте?
Цікаво почути ваші думки.

Всім гарного та спокійного вечора 🙌
Сильні 💛
9👀6👎3🤗2🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Друзі доброго раночку, як ви?)

Слухайте хочу вам підняти настрій і подивитися на себе коли шось нове або складне у вас вийшло) ну я прям бачу себе тут)

Всім гарно дня і настрою
Сильні 💛💛💛
😁16🤣411🔥1
Bug or Defect?
Друзі привіт - як ваш день? сподіваюсь ви були в безпеці та з вами і вашими близкими все добре 2 години сну за ніч - 3 чашки кавусі і з 9 працювати) ось відійшов на обід і думаю яж обіцяв - треба написати і як раз народилась нова рубрика - ну шо я маю вам…
Протоколи для QA - GraphQL

Друзі привіт!
Ну що, рухаємося далі по API-протоколах)

Протоколи для QA - GraphQL

І сьогодні у нас GraphQL.
Чесно - це той випадок, коли REST інколи виглядає як велосипед, а GraphQL - як Tesla.

Що я маю вам сказать
GraphQL вирішує одну дуже болючу проблему REST:
або забагато даних, або замало.

У REST ви отримуєте весь payload, хочете ви того чи ні:

GET /users/123 → п

риходить 10 полів,
хоча умовно треба два.

А в GraphQL ви самі кажете бекенду що саме тобі потрібно:
query {
user(id: "123") {
name
email
}
}


І сервер повертає рівно це.
Не менше, не більше.

Тому яка головна суть:
GraphQL = не ресурс, а запит до схеми.

Працює це дуже просто)
У GraphQL є три ключові штуки:

Query - читаємо дані
Mutation - змінюємо дані
Subscription - real-time оновлення (тут вже WebSocket заходить)

Вроді просто але покажу вам приклад краше)

Запит:
query {
product(id: 42) {
price
currency
}
}


Відповідь:
{
"data": {
"product": {
"price": 200,
"currency": "USD"
}
}
}


Чим GraphQL відрізняється від REST?
- REST: “Ось готова відповідь, бери все.”
- GraphQL: “Ти сам кажеш, що хочеш.”

Для UI це рай:
1 запит → 1 відповідь → мінімум оверхедів.

Навішо це нам знати як КУА
GraphQL всеж тестується інакше, ніж REST.

Ключові кейси:
валідація схеми (types, required)
null-handling
error extensions
over-fetching / under-fetching
складні поля з залежностями
pagination
versioning без versioning

І дуже важливе:
GraphQL помилки НЕ такі, як REST.

Вони можуть бути:
data + errors одночасно
REST такого не робить.

За часту воно використовується ?

Shopif/GitHub API/Pinterest/Netflix/Slack

Будь-де, де UI потребує багато даних і мало запитів.

Якщо прям дуже коротко
GraphQL = коли дані тобі потрібні точково і швидко.
REST = коли структура проста і зрозуміла.

Обняв 🤗
12👍6🤗21
Друзі доброго вечора!!!

Як ваш день?

Слухайте є ідея такого формата порівнювання і різниці між ти і тим умовно - як вам така ідея? буде цікаво? якщо так то з вам багато багато серденняк )))

Всім ше раз гарного вечора і головне спокійного 🤗🤗🤗
41🔥5❤‍🔥3👎1
Bug or Defect?
Доброго дня, друзі! Як ви? Щось я маю вам сказать) Чим більше я проводжу курси, тим чіткіше бачу одну цікаву річ: для більшості людей API = це або REST, або GraphQL. Але, насправді, API-протоколів реально цілий всесвіт. І якщо ви хочете бути сильним КУА…
Доброго дня друзі - як ви? як ваш день?
Ну шо ше пару годин і можно відпочівати)

Протоколи для QA - gRPC

Чесно? gRPC - це той випадок, коли REST вже не тягне по швидкості і навантаженню.
Це не просто ще один API-формат - це зовсім інший підхід.

Що я маю вам сказать сьогодні
gRPC протокол від Google поверх HTTP/2, який працює на Protobuf (бінарний формат), а не JSON.
Тому він швидший, легший і точніший.

Чому бекенди люблять gRPC?
Бо між мікросервісами треба ганяти величезну кількість даних без зайвого оверхеду.
Тому там де REST “задумується”, gRPC просто пролітає.

Виглядає API принцепі більше складніше ніж ви привикли бачити РЕСТ?

Тут не endpoint-и, а методи сервісу:
service UserService {
rpc GetUser (UserRequest) returns (UserResponse);
}



Все строго типізовано.
Або підходить - або не проходить. Ніяких “а тут стрінга чи інт?”

Важливий момент для КУА для розуміня
- У gRPC є 4 режими викликів:
- звичайний request/response
- сервер стрімить багато відповідей
- клієнт стрімить запити
- двосторонній стрім (майже як WebSocket)

Для чого його реально юзають:
мікросервіси / high-load / фінтех/ігри/стрімінг / real-time системи, де час відповіді важливий

Тестувати теж в принцепі не складно
BloomRPC /grpcurl / Kreya / Postman (так, тепер теж вміє)

Приклад:
grpcurl -plaintext localhost:50051 list


Що ви маєте перевіряти?
- правильність схем (Proto)
- помилки/коди статусів (вони тут свої)
- performance (gRPC створений для цього)
- роботу стрімів (часто саме там і падає) то що

Ну вроді все - є що добавити то кажіть)

Всім гарно закінчення дня)
Обняв🤗
👍1110🔥4
Доброго ранку, друзі!
Як ви? Як пройшли вихідні?

А у мене вихідні почався з міні-катастрофи(
Мій старий сервер, на якому ми роками ганяли SQL / NoSQL / Linux-лаби / демки - просто злетів.
Не впав, не завис - контора просто перестала його сапортити.

Всі середовища, налаштування, тестові бази, постановки, пайплайни… в трубу.
Болить тільки за учнів, які зараз зі мною в навчанні - і чекають поки я це все відновлю (

Але нічого - піднімемо нове.
І навіть краще. Уже думаю чи не пора зробити собі свій олдскульний домашній дата-центр на 3–4 ТБ, щоб більше ніхто не ламав мою КУА-лабораторію 😄

А тепер шо я хочу вам сказать)
Останнім часом у мене рекомендації просто кишать відео про мікрочіпи, кремнієві фабрики і виробництво. Мабуть я занадто захопився цією темою)

Але ви уявіть, який там рівень тестування.
Ці системи тестують не тільки виробництво, а й:

- пропускну здатність,
- деградацію матеріалів,
- напругу,
- температурні коливання,
- дефекти на рівні нанометрів.
І це ж теж КУА, просто на іншому рівні.
От реально круто же дорости до такого рівня інженерії.

Натрапив на статтю про те, як тестують напівпровідники. Дуже стисло, але технічно і по суті:
https://mptestequipment.com/blog/how-semiconductor-testing-works/

Подумав - може і вам буде цікаво. Бо QA - це не тільки UI/REST/кнопочки. Це цілий світ технологій.

Всім гарного дня і настрою. Обняв!
Сильні 💙

P.S. якщо маєте поради по стабільному сервісу для піднятя Linux-середовища на пару терабайт - буду дуже вдячний. Я вже дивлюсь у бік Hetzner але може є щось прям проверене у робочих умовах?
👍6🤔5🤝1
Завдання дня для QA:

На сервері почалися лаги, API відповідає дуже повільно. Треба швидко перевірити, який процес найбільше вантажить систему. Яку команду запустите першою?
Anonymous Quiz
33%
(A) systemctl status
23%
(B) htop
20%
(D) cd /var/log
👀65👍1