Bug or Defect?
Сьогодні стикнувся з самого ранку з проблемою -рішеня буле не складне но в ПН
🎯 Завдання дня для QA У вас є автотест на Python + Pytest, який локально проходить, але падає в CI. Один і той самий тест — різна поведінка. Що з більшою ймовірністю причина?
🎯 Завдання дня для QA У вас є автотест на Python + Pytest, який локально проходить, але падає в CI. Один і той самий тест — різна поведінка. Що з більшою ймовірністю причина?
Продовження до пулу
Нотатка по Python, яку ще раніше собі зберіг "на чорний день"
Тут більше для новачків, але й тим, хто вже пару клавіатур стесав — теж може знадобитись 😅
Бо іноді забути .strip() — серйозніше, ніж пушнути не туди 😏
Зберігай, шоб не шукати в StackOverflow в 2 ночі
Нотатка по Python, яку ще раніше собі зберіг "на чорний день"
Тут більше для новачків, але й тим, хто вже пару клавіатур стесав — теж може знадобитись 😅
Бо іноді забути .strip() — серйозніше, ніж пушнути не туди 😏
Зберігай, шоб не шукати в StackOverflow в 2 ночі
👍11❤3
Всім доброго вечора - не дарма кажуть шо Понеділоооок це тяжкий день 👀👀👀
🌙 Вечірня історія QA: “Камера в Додатку є, а картинки нема”
Іноді буває, хочеш просто спокійно пройти кол один-на-один...
А в результаті — баг, інвестигейт, і ще один тікет у backlog
Ситуація,
Починається демо. Вмикаю камеру — а з іншого боку чую.
— “Ти в онлайні, але у тебе чорний екран”
Я в шоці, в мене все норм. Камера працює. Вікно показує, що світло є.
Ctrl + CMD + перевірка параної включена.
Що далі? QA-мозок активовано
Дивлюсь
— Інший браузер → те саме
— Перевірка в іншій апці → камера працює
— DevTools → чисто
— Логи застосунку → не кричать, але… цікаво: VideoStreamError: capture failed
Тут я вже відкриваю chrome://media-internals
→ Знаходжу сесію
→ І бачу, що video input ловиться, але вивід порожній
Далі цікавіше,
— Репродукую в іншій системі — все працює.
— Повертаюсь до своєї — бачу, що застосунок підтягує не ту камеру: default stream з інтегрованої вебки, яка була фізично вимкнена BIOS’ом 😐
У GUI обрана правильна камера,
але всередині — fallback на першу в списку (бо system default не змінений).
Root cause знайдено,
Якщо system default device → недоступний,
а в UI обраний інший → застосунок не вміє graceful fallback
В результаті: чорний екран без помилки і без навіть warning’а
Що зробив:
— Завів баг: “Incorrect video stream fallback when system default is unavailable”
— Додав сценарій до regression suite
— Запропонував UX-поправку, показувати warning, якщо вивід порожній > 3 сек
— І кинув тести в автотест suite (перевірка доступності стріму через getUserMedia)
Моралька для QA
Коли щось не працює, але “у мене працює” — копай, поки не дізнаєшся чому.
Бо не камера винна — винен fallback 🤓
У тебе таке було?
Зберігай і поділись з тімейтом — може і він сьогодні транслює “чорний екран як життя”
Буду вдячний за репост групи,
https://t.me/BugOrDefects
🌙 Вечірня історія QA: “Камера в Додатку є, а картинки нема”
Іноді буває, хочеш просто спокійно пройти кол один-на-один...
А в результаті — баг, інвестигейт, і ще один тікет у backlog
Ситуація,
Починається демо. Вмикаю камеру — а з іншого боку чую.
— “Ти в онлайні, але у тебе чорний екран”
Я в шоці, в мене все норм. Камера працює. Вікно показує, що світло є.
Ctrl + CMD + перевірка параної включена.
Що далі? QA-мозок активовано
Дивлюсь
— Інший браузер → те саме
— Перевірка в іншій апці → камера працює
— DevTools → чисто
— Логи застосунку → не кричать, але… цікаво: VideoStreamError: capture failed
Тут я вже відкриваю chrome://media-internals
→ Знаходжу сесію
→ І бачу, що video input ловиться, але вивід порожній
Далі цікавіше,
— Репродукую в іншій системі — все працює.
— Повертаюсь до своєї — бачу, що застосунок підтягує не ту камеру: default stream з інтегрованої вебки, яка була фізично вимкнена BIOS’ом 😐
У GUI обрана правильна камера,
але всередині — fallback на першу в списку (бо system default не змінений).
Root cause знайдено,
Якщо system default device → недоступний,
а в UI обраний інший → застосунок не вміє graceful fallback
В результаті: чорний екран без помилки і без навіть warning’а
Що зробив:
— Завів баг: “Incorrect video stream fallback when system default is unavailable”
— Додав сценарій до regression suite
— Запропонував UX-поправку, показувати warning, якщо вивід порожній > 3 сек
— І кинув тести в автотест suite (перевірка доступності стріму через getUserMedia)
Моралька для QA
Коли щось не працює, але “у мене працює” — копай, поки не дізнаєшся чому.
Бо не камера винна — винен fallback 🤓
У тебе таке було?
Зберігай і поділись з тімейтом — може і він сьогодні транслює “чорний екран як життя”
Буду вдячний за репост групи,
https://t.me/BugOrDefects
Telegram
Bug or Defect?
Welcome to Bug or Defect?
youtube - https://www.youtube.com/@BugOrDefect
instagram - https://www.instagram.com/bugordefect_life?igsh=MTFlYzZyMncwZWd4eQ==
youtube - https://www.youtube.com/@BugOrDefect
instagram - https://www.instagram.com/bugordefect_life?igsh=MTFlYzZyMncwZWd4eQ==
🔥21😁3❤1
Доброго ранку. Як ваш настрій?)
☕️ Ранкова історія QA:
Bug or defect? А може просто “де я вчора зупинився?”
Прокидаюсь, відкриваю Jira — день тільки почався, а душа вже болить.
Скролю тікети, ловлю очима знайоме:
Task від мене самого. Тобто сам собі QA, сам собі PM, сам собі “ти чого це не закрив?” 🙃
Вчора,
— Виявив, що stage лягає при 5+ запитах до /reports/summary
— Почав дебажити:
– подивився в HAR — видно таймаут
– погрався з
, щоб відловити стабільність
– глянув лог сервера: нічого критичного
– подумав: "треба ще API headers перевірити, може це CDN…"
– …і тут мені в чат: “купа питань і по темі і не по темі”
– …ну я й закрив ноут.
Сьогодні:
Перший інстинкт — залізти в
Коміт називається, wip, don’t merge, pls remind me 😵💫
В Postman – request chain, але без environment, токен закінчився.
А в нотатках,
— можливо проблема в retry-after
— порівняти stage/prod timeout
— headers x-cache на CDN
Що дізнався після другого заходу.
– CDN повертає 504, а бек працює норм
– проблемний саме кеш — старі response-и тримаються довше, ніж треба
– dev-оточення має bypass кешу, а stage — ні
– додав
header cache-control: no-cache
і баг перестав проявлятись
– завів баг в таск-трекер як Defect, неправильна поведінка продакшн-конфігів на stage
– додав коментар, давайте кеш не дебажити по понеділках…
Мораль,
Не всі 504 — це про бекенд. Іноді баг — це ти, який забув, що вже все майже знайшов.
Bug or defect?
Цього разу — точно defect.
А ще — дефіцит уваги зранку 😅
У кого ще в Jira задачі типу "я вже почав, чесно!"?
Пиши — і давай разом згадувати, хто ми, де ми, і хто ці люди з тікетів.
Буду вдячний за репост групи
https://t.me/BugOrDefects
☕️ Ранкова історія QA:
Bug or defect? А може просто “де я вчора зупинився?”
Прокидаюсь, відкриваю Jira — день тільки почався, а душа вже болить.
Скролю тікети, ловлю очима знайоме:
[STG] 504 error на endpoint /reports/summary
Task від мене самого. Тобто сам собі QA, сам собі PM, сам собі “ти чого це не закрив?” 🙃
Вчора,
— Виявив, що stage лягає при 5+ запитах до /reports/summary
— Почав дебажити:
– подивився в HAR — видно таймаут
– погрався з
curl --max-time
, щоб відловити стабільність
– глянув лог сервера: нічого критичного
– подумав: "треба ще API headers перевірити, може це CDN…"
– …і тут мені в чат: “купа питань і по темі і не по темі”
– …ну я й закрив ноут.
Сьогодні:
Перший інстинкт — залізти в
git log → є гілка bug/stg-504-check
Коміт називається, wip, don’t merge, pls remind me 😵💫
В Postman – request chain, але без environment, токен закінчився.
А в нотатках,
— можливо проблема в retry-after
— порівняти stage/prod timeout
— headers x-cache на CDN
Що дізнався після другого заходу.
– CDN повертає 504, а бек працює норм
– проблемний саме кеш — старі response-и тримаються довше, ніж треба
– dev-оточення має bypass кешу, а stage — ні
– додав
header cache-control: no-cache
і баг перестав проявлятись
– завів баг в таск-трекер як Defect, неправильна поведінка продакшн-конфігів на stage
– додав коментар, давайте кеш не дебажити по понеділках…
Мораль,
Не всі 504 — це про бекенд. Іноді баг — це ти, який забув, що вже все майже знайшов.
Bug or defect?
Цього разу — точно defect.
А ще — дефіцит уваги зранку 😅
У кого ще в Jira задачі типу "я вже почав, чесно!"?
Пиши — і давай разом згадувати, хто ми, де ми, і хто ці люди з тікетів.
Буду вдячний за репост групи
https://t.me/BugOrDefects
Telegram
Bug or Defect?
Welcome to Bug or Defect?
youtube - https://www.youtube.com/@BugOrDefect
instagram - https://www.instagram.com/bugordefect_life?igsh=MTFlYzZyMncwZWd4eQ==
youtube - https://www.youtube.com/@BugOrDefect
instagram - https://www.instagram.com/bugordefect_life?igsh=MTFlYzZyMncwZWd4eQ==
🔥12👍5❤2
Bug or Defect?
Всім доброго вечора - не дарма кажуть шо Понеділоооок це тяжкий день 👀👀👀 🌙 Вечірня історія QA: “Камера в Додатку є, а картинки нема” Іноді буває, хочеш просто спокійно пройти кол один-на-один... А в результаті — баг, інвестигейт, і ще один тікет у backlog…
Маленька - QA-шпаргалка: коли камера в браузері "є, але нема"
Тул, який рятує день:
— chrome://media-internals
— тут дивимось потоки з камери, шукаємо resolution: 0x0, MEDIA_STREAM_TRACK_NO_FRAMES_RECEIVED і інші подарунки.
Що ще глянути:
chrome://webrtc-internals — якщо камера через WebRTC
chrome://device-log — чи Chrome взагалі бачить пристрій
chrome://settings/content/camera — перевір доступи
Лайфхаки.
Камера часто ламається, якщо її хтось "забрав" у фоні (друга вкладка, інша апка)
Рестарт permission'ів іноді рішає
Розмиття фону? — частий злодій продуктивності
Зберігай, щоб потім не питати в Zoom: "А ви точно мене бачите?" 😅
Буду вдячний за репост групи,
https://t.me/BugOrDefects
Тул, який рятує день:
— chrome://media-internals
— тут дивимось потоки з камери, шукаємо resolution: 0x0, MEDIA_STREAM_TRACK_NO_FRAMES_RECEIVED і інші подарунки.
Що ще глянути:
chrome://webrtc-internals — якщо камера через WebRTC
chrome://device-log — чи Chrome взагалі бачить пристрій
chrome://settings/content/camera — перевір доступи
Лайфхаки.
Камера часто ламається, якщо її хтось "забрав" у фоні (друга вкладка, інша апка)
Рестарт permission'ів іноді рішає
Розмиття фону? — частий злодій продуктивності
Зберігай, щоб потім не питати в Zoom: "А ви точно мене бачите?" 😅
Буду вдячний за репост групи,
https://t.me/BugOrDefects
Telegram
Bug or Defect?
Welcome to Bug or Defect?
youtube - https://www.youtube.com/@BugOrDefect
instagram - https://www.instagram.com/bugordefect_life?igsh=MTFlYzZyMncwZWd4eQ==
youtube - https://www.youtube.com/@BugOrDefect
instagram - https://www.instagram.com/bugordefect_life?igsh=MTFlYzZyMncwZWd4eQ==
❤11👍5
Доброго вечора - знайомлю вас з крутой штукой =)))
Netcat (nc) — твій кращий друг у QA-інвестигейшені
Що це таке?
Netcat — це легкий, універсальний інструмент для роботи з мережею. Підключитись, відлагоджувати TCP/UDP-з’єднання, прослухати порт, передати дані, перевірити доступність, навіть створювати імпровізовані чати між машинами — він усе це може.
Це як якщо telnet, curl і nmap зібрались в одну утиліту без зайвих балачок.
Що вміє nc і чим він корисний QA:
Перевірити доступність сервісу/порта:
Просканувати портовий діапазон (чи живе щось на цих портах):
Підняти локальний listener:
(корисно, коли хочеш подивитися, чи хтось шле запит)
Відправити тестовий payload у сокет:
Додати таймаут:
Зробити імпровізований чат між машинами (так, nc це теж вміє!)
На одному компі (слухаєш):
На іншому (підключаєшся):
Пишеш — і бачиш повідомлення на іншій машині в real-time. Можна навіть влаштувати міні-QA-диспут
Навіщо це вам?
Швидко зрозуміти, чому тести падають: сервіс не працює, чи реально бага?
Перевірити staging, dev або QA середовище без чекання девопса
Тестувати інтеграції без підключення реального бекенду
Як встановити?
Ubuntu / Debian:
macOS (через Homebrew):
Windows:
https://eternallybored.org/misc/netcat/
Збережи пост — буде день, коли staging впаде, а nc витягне тебе з хаосу
Якщо хочеш part 2 з прикладами передачі файлів, проксі чи відладки сокетів — пиши в коменти.
Буду вдячний за репост групи
https://t.me/BugOrDefects
Netcat (nc) — твій кращий друг у QA-інвестигейшені
Що це таке?
Netcat — це легкий, універсальний інструмент для роботи з мережею. Підключитись, відлагоджувати TCP/UDP-з’єднання, прослухати порт, передати дані, перевірити доступність, навіть створювати імпровізовані чати між машинами — він усе це може.
Це як якщо telnet, curl і nmap зібрались в одну утиліту без зайвих балачок.
Що вміє nc і чим він корисний QA:
Перевірити доступність сервісу/порта:
nc -zv api.myproject.local 443
Просканувати портовий діапазон (чи живе щось на цих портах):
nc -zv service.local 8000-8100
Підняти локальний listener:
nc -l 9999
(корисно, коли хочеш подивитися, чи хтось шле запит)
Відправити тестовий payload у сокет:
echo "ping" | nc 127.0.0.1 8080
Додати таймаут:
nc -zvw5 service.dev 7000
Зробити імпровізований чат між машинами (так, nc це теж вміє!)
На одному компі (слухаєш):
nc -l 1234
На іншому (підключаєшся):
nc IP_першого 1234
Пишеш — і бачиш повідомлення на іншій машині в real-time. Можна навіть влаштувати міні-QA-диспут
Навіщо це вам?
Швидко зрозуміти, чому тести падають: сервіс не працює, чи реально бага?
Перевірити staging, dev або QA середовище без чекання девопса
Тестувати інтеграції без підключення реального бекенду
Як встановити?
Ubuntu / Debian:
sudo apt install netcat
macOS (через Homebrew):
brew install netcat
Windows:
https://eternallybored.org/misc/netcat/
Збережи пост — буде день, коли staging впаде, а nc витягне тебе з хаосу
Якщо хочеш part 2 з прикладами передачі файлів, проксі чи відладки сокетів — пиши в коменти.
Буду вдячний за репост групи
https://t.me/BugOrDefects
eternallybored.org
netcat 1.11 for Win32/Win64
ancient netcat wor Windows
👍12🔥5
Всім доброго раночку 👋👋👋
Сьогодні без історій. Просто день.
Такий собі — як понеділок, але без понеділка.
Все працює, задачі клікаються, прод дихає рівно.
І наче можна просто спокійно… жити?
Але є привід для теплоти.
Вчора був дуже душевний день — один з моїх учнів отримав офер!
Ми до цього дійшли, і от — все склалось.
Це завжди трошки як баг, що став фічею.
Нехай у вас сьогодні буде тихо, стабільно й з хорошим вайбом.
А якщо щось бахне — ну, розберемось. Ми ж QA.
Сьогодні без історій. Просто день.
Такий собі — як понеділок, але без понеділка.
Все працює, задачі клікаються, прод дихає рівно.
І наче можна просто спокійно… жити?
Але є привід для теплоти.
Вчора був дуже душевний день — один з моїх учнів отримав офер!
Ми до цього дійшли, і от — все склалось.
Це завжди трошки як баг, що став фічею.
Нехай у вас сьогодні буде тихо, стабільно й з хорошим вайбом.
А якщо щось бахне — ну, розберемось. Ми ж QA.
❤19👍8🔥3
🧪 Завдання дня для QA
Чучуть теоріі)) Питання: Що з наступного є основною метою тестування продуктивності?
Чучуть теоріі)) Питання: Що з наступного є основною метою тестування продуктивності?
Anonymous Quiz
39%
(A) Перевірка швидкості запуску додатка та його реакції на запити.
55%
(B) Перевірка стабільності системи під високим навантаженням, зокрема при пікових значеннях трафіку.
5%
(C) Перевірка точності результатів, що виводяться додатком під час роботи.
1%
(D) Перевірка сумісності додатка з різними версіями операційних систем.
❤8🤯6🔥1
Bug or Defect?
🧪 Завдання дня для QA
Чучуть теоріі)) Питання: Що з наступного є основною метою тестування продуктивності?
Чучуть теоріі)) Питання: Що з наступного є основною метою тестування продуктивності?
До теми з ранкового пула про перформанс!
Якщо цікаво копнути глибше — рекомендую блог BlazeMeter.
BlazeMeter Blog — це як технічний Medium для тестувальників:
— чеклісти з performance для API (реально зручно)
— кейси типу "як ми тестували мікросервіси на проді і не згоріли"
— інтеграції з JMeter, Jenkins і навіть Postman'ом
— і головне — читається просто, а не як документація до космічного шатлу
Ловіть посилання — https://www.blazemeter.com/blog
Зберігай у шпаргалку, поки не встигли сховати за пейвол 😅
І якщо знайдеш там перлину — кидай у коменти, шоб ми теж подивились.
Напишіть в коментарі знали по такий?
Буду вдячний за репост групи
https://t.me/BugOrDefects
Якщо цікаво копнути глибше — рекомендую блог BlazeMeter.
BlazeMeter Blog — це як технічний Medium для тестувальників:
— чеклісти з performance для API (реально зручно)
— кейси типу "як ми тестували мікросервіси на проді і не згоріли"
— інтеграції з JMeter, Jenkins і навіть Postman'ом
— і головне — читається просто, а не як документація до космічного шатлу
Ловіть посилання — https://www.blazemeter.com/blog
Зберігай у шпаргалку, поки не встигли сховати за пейвол 😅
І якщо знайдеш там перлину — кидай у коменти, шоб ми теж подивились.
Напишіть в коментарі знали по такий?
Буду вдячний за репост групи
https://t.me/BugOrDefects
Blazemeter
Blog | Perforce BlazeMeter
Stay ahead in software testing with BlazeMeter's blog—featuring expert insights on performance testing, test automation, AI-driven testing, and best practices for continuous integration and delivery.
🔥18
Доброго ранку - я опять з нудними історіями)
🌞 Ранкова історія QA: REST не завжди “OK”
Робочий день почався… не з кави і кліків по задачках. А з повідомлення в групі
Це не баг. REST повертає 200 OK.
🙃 Тааак, от і весь мій ранок полетів.
Не хотів відкривати повідомлення до кави. Але... щось мене потягнуло. І все — каву відмінили, пішов пояснювати.
Почав із простого
“Те, що REST повертає 200 OK — не значить, що для клієнта все добре.”
Бо якщо в тілі респонсу пусто, або там не ті дані, які потрібні клієнту, то яке ж це “OK”? Для API команда відпрацювала, а для UI — нічого не ясно.
Клієнт очікує масив з item’ами, який має значення, що показувати, які кнопки вмикати, чи взагалі є дані.
А в нас — просто статус без контенту. Ну, дякую.
40 хвилин пояснень, прикладів, зворотних кейсів, і — буде фікс 🙌
REST навчиться відповідати не просто “success”, а ще й інформативно.
Бо ми ж не просто виконуємо запит, ми будуємо діалог між фронтом і беком.
А у вас бувають такі моменти, коли треба пояснювати, що “success” — ще не значить “правильно”?
Гарного всім дня і тримаємось — до вихідних уже ближче 😄
Буду вдячний за репост групи
https://t.me/BugOrDefects
🌞 Ранкова історія QA: REST не завжди “OK”
Робочий день почався… не з кави і кліків по задачках. А з повідомлення в групі
Це не баг. REST повертає 200 OK.
🙃 Тааак, от і весь мій ранок полетів.
Не хотів відкривати повідомлення до кави. Але... щось мене потягнуло. І все — каву відмінили, пішов пояснювати.
Почав із простого
“Те, що REST повертає 200 OK — не значить, що для клієнта все добре.”
Бо якщо в тілі респонсу пусто, або там не ті дані, які потрібні клієнту, то яке ж це “OK”? Для API команда відпрацювала, а для UI — нічого не ясно.
Клієнт очікує масив з item’ами, який має значення, що показувати, які кнопки вмикати, чи взагалі є дані.
А в нас — просто статус без контенту. Ну, дякую.
40 хвилин пояснень, прикладів, зворотних кейсів, і — буде фікс 🙌
REST навчиться відповідати не просто “success”, а ще й інформативно.
Бо ми ж не просто виконуємо запит, ми будуємо діалог між фронтом і беком.
А у вас бувають такі моменти, коли треба пояснювати, що “success” — ще не значить “правильно”?
Гарного всім дня і тримаємось — до вихідних уже ближче 😄
Буду вдячний за репост групи
https://t.me/BugOrDefects
Telegram
Bug or Defect?
Welcome to Bug or Defect?
youtube - https://www.youtube.com/@BugOrDefect
instagram - https://www.instagram.com/bugordefect_life?igsh=MTFlYzZyMncwZWd4eQ==
youtube - https://www.youtube.com/@BugOrDefect
instagram - https://www.instagram.com/bugordefect_life?igsh=MTFlYzZyMncwZWd4eQ==
👍20😁7❤3
😎 Завдання дня для QA.
Тестуєш інтеграцію між сервісами. Один надсилає ось такий JSON.
{ "bonusPoints": null, "active": true } На іншому кінці логіка падає або працює некоректно. Що найімовірніше викликає проблему?
Тестуєш інтеграцію між сервісами. Один надсилає ось такий JSON.
{ "bonusPoints": null, "active": true } На іншому кінці логіка падає або працює некоректно. Що найімовірніше викликає проблему?
Anonymous Quiz
74%
(A) В полі bonusPoints очікується число, а приходить null — тип не збігається
3%
(B) Поле bonusPoints не мало б бути у відповіді взагалі
8%
(C) Сервіс хоче отримати "null" як текст, а не реальний null
15%
(D) Порядок полів у JSON не відповідає схемі — десеріалізація не працює
👍8🔥2
Шпаргалка, що покрилась пилом 😆
Витягуємо з архіву те, що мали б давно памʼятати, але... реальність така, що навіть сеньори інколи лізуть в гугл 👀
Хтось помітив?
Витягуємо з архіву те, що мали б давно памʼятати, але... реальність така, що навіть сеньори інколи лізуть в гугл 👀
Хтось помітив?
1🔥25❤4🌚3