Bug or Defect?
2.51K subscribers
237 photos
94 videos
1 file
213 links
Download Telegram
Bug or Defect?
Всім доброго вечора!😊🫣 Недавно седів же робив еnv по Jenkins + Docker , ну ви пом'ятаєте я писав і як завжди, все ж уже сто разів робив, і не виходить. то ось у мене ж десь була моя Docker шпаргалочка. Так шо ось ділюсь, шоб і вас не крутило в 3й ночі десь…
Привіт друзі! Як пройшов ваш день?

Назовемо це так QA & Docker, продовження пригод)))

Знаю, що ви не девопси, але в наш час QA має вміти трішки більше, ніж просто клікати - погодьтесь зі мной?
Docker, вже мастхев, а як же без Jenkins?

Тож тримаю слово, ось продовження про запуск тестів через Docker & Jenkins.
Все елементарно, але дуже корисно для щоденної роботи.

Спробуйте, вам точно зайде 😉
(І не забудьте написати, як пішло!)
315👍32🔥2💯1
Всім доброго раночку ☀️☀️☀️


Ранкова історіі QA даже у відпусці 😜

Вчора в вечері до мого учня прилетіло тестове завдання від однієї компанії не буду говорити якій (але може ви по тестовому здогадаєтесь)

яка суть завдання, сценарій доволі банальний, “перевірити логіку авторизації”.
ну і у мене правило не рішати ТЗ для учнів - хай самі, Бо якщо зроблю я, хто потім буде за них працювати?
Але напрям, де копати, підказати можу. Ну бо ніхто не народився з Fiddler'ом в руках.


Ну якщо повне завдання звучить так - «Є форма логіна, при вводі email-а не має йти запит до backend-а, але бекенд каже, щось приходить. Знайди, що і чому.» і це через Fiddler

Ну а шо може вміти Джун який тільки прийшов на практику 2 урок після теоретичних курсів і щось клацанья на TestIO?

Окай даю йому вже підсказку,

Ну береш через Fiddler йдеш в
Tools → Options → HTTPS → Decrypt HTTPS traffic

, шоб ловити все.
- Очищаєш всі сесії в тулі й оновлюю сторінку логіна.
- ключаєш
Filters → Show only if URL contains /api/ (або потрібний хост)

.
- ну і починаеш просто вводити email, але не тиснеш “Log in”

ну і приходить до мене через годин і що я маю вам сказать - бах і піймав він цей кейс
При втраті фокусу з поля email (типовий onBlur), на бекенд летить,
POST /api/validate-email
{
"email": "qa@notabot.com"
}


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

Ну типу “нічого критичного”, але,

юзер не натискав Login, а дані вже полетіли,

жодного візуального індикатора чи попередження,

ну і але яка валідація на email при авторизації ми же не регестуємо а авторизуємося.

Оформив він той дефект відправив на перегляд - чекає відповіді🫣

як від мене Техно-бонусь

Filters → Show only POST/PUT

Rules → Customize Columns → Request Body Size

Filters → Hide .js, .png, .css


Це все економить 70% зайвого скролу і допомагає зосередитись.


але я взагалі до чого говорю - Це дають як тестове завдання джуну.

Fiddler, HTTPS, трафік, blur-тригери… Ну, типу, цікаво, але откуда джун який прийшов на практичні курси з теоритичних і щось поклацав пару тестів на TEST IO, і так де вони це будуть юзати на реальній роботі першого місяця? скоріше буде документація місяця 3🧐

Як ви гадаєте, це норм практика?
Може я вже старий, і коли ми входили в QA були другі умови, але мені здається, треба спочатку вчити “бачити баги”, а не “ловити пасивні POST’и” на бекі руками через проксі.

А ви коли-небудь ловили зайві запити, які юзер не ініціював?
Як ловите такі скритні штуки?

Зроблю вам скоро крутий пост про Fiddler по фільтрам і для чого)

#ранковіісторіїQA #qa #fiddler

📲 Буду вдячний за репост Групи.
https://t.me/BugOrDefects
🔥24👍123👏1🥴1
Bug or Defect?
Завдання дня для QA:

Питання - Яка Git-команда дозволяє вирішити конфлікт під час мержу, зберігши обидві версії змін вручну?
Привіт - розберу коротенько цей пул для вас)

Чому не (A), і шо таке git stash?
Це взагалі не про конфлікти, він просто тимчасово ховає твої зміни, як “заначку”. Але до мержа та конфліктів ніякого відношення.

Чому не (B) і по відповідям він в топі, і чому всеж це не git merge --no-ff?
Ця команда змушує Git створювати окремий мерж-коміт навіть якщо можна обійтись без нього. Але сам конфлікт вона не вирішує. Там просто тип мержу, а не розрулення.

ну і (D) і про git rebase -i?
Це інтерактивний rebase, його фішка, переписати історію, сквошнути коміти, перейменувати.
Конфлікти там можуть з’являтись, але не вирішуються автоматом, і точно не залишити обидві версії.

Ну і чому це всеж (C) хоча він на останьому місці.
Це як коли ти з другом одночасно редагуєш один документ. Git каже, Хлопці, я не знаю, чию версію лишити, розбирайтесь.
І от git mergetool, це твій зручний візуальний інструмент, який показує

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

Якщо є комусь шо добавить, давайте в коментарі)

#ЗавданняДняQA
46👍4🥴2❤‍🔥11🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Всім доброго вечора друзі - як ваші справи? ну що ось і п'ятниця, 2 дня релаксу по переду) а може і не для всіх)

Всім гарного вечора і гарних вихідних, обняв)

А гіфка прям життя офісного вайбу) і не кажіть шо такого нема у вас?🤪🤪🤪☀️☀️🫣
😁15👍1🤩1
Доброго ранку 🌞🌞🌞

З ранку під кофе, попав на дуже круту статью від UKjournal, Це не чергова стаття, а стисле бачення напрямку, куди рухається наша сфера. Якщо ти хочеш залишатися актуальним, must-read.

Мені сподобалось) то тримайте)

https://ukjournal.co.uk/software-testing-in-2025/

Всім гарного дня друзі)
1🔥8👍53🗿21
This media is not supported in your browser
VIEW IN TELEGRAM
Сиджу собі, п’ю чай, і якось різко приходить усвідомлення,
завтра вже неділя, а потім ПОНЕДІЛОК і знову вся ця карусель задач, спрінтів і тасок 😅

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

А от на відео, це буквально я, коли йшов у відпустку
бадьорий, впевнений, ще не знаю, що все одно в чатах сидітиму 😄

А у вас як?
Вдалось відпочити, чи теж по тайному заходите в Jira на вихідних?

Всім гарного вечора - а головне тихого 🤗🤗🤗
😁82🥴2❤‍🔥1🤣1
Привіт, банда 💛

Сьогодні для мене особливий день, нас уже 1000 однодумців на цьому каналі! І це не просто цифра це означає, що тут зібралась ціла тисяча людей, яким цікаво розвиватись, ставити питання, обговорювати і тримати QA у тонусі.

Цей канал я створював не для контенту і не по трендах, а для своїх, тих, хто так само хоче вчитись, рости і розбиратись у технічних штуках. Я просто ділюсь тим, що знаю, як умію. Не завжди ідеально, але завжди від душі. І ваше + під постами, коментарі, реакції, це заряд для мене, чесно.

Дякую кожному і кожній, хто читає, хто коментує, хто просто іноді думає (о, прикольно!). Саме ви, причина, чому хочеться робити більше, глибше, крутіше.

Ну що а тепер новина №2.

Мене запросили зробити колабу з QA-курсом, і я погодився, бо це практичний формат, не вода. І сьогодні ми відкрили набір. Подивимось, що з цього вийде, я впевнений, буде круто. Головне донести технічність і користь. Лінк залишу тут https://kurs-qa-engineer-6t8jaw2.gamma.site/ гляньте, якщо цікаво. Якщо не плануєте вчитись, просто поставте лайк чи репост, мені буде дуже приємно

Всіх обіймаю. Далі буде ще більше технічного, корисного і трішки душевного ✌️

📲 Буду вдячний за репост Групи.
https://t.me/BugOrDefects
425👍16💩5🔥4🎉21🥰1🤮1
Bug or Defect?
Зроблю вам скоро крутий пост про Fiddler по фільтрам і для чого)
Доброго вечора)
Яж обіцяв зробити вам пост про Fiddler ну так ось він!

Це дуже крутий тул, який часто виручає в дебагінгу, перехопленні трафіку і навіть моках.
Для QA-шника, must-have. Особливо коли треба подивитись, що саме летить в API, а UI мовчить як партизан.

Якщо Charles Proxy це Mac-style тул для перехоплення, то Fiddler, це його батя в світі Windows (але є і для Mac, і для Linux через Everywhere версію).
Без нього дуже складно уявити нормальну роботу з API.

Напишу вам мінімальний гайд по Fiddler від мене і шо я юзаю коли треба.

Обовьязково налаштування SSL
Щоб бачити HTTPS.

Tools > Options > HTTPS
- Ставимо галку на (Decrypt HTTPS traffic)
- Actions > Trust Root Certificate
Готово - бачиш усе, навіть зашифроване.

Фільтри, які реально юзаю
method == "POST"

- тільки POST ну і там можно по кожному методу
responseCode >= 400 && responseCode < 500

- тільки клієнтські помилки
url.contains("/login")

- тільки логін
host.contains("api.yourapp.com")

- конкретний домен
requestBody.contains("token")

- всі запити з токеном
url.matches("/user/\\d+")

- всі юзер-запити з ID
responseBody.contains("\"role\":\"admin\"")

- відповіді де адмін

Все просто. Жодних UI-шних "фільтрувань", тільки логіка.

ну і куди же без Breakpoints
Fiddler дає змогу ставити точки зупинки.

Rules > Automatic Breakpoints > Before Requests / After Responses
Зупиняє запит, редагуй що хочеш (token, userID, method...)
Також можна вручну через FiddlerScript

if (oSession.uriContains("/auth")) {
oSession["x-breakrequest"] = "true";
}


Modify Response (AutoResponder або FiddlerScript)
AutoResponder це твій built-in мок сервер.
Можна замінити будь-яку відповідь без реального бекенда.

AutoResponder > Add Rule

URL: /api/v1/user


Відповідь, локальний файл .json або свій текст
Ну же можно фіддлер скрипт для зміни статусів,
if (oSession.uriContains("/status")) {
oSession.utilDecodeResponse();
oSession.utilReplaceInResponse('"status":"active"', '"status":"banned"');
}


ну і як же не забути про Throttling, яке уповільнення мережі
Через фіддлер скрипт можна імітувати повільний інтернет
oSession["request-trickle-delay"] = "500";
oSession["response-trickle-delay"] = "1000";



Ну і Зберегти сесію
File > Save > All Sessions
Перекинув деву або в Jira, і не пояснюєш (що я бачив).

Якщо коротко то без Fiddler ти просто клікаєш по кнопках.
З ним, контролюєш трафік. І тестуєш не напам’ять, а по факту.

Офіційний сайт
https://www.telerik.com/download/fiddler

📲 Буду вдячний за репост Групи.
https://t.me/BugOrDefects

#fiddler
🔥255👍31🤩1
This media is not supported in your browser
VIEW IN TELEGRAM
Всім доброго ранку!
Неділька стартувала саме час трохи попрацювати після (Типо) відпустки або зануритись у всі ті листи, що зависли в пошті ще з прошлого понеділка 😅

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

Гарного вам дня, друзі!
Кофу в руки і спокійно, без паніки, по задачках)
😁8🤣62🔥1
Завдання дня для QA

Сьогодні трохи глибше в мережу, уявіть що клієнт має знайти потрібний сервіс у мережі (наприклад, SIP або XMPP сервер). Який тип DNS-запису відповідає за зберігання адреси та порту сервісу?
Anonymous Quiz
14%
(A) A(запит)
17%
(B) MX(запит)
57%
(C) SRV(запит)
12%
(D) CHAME(запит)
🔥42👍21💊1
All commands.pdf
480.5 KB
Всім доброго вечора!! як ваші справи? 🫣🫣🫣

Ось вам 1000000+ команд лінукса і не тільки
Якби в мене таке було раніше, та ти шо, життя QA було б набагато легше 😄

Зібрав усе в один PDF, бо інакше довелось би робити 10+ постів.
Команди системні, мережеві, з правами, логами, архівами, коротше, все шо треба.


Юзайте, зберігайте, шерте в команду

Всім продуктивного продовження дня і мінімум Permission denied
❤‍🔥19👍632🔥2🥴1
This media is not supported in your browser
VIEW IN TELEGRAM
Всім доброго вечора 🌙
Ну шо, як у вас день пройшов?

Я от тільки зараз доповз до моменту, коли можу спокійно видихнути, перший день після відпустки 🫠
І класика жанру розгрібай пошту, відповідай на листи, репорти, кастомерів і а шо там з тією фічею як воно працює)?

Реально, під кінець дня вже пальці відвалюються від клави, ніби марафон біг по Jira і chat'у одночасно

У вас теж таке буває? Коли здається, що нічого критичного не сталося але по факту ти пів дня просто ловиш фаєрболами.

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

Всім гарного вечора, релаксу вам бажаю 🤗🤗🤗
😁143🤓2
This media is not supported in your browser
VIEW IN TELEGRAM
Друзі, всім привіт ☀️
Сподіваюсь, у вас усе добре і ви в безпеці 🙏

Сьогодні просто хочу побажати вам гарного, спокійного і продуктивного дня.
Почніть ранок з чашечки кофаа (а кому не можна, то з соку апельсинового або чая),
візьміть шматочок чорного шоколаду, вдихніть-видихніть і вперед, розривати беклог і життя 🔥

Вірю в кожного з вас
Ви круті. Ви сильні.

Всіх обняв. Бережіть себе ❤️
4🥰126❤‍🔥4
Всім привіт, як ви? кавуся допомогла?

Обідня історія QA


Коли без LocalStorage не куда для веба.

Сьогодні з ранку ну прям день почався з кави але не з настрою після неї, це ішшью ідеальна класика для QA

Якщо коротко то тестував веб-додаток для відео/аудіо дзвінків, де юзер може вибрати, або свій телефон, або софтфон (внутрішній SIP) куди буде йти стрім аудіо,
Юзер вибрав софтфон очікуєш, що дзвінок піде через нього?
Ага, щас.
Дзвінок стабільно йде на старий номер, якого вже немає в UI.

Ну і консоль кричить
Error: call target mismatch, unexpected endpointId received ну це класична помилка. но не можу далі понять в чому проблема, і на другому env у мене не відтворюється.

Ну пишу деву, показую відео, логи.
Ну і Відповідь стандартна
У мене не відтворюється. У тебе щось з RDP або кешем. Це не бага. Ну да… тільки я цей баг вже тричі відловив.

Ну я як завжди Окей, іду копати глибше.
DevTools → Application → Local Storage.

Що бачу?
Є ключ call.rooms
В ній масив з кількома об'єктами типу і там є явно "type": "softphone", але поручь є ше один запис тільки з другой сессієй ID де там вже "type": "phone", і ось ти мій дорогенький

Виявляється, UI бере просто перший endpoint із localStorage
і дзвонить куди бачить першим, ігноруючи активну сесію.

Це як if (storage.rooms[0].endpoint) і поїхали. і це не відтворюється бо коли є реально 1 запись там все гуд працює і не дочепишься)

Знаєте мені 1 раз сказала дуже умна люди круту річь - якщо баг в QA відтвориться хотя б 1 раз і не де більше, в кастомерів він точно вилізе, і це True

Хотів також вам в комплект порадити пару тулів які я теж юзаю

Local Storage - це зручний інструмент для керування локальним сховищем через панель розширень
https://chromewebstore.google.com/detail/local-storage/nnlekldijoehomfgfciodmolohhfkfpm

Polypane - це реально справжня знахідка для куа якщо ви не знали, тестуєш різні стани юзерів (log in / log out, різні ролі) не треба логінитись щоразу, бачиш одразу як зміна localStorage/cookie впливає на рендер, Можна одночасно тримати кілька версій UI, наприклад, staging vs prod
https://polypane.app/


ну про Recorder у Chrome DevTools я думаю ви всі чули, Це інструмент вбудований у Chrome DevTools, який дозволяє записувати, редагувати й відтворювати дії користувача на сторінці, а також експортувати їх у скрипти для автотестів.

ну і куди ж без швидкого копіпаст localStorage між браузерами / сесіями

// Експорт:
copy(JSON.stringify(localStorage))
// Імпорт:
Object.entries(JSON.parse(prompt('Встав JSON:'))).forEach(([k,v]) => localStorage.setItem(k, v))


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

ну і да, QA це коли ти кажешь деву це баг і це треба фіксити, і якщо він каже це фіча, треба як кажуть донести істину)

📲 Буду вдячний за репост Групи.
https://t.me/BugOrDefects

#обідні_історії_QA #localStorage
2🔥14👍531🥴1