Bug or Defect?
2.51K subscribers
237 photos
94 videos
1 file
213 links
Download Telegram
Bug or Defect?
Photo
Всім доброго вечора колеги, як ваш настрій? 💛

Продовжимо сьогодні трохи про MongoDB. Але не з позиції ось команда insert і йдіть пробувати.

Багато хто чув, що Mongo, це «NoSQL-база», але в роботі QA часто це виглядає як "а як мені перевірити, що після API реально створився юзер?".


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

Для QA це плюс, бо дані видно так само, як вони летять через API.

Якщо цікаво з вас серденько!

Всім гарного вечора а головне спокійного)

Всіх обняв
38🤓5👍4
Всім доброго раночку друзі 🌞

Сиджу з кавою, читаю новини і знову ловлю себе на думці, технології летять так швидко вперед, що голова обертом.
Ще якихось 15 років тому я кайфував від телефону лягушки умовно Motorola і вважав, що G2-інтернет це просто космос.
А сьогодні вже говоримо про G6, AI-агенти в Windows і купу штук, які навіть у фантастиці здавались перебором.

Я натрапив на одну статтю, вона коротка, але дуже показова.
Почитаєте, впевнено зависнете на думці: А ми взагалі встигаємо за цим темпом?.

https://peerlist.io/zakkhassan97/articles/whats-going-on-in-tech-right-now-august-2025

Яка ваша думка?
Може, це нормально, жити в епоху, де оновлення виходять частіше, ніж ти встигаєш докупити каву? 😅

Всім гарного дня, друзі 💛
Обняв 🤗
👍5👀32🔥2
Завдання дня для QA:

Ви ганяєте апку під Linux і бачиш, що при довгій роботі починає "під’їдати" пам’ять. Твій колега каже: Та то просто кеш, не парься. Але ти береш серйозну артилерію Valgrind: - Що з цього дійсно робить Valgrind?
Anonymous Quiz
11%
(А) Показує FPS та продуктивність CPU в реальному часі.
73%
(B) Перевіряє доступ до пам’яті, знаходить витоки та неправильне використання malloc/free.
14%
(C) Це тул для логування всіх системних викликів (як strace).
2%
(D) Автоматично виправляє помилки у C-коді й патчить білд.
👀6🤓32👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Друзі, привіт!
Як ви? Сподіваюсь, у всіх усе добре 💛

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

А щоб трошки підняти настрій, ловіть це відео
І тільки не кажіть, що не впізнали себе, коли горять строки релізу)

Всіх обняв 🤗
😁196🤗2😭1
Bug or Defect?
Доброго вечора друзі) Чули про таку штуку? Що я маю вам сказать) Є прикольний один цікавий тул - Ollama https://ollama.com/ Це такий движок для локального запуску LLM-моделей (це типу Llama3, Gemma, Mistral). Тобто можна юзати ШІ без хмар і без інтернету.…
Всім привіт друзі ще раз, як ваш день? що нового?

Як кажуть по запиту продовжу тему про Ollama та інтеграція в постан)

Запустити Ollama як локальний API це прям просто)
Спочатку треба підняти Ollama в режимі сервісу (він тоді слухає HTTP-запити на localhost:11434).
ollama serve


Потім у вас є REST API, куди можна стукати з Postman чи будь-якого іншого інструмента.

Як базові API-запити до Ollama

Ну спочатку класика перевіряємо, що все працює. У Postman робимо POST:
POST http://localhost:11434/api/generate
Content-Type: application/json



Ну і само Body

{
"model": "llama3.1",
"prompt": "Напиши тест-кейси для API логіну користувача у форматі JSON"
}



У відповідь буде щось типу:

{
"response": "{ \"tests\": [ {\"name\": \"Login success\", \"expectedStatus\": 200}, {\"name\": \"Login fail wrong pass\", \"expectedStatus\": 401} ] }"
}


Ну і вже по цікавіше це інтеграція в Postman через Pre-request Script

Тут магія. У колекції/запиті в Postman заходимо в Pre-request Script і вставляємо:

pm.sendRequest({
url: 'http://localhost:11434/api/generate',
method: 'POST',
header: {
'Content-Type': 'application/json'
},
body: {
mode: 'raw',
raw: JSON.stringify({
"model": "llama3.1",
"prompt": "Згенеруй JSON з тестами для ендпоінта /login: статуси, позитивний і негативний сценарії"
})
}
}, function (err, res) {
if (!err) {
let aiResponse = res.json().response;
console.log("AI Response:", aiResponse);
pm.variables.set("generatedTests", aiResponse);
}
});



Що тут буде відбуватися, перед кожним викликом твого API Postman стукає в Ollama, и сам Ollama генерує тести, а сам результат зберігається у змінну generatedTests.

Як використання в Test Script теж буде.

Тепер у Tests можна брати generatedTests і виконувати:

let tests = JSON.parse(pm.variables.get("generatedTests"));

tests.tests.forEach(t => {
pm.test(t.name, function () {
pm.response.to.have.status(t.expectedStatus);
});
});



Тобто Ollama сам придумує асерти, а ти їх юзаєш.

Про автоматизація в CI/CD (Newman) ви спитаєте і вона є)

Колекцію можна запускати через Newman (CLI-ранер Postman):
newman run my_collection.json


А далі додаємо в Jenkins/GitHub Actions, і кожен пуш у репо буде запускати автогенерацію + автотести від Ollama.

Як лайхак від мене, То можна дати Ollama прямий доступ до Swagger/OpenAPI і написати prompt: типо щось "Проаналізуй цей swagger.json і створи повний набір API-тестів у форматі JSON", І він реально згенерить колекцію.

Та в результаті ви отрумуєте,
- Ollama генерує ідеї тестів,
- Postman виконує,
- Newman ганяє в CI/CD,
- QA економить купу часу.

Всім гарного дня
Дуже скоро покажу вам новий проект на Ютуб - який повинен вам зайти я думаю, ще чучуть трошки треба все доробити як надо)

Сильні💙
🔥18🤗21👍1
Всім доброго раночку, як настрій?

Я сьогодні з 6 вже пью ось 3 чашечку кофааа, і починаю розгребати беклог)

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

https://cleverstaff.net/i/vacancy-y9rof3

Всім гарного дня друзі) О 5 можно вже починати від'єджати від стола))
👍9🔥4🤝2
Друзі, всім привіт ☀️☀️

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

Сьогодні в мене саме такий день.
Один з моїх учнів, який ще під час курсу отримав офер, зробив мені сюрприз. Я якось між іншим на уроці ляпнув, що почав бігати і треба годинник, щоб відслідковувати кроки й пульс. І от сьогодні мені прилітає доставка, Apple Watch з підписом:
"Дякую тобі, бо завдяки твоїм урокам і підтримці я взяв себе в руки, зайнявся улюбленою справою і отримав роботу мрії."

Чесно, я в шоці. Це навіть не про сам подарунок, а про те, що мої старання реально комусь допомогли змінити життя. І ось ця думка для мене найбільша цінність

Для мене це доказ, що знання, якими я ділюсь, не дарма. І тепер будь-яке твоє питання в нашій сфері, завжди welcome, у будь-який час.

Ось так, друзі. Маленькі моменти іноді дають більше сил, ніж будь-які бонуси чи зарплати.

Всіх обняв 🤗
Сильні 💛
🔥28❤‍🔥92
Що я маю вам сказать))

Копався в себе і знайшов таку міні-шпаргалку по Python)
Може комусь зайде, особливо тим, хто любить мати під рукою базові команди, щоб не шукати кожного разу в Google.

Всім ще раз гарного вечора і початок вихідних) Відпочівайте 🤗🤗🤗
👍15🤓21
Привіт друзі, як ваші вихідні? 🙂


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

Ранкові історії 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