Є ідея, яка не дає спокою…
Скоро на каналі — нова рубрика, яка може стати твоїм улюбленим форматом.
Всім гарного вечора 😊
Скоро на каналі — нова рубрика, яка може стати твоїм улюбленим форматом.
Всім гарного вечора 😊
❤9🥰2
Всім доброго ранку — і гарної робочої п’ятниці перед вихідними! ☀️
☀️ Ранкові історії QA #9 ☀️
Коли у тебе другий день вихідного у відпустці...
…і ти точно памʼятаєш:
— задачі роздані ✅
— регрес стартував ✅
— всі on-call попереджені ✅
— Chat мовчить, Jira не світиться, ніхто не пише
А ти сидиш з кавою і думаєш:
«Може, одним оком в пайплайн глянути?..»
«А якщо тест впав, а ніхто не побачив?..»
«А як так йде прогон тест кейсів? 👀»
І ніби все добре. І ти ж на вихідному.
Але десь всередині — QA-режим тривоги.
Той самий, що не вимикається навіть у вихідний зранку.
Це не параноя. Це відповідальність.
Це коли тобі не все одно.
Це — ти, якщо ти в темі.
📲 Буду вдячний за репост Групи.
https://t.me/BugOrDefects
☀️ Ранкові історії QA #9 ☀️
Коли у тебе другий день вихідного у відпустці...
…і ти точно памʼятаєш:
— задачі роздані ✅
— регрес стартував ✅
— всі on-call попереджені ✅
— Chat мовчить, Jira не світиться, ніхто не пише
А ти сидиш з кавою і думаєш:
«Може, одним оком в пайплайн глянути?..»
«А якщо тест впав, а ніхто не побачив?..»
«А як так йде прогон тест кейсів? 👀»
І ніби все добре. І ти ж на вихідному.
Але десь всередині — QA-режим тривоги.
Той самий, що не вимикається навіть у вихідний зранку.
Це не параноя. Це відповідальність.
Це коли тобі не все одно.
Це — ти, якщо ти в темі.
📲 Буду вдячний за репост Групи.
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==
❤7💯2
Привіт
Якщо ти такий же QA-параноїк, як і я…
…і бачиш у логах підозрілий IP ☠️
…і думаєш: “А ну його швиденько засканити, може це бот, криптомайнер чи просто dev з Франкфурта”
…і тобі не хочеться вручну відкривати 20 вкладок з VirusTotal, AbuseIPDB, Shodan
Mitaka — must-have розширення для OSINT і QA-шників, які шукають трохи більше
Mitaka — розширення для Chrome/Firefox, яке:
— Працює прямо з контекстного меню
— Підтримує понад 70 OSINT-джерел (VirusTotal, Shodan, Hybrid Analysis, тощо)
— Працює миттєво: виділив → клік → аналіз пішов
Базові Юзкейси які можно спробувати хоть зараз)
- Тестиш WebRTC/SIP — перевір IP через Shodan
- Підозрілий URL у логах? Пробивай на VirusTotal
- Хеш невідомого файлу? Освітли його з усіх боків
Безкоштовне і просте, як фільтр в Postman.
Ідеально для QA, і просто параноїків 🙃
🫠Як кажуть, Бо краще перебдеть, ніж недобдеть.
📲 Буду вдячний за репост Групи.
https://t.me/BugOrDefects
Якщо ти такий же QA-параноїк, як і я…
…і бачиш у логах підозрілий IP ☠️
…і думаєш: “А ну його швиденько засканити, може це бот, криптомайнер чи просто dev з Франкфурта”
…і тобі не хочеться вручну відкривати 20 вкладок з VirusTotal, AbuseIPDB, Shodan
Mitaka — must-have розширення для OSINT і QA-шників, які шукають трохи більше
Mitaka — розширення для Chrome/Firefox, яке:
— Працює прямо з контекстного меню
— Підтримує понад 70 OSINT-джерел (VirusTotal, Shodan, Hybrid Analysis, тощо)
— Працює миттєво: виділив → клік → аналіз пішов
Базові Юзкейси які можно спробувати хоть зараз)
- Тестиш WebRTC/SIP — перевір IP через Shodan
- Підозрілий URL у логах? Пробивай на VirusTotal
- Хеш невідомого файлу? Освітли його з усіх боків
Безкоштовне і просте, як фільтр в Postman.
Ідеально для QA, і просто параноїків 🙃
🫠Як кажуть, Бо краще перебдеть, ніж недобдеть.
📲 Буду вдячний за репост Групи.
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==
❤6
Завдання дня для QA
👉 Що таке WebSocket?
👉 Що таке WebSocket?
Anonymous Quiz
89%
A) Протокол для встановлення двосторонього з'єднання між клієнтом і сервером в режимі реального часу
1%
B) Технологія для потокового відео через CDN (наприклад HLS/DASH)
4%
C) Протокол, який використовується в WebRTC для передачі медіа
5%
D) Це UDP-протокол для прямого з'єднання між браузерами
❤3
Продовженя:
🤔 Для чого найчастіше використовують WebSocket?
🤔 Для чого найчастіше використовують WebSocket?
Anonymous Quiz
85%
A) Для двосторонньої синхронізації даних у реальному часі (наприклад, чати, live-нотифікації)
10%
B) Для стримінгу відео через браузер (YouTube, Netflix)
0%
C) Для маршрутизації трафіку в CDN
6%
D) Для ініціалізації peer-to-peer WebRTC сесії
❤3
15 must-know інструментів для тестування в 2025
(усі безкоштовні та open-source)
1. Playwright – дуже швидке кросбраузерне E2E тестування.
2. Selenium – перевірена класика автоматизації з підтримкою Java, Python, JS та інших мов.
3. Katalon Studio (Community Edition) – легкий старт, багатий функціонал, зручна UI-обгортка.
4. TestProject – хмарна платформа з підтримкою AI та активною спільнотою.
5. Appium – must-have для автоматизації мобільних додатків (Android/iOS).
6. JMeter – для перевірки продуктивності, навантаження, скрипти без коду.
7. Rest Assured – Java DSL для тестування API — гнучко та зрозуміло.
8. Postman CLI & Collection Runner – зручне API тестування, що легко інтегрується в CI/CD.
9. Robot Framework – keyword-driven, читабельний синтаксис, зручно для команди.
10. Gauge – від творців Taiko, хороша підтримка markdown-специфікацій.
11. Taiko – сучасний тулинг для браузерної автоматизації з мінімумом “флаків”.
12. ZAP (OWASP) – обов’язковий тул для базового тестування безпеки вебдодатків.
13. Cypress – швидке JS-орієнтоване тестування UI, популярне серед фронтендерів.
14. TestCafe – ще одна JS-опція, мінімально залежить від браузера.
15. Nightwatch.js – просте рішення для E2E тестів, що легко інтегрується з CI.
Збережи собі, якщо тільки починаєш — і обирай те, що підходить до твого проєкту!
#qa #тестування #automatedtesting #opensource #manualqa #testingtools
(усі безкоштовні та open-source)
1. Playwright – дуже швидке кросбраузерне E2E тестування.
2. Selenium – перевірена класика автоматизації з підтримкою Java, Python, JS та інших мов.
3. Katalon Studio (Community Edition) – легкий старт, багатий функціонал, зручна UI-обгортка.
4. TestProject – хмарна платформа з підтримкою AI та активною спільнотою.
5. Appium – must-have для автоматизації мобільних додатків (Android/iOS).
6. JMeter – для перевірки продуктивності, навантаження, скрипти без коду.
7. Rest Assured – Java DSL для тестування API — гнучко та зрозуміло.
8. Postman CLI & Collection Runner – зручне API тестування, що легко інтегрується в CI/CD.
9. Robot Framework – keyword-driven, читабельний синтаксис, зручно для команди.
10. Gauge – від творців Taiko, хороша підтримка markdown-специфікацій.
11. Taiko – сучасний тулинг для браузерної автоматизації з мінімумом “флаків”.
12. ZAP (OWASP) – обов’язковий тул для базового тестування безпеки вебдодатків.
13. Cypress – швидке JS-орієнтоване тестування UI, популярне серед фронтендерів.
14. TestCafe – ще одна JS-опція, мінімально залежить від браузера.
15. Nightwatch.js – просте рішення для E2E тестів, що легко інтегрується з CI.
Збережи собі, якщо тільки починаєш — і обирай те, що підходить до твого проєкту!
#qa #тестування #automatedtesting #opensource #manualqa #testingtools
❤12
Всім доброго вечора
Як кажуть у Lead нема вихідних і відпусток - хоча це може тільки у мене
Вечірня рубки QA
QA-історія для тих, хто тільки починає
“Firefox — а чому все розсипалось?”
Увечері питаю команду:
— Як там UI, все ок?
— Так, усе добре.
— А у Firefox дивився?
...пауза...
Через 3 хвилини мені пишуть:
“Ти ше тут, тут якась дичина…”
Захожу — і бачу те, що бачать усі, хто вперше запускає макет у Firefox:
— Шрифт дивний,
— Тінь не там,
— Кнопка блимає,
— Щось не центрується, хоч мало б.
Чому так?
Бо всі часто перевіряють тільки в Chrome. А Firefox рендерить трохи інакше:
Бо движки у браузерів різні:
— Chrome (і Edge, і Opera) — працює на Blink (Chromium),
— Firefox — на Gecko.
Gecko жорсткіше дотримується специфікацій CSS. Він не “прощає” верстці такі речі як:
— відсутні -moz- префікси,
— невизначені font-family,
— box-shadow, що рендериться по-різному,
— кастомні елементи, що без fallbacks.
І особливо класика: line-height, letter-spacing або scrollbar, які рендеряться як в іншій опері.
Що робити?
-— Завжди перевіряй хоча б у Chrome + Firefox.
—- Використовуй CSS-резети або normalize.css.
—- Якщо щось не так — відкрий Firefox DevTools і дивись вкладку "Computed", вона покаже, що реально рендеритьс, + ексепшени в консолі
Порівнюй стиль елементів у Chrome і Firefox — шукай відмінності.
Маленький лайфхак:
У Chrome все красиво — не означає, що воно так і буде у користувача.
У Firefox — чесніше. Він покаже слабкі місця верстки.
Висновок:
Якщо тестиш тільки в Chrome — ти не тестиш.
Firefox — як суворий викладач. Завжди знайде, де болить.
Тому я завжди перевіряю в Gecko. Бо люблю дизайн… і спати спокійно.
Це вам як бонус де можно дивитися статистики хто шо і де юзають і скільки https://gs.statcounter.com/
Підписуйся на BugOrDefect, якщо теж маєш Chrome, Firefox, Safari, і Edge "про всяк".
📲 Буду вдячний за репост Групи.
https://t.me/BugOrDefects
Як кажуть у Lead нема вихідних і відпусток - хоча це може тільки у мене
Вечірня рубки QA
QA-історія для тих, хто тільки починає
“Firefox — а чому все розсипалось?”
Увечері питаю команду:
— Як там UI, все ок?
— Так, усе добре.
— А у Firefox дивився?
...пауза...
Через 3 хвилини мені пишуть:
“Ти ше тут, тут якась дичина…”
Захожу — і бачу те, що бачать усі, хто вперше запускає макет у Firefox:
— Шрифт дивний,
— Тінь не там,
— Кнопка блимає,
— Щось не центрується, хоч мало б.
Чому так?
Бо всі часто перевіряють тільки в Chrome. А Firefox рендерить трохи інакше:
Бо движки у браузерів різні:
— Chrome (і Edge, і Opera) — працює на Blink (Chromium),
— Firefox — на Gecko.
Gecko жорсткіше дотримується специфікацій CSS. Він не “прощає” верстці такі речі як:
— відсутні -moz- префікси,
— невизначені font-family,
— box-shadow, що рендериться по-різному,
— кастомні елементи, що без fallbacks.
І особливо класика: line-height, letter-spacing або scrollbar, які рендеряться як в іншій опері.
Що робити?
-— Завжди перевіряй хоча б у Chrome + Firefox.
—- Використовуй CSS-резети або normalize.css.
—- Якщо щось не так — відкрий Firefox DevTools і дивись вкладку "Computed", вона покаже, що реально рендеритьс, + ексепшени в консолі
Порівнюй стиль елементів у Chrome і Firefox — шукай відмінності.
Маленький лайфхак:
У Chrome все красиво — не означає, що воно так і буде у користувача.
У Firefox — чесніше. Він покаже слабкі місця верстки.
Висновок:
Якщо тестиш тільки в Chrome — ти не тестиш.
Firefox — як суворий викладач. Завжди знайде, де болить.
Тому я завжди перевіряю в Gecko. Бо люблю дизайн… і спати спокійно.
Це вам як бонус де можно дивитися статистики хто шо і де юзають і скільки https://gs.statcounter.com/
Підписуйся на BugOrDefect, якщо теж маєш Chrome, Firefox, Safari, і Edge "про всяк".
📲 Буду вдячний за репост Групи.
https://t.me/BugOrDefects
StatCounter Global Stats
Statcounter Global Stats - Browser, OS, Search Engine including Mobile Usage Share
Tracks the Usage Share of Search Engines, Browsers and Operating Systems including Mobile from over 3 billion monthly page views.
❤14
Усім доброго ранку — Усім гарного настрою☀️
☀️ Ранкові історії ☀️
Ранкова доза реальності для майбутніх QA ☕️
Пост для тих, хто боїться співбесід
Кожного разу, коли я веду QA-курси, я переконуюсь у простій речі:
📚 Сира теорія випаровується одразу після того, як закривається кришка ноутбука.
Вчора спілкувався з одним учнем.
Каже:
— Боюсь ходити на співбесіди...
— Чому?
— Теорія слабка, практики нема. Раптом спитають щось, а я — “ну я не впевнений...”
Я кажу: “Так і ходи! Саме заради цього й треба ходити.”
Запам’ятай
Ніхто не народжується з досвідом.
На кожній співбесіді ти здобуваєш практику.
Кожна "незручна відповідь" — це +1 до твоєї реальної підготовки.
Як готуватись без практики:
Йди на всі співбесіди, навіть якщо вимагають “рік досвіду”
— Це формальність. Якщо ти мотивований і можеш пояснити як ти тестуєш — це важливіше.
Після кожної співбесіди — роби рев’ю
— Запиши питання, де “поплив”.
— Розбери вдома.
— Повтори через день-два.
Створюй свою базу знань
— Це твоя персональна зброя: сценарії, SQL-запити, помилки, що питали, навіть приклади кейсів.
І головне — не сприймай відмову як поразку.
— Це просто ще один крок до тієї співбесіди, де ти скажеш: “Ого, я впорався!”
І Пам’ятай:
Страх співбесіди — це лише страх невідомого.
Але кожна наступна — робить тебе впевненішим, досвідченішим і ближчим до роботи.
Тому, Випив каву — подав резюме — пішов на співбесіду.
Навіть якщо не готовий — саме так ти станеш готовим.
📲 Буду вдячний за репост Групи.
https://t.me/BugOrDefects
☀️ Ранкові історії ☀️
Ранкова доза реальності для майбутніх QA ☕️
Пост для тих, хто боїться співбесід
Кожного разу, коли я веду QA-курси, я переконуюсь у простій речі:
📚 Сира теорія випаровується одразу після того, як закривається кришка ноутбука.
Вчора спілкувався з одним учнем.
Каже:
— Боюсь ходити на співбесіди...
— Чому?
— Теорія слабка, практики нема. Раптом спитають щось, а я — “ну я не впевнений...”
Я кажу: “Так і ходи! Саме заради цього й треба ходити.”
Запам’ятай
Ніхто не народжується з досвідом.
На кожній співбесіді ти здобуваєш практику.
Кожна "незручна відповідь" — це +1 до твоєї реальної підготовки.
Як готуватись без практики:
Йди на всі співбесіди, навіть якщо вимагають “рік досвіду”
— Це формальність. Якщо ти мотивований і можеш пояснити як ти тестуєш — це важливіше.
Після кожної співбесіди — роби рев’ю
— Запиши питання, де “поплив”.
— Розбери вдома.
— Повтори через день-два.
Створюй свою базу знань
— Це твоя персональна зброя: сценарії, SQL-запити, помилки, що питали, навіть приклади кейсів.
І головне — не сприймай відмову як поразку.
— Це просто ще один крок до тієї співбесіди, де ти скажеш: “Ого, я впорався!”
І Пам’ятай:
Страх співбесіди — це лише страх невідомого.
Але кожна наступна — робить тебе впевненішим, досвідченішим і ближчим до роботи.
Тому, Випив каву — подав резюме — пішов на співбесіду.
Навіть якщо не готовий — саме так ти станеш готовим.
📲 Буду вдячний за репост Групи.
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👍6😇1
Bug or Defect?
Всім доброго вечора Як кажуть у Lead нема вихідних і відпусток - хоча це може тільки у мене Вечірня рубки QA QA-історія для тих, хто тільки починає “Firefox — а чому все розсипалось?” Увечері питаю команду: — Як там UI, все ок? — Так, усе добре. — А…
Всім привіт!😊
Стосовно Вчорашньої Історіі)
Зробив для вас невеликий розбір про кросбраузерне тестування — можливо, комусь стане у пригоді.
Кросбраузерне тестування: не треба тестити всюди і все
Є таке страшне слово — кросбраузерність. І багато хто плутає: думають, що треба відкривати кожен браузер на кожній ОС, тицяти все підряд і молитися. Насправді — ні.
Що треба знати: Браузери мають рушії (rendering engines)
Саме рушії вирішують, як виглядає сторінка, як працює JS, а не назва браузера.
Chrome, Edge, Opera — Blink (Chromium)
Safari — WebKit
Firefox — Gecko
Не тестимо всюди, тестимо з розумом
Якщо в Chrome усе виглядає добре — швидше за все, так само буде й в Edge або Opera (бо той самий двигун).
Safari — окрема історія, бо WebKit має свої приколи. Firefox — теж варто перевірити, хоча б базово.
Мінімум sanity-чек: Chrome + Safari + Firefox.
Головне — рушій, а не логотип браузера
Тестиш у Chrome — вже покрив майже всі Chromium-браузери.
Safari обов’язковий, бо в iOS усі браузери всередині — WebKit, навіть "Chrome для iOS".
Firefox — теж бажаний: його юзає меншина, але з ним бувають сюрпризи.
Нюанси — є завжди:
Safari іноді глючить з flex, grid, шрифтами чи анімаціями
Firefox може по-різному рендерити форми або svg
Chrome — стабільний, але теж треба моніторити консоль (warnings, errors)
Як зрозуміти, де тестити?
Дивись аналітику (Google Analytics, gs.statcounter тощо): які браузери реально юзає твоя аудиторія
Якщо 90% сидять у Chrome — не треба витрачати години на Opera
Є мобільна версія? Safari на iOS — must have, Chrome на Android — теж бажано
Що можу посоветовать в Help
Використовуй BrowserStack, LambdaTest або Sauce Labs
Або локально: Chrome DevTools (device emulation), віртуалки, емулятори
Не забудь про responsive-моди і скріншоти на різних breakpoint’ах
Висновок:
Тестувати треба з головою. Не треба ганяти кожну фічу в кожному браузері.
Дивись на рушії, аналізуй, пріоритезуй.
Safari та Firefox — обов’язкові для sanity. Інше — за потребою.
Бо QA — це не "все відкрити", а "знати, що має сенс перевірити".
📲 Буду вдячний за репост Групи.
https://t.me/BugOrDefects
Стосовно Вчорашньої Історіі)
Зробив для вас невеликий розбір про кросбраузерне тестування — можливо, комусь стане у пригоді.
Кросбраузерне тестування: не треба тестити всюди і все
Є таке страшне слово — кросбраузерність. І багато хто плутає: думають, що треба відкривати кожен браузер на кожній ОС, тицяти все підряд і молитися. Насправді — ні.
Що треба знати: Браузери мають рушії (rendering engines)
Саме рушії вирішують, як виглядає сторінка, як працює JS, а не назва браузера.
Chrome, Edge, Opera — Blink (Chromium)
Safari — WebKit
Firefox — Gecko
Не тестимо всюди, тестимо з розумом
Якщо в Chrome усе виглядає добре — швидше за все, так само буде й в Edge або Opera (бо той самий двигун).
Safari — окрема історія, бо WebKit має свої приколи. Firefox — теж варто перевірити, хоча б базово.
Мінімум sanity-чек: Chrome + Safari + Firefox.
Головне — рушій, а не логотип браузера
Тестиш у Chrome — вже покрив майже всі Chromium-браузери.
Safari обов’язковий, бо в iOS усі браузери всередині — WebKit, навіть "Chrome для iOS".
Firefox — теж бажаний: його юзає меншина, але з ним бувають сюрпризи.
Нюанси — є завжди:
Safari іноді глючить з flex, grid, шрифтами чи анімаціями
Firefox може по-різному рендерити форми або svg
Chrome — стабільний, але теж треба моніторити консоль (warnings, errors)
Як зрозуміти, де тестити?
Дивись аналітику (Google Analytics, gs.statcounter тощо): які браузери реально юзає твоя аудиторія
Якщо 90% сидять у Chrome — не треба витрачати години на Opera
Є мобільна версія? Safari на iOS — must have, Chrome на Android — теж бажано
Що можу посоветовать в Help
Використовуй BrowserStack, LambdaTest або Sauce Labs
Або локально: Chrome DevTools (device emulation), віртуалки, емулятори
Не забудь про responsive-моди і скріншоти на різних breakpoint’ах
Висновок:
Тестувати треба з головою. Не треба ганяти кожну фічу в кожному браузері.
Дивись на рушії, аналізуй, пріоритезуй.
Safari та Firefox — обов’язкові для sanity. Інше — за потребою.
Бо QA — це не "все відкрити", а "знати, що має сенс перевірити".
📲 Буду вдячний за репост Групи.
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❤4
Завдання дня для QA
Що найімовірніше викликає баг при парсингу на стороні сервера і дані не збережуться чи буде помилка, коли в полі яке передається з'являється & або <;?
Що найімовірніше викликає баг при парсингу на стороні сервера і дані не збережуться чи буде помилка, коли в полі яке передається з'являється & або <;?
Anonymous Quiz
23%
A) Проблема з типом кодування (наприклад, UTF-8 vs ANSI)
43%
Б) Проблема з нестандартизованим роздільником у JSON/XML
29%
(B) Недекодована HTML-сущність, яку сервер не розпізнає
5%
(C) Особливість старої версії Node.js / PHP
🤔4❤2🤯1
Усім доброго ранку — Сонечка у віконце☀️
☀️ Ранкові історії ☀️
QA-недільна профдеформація
Було у вас таке?
Три дні релаксу, піченьки, Netflix, світ без Jira...
А потім десь у неділю з ранку мозок такий:
— «А може… ну тіпа… спринт спланувати?»
— «А гляну changelog, шо там наші в staging закинули...»
— «TestRail сам себе не заповнить…»
І ти вже не на дивані, а в голові клікаєш по Confluence-сторінках.
Наче й вихідний, а внутрішній QA вже на daily 😅
Або це тільки в мене така легка quality обсесія?
📲 Буду вдячний за репост Групи.
https://t.me/BugOrDefects
☀️ Ранкові історії ☀️
QA-недільна профдеформація
Було у вас таке?
Три дні релаксу, піченьки, Netflix, світ без Jira...
А потім десь у неділю з ранку мозок такий:
— «А може… ну тіпа… спринт спланувати?»
— «А гляну changelog, шо там наші в staging закинули...»
— «TestRail сам себе не заповнить…»
І ти вже не на дивані, а в голові клікаєш по Confluence-сторінках.
Наче й вихідний, а внутрішній QA вже на daily 😅
Або це тільки в мене така легка quality обсесія?
📲 Буду вдячний за репост Групи.
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==
💯6❤4
Bug or Defect?
Завдання дня для QA
Що найімовірніше викликає баг при парсингу на стороні сервера і дані не збережуться чи буде помилка, коли в полі яке передається з'являється & або <;?
Що найімовірніше викликає баг при парсингу на стороні сервера і дані не збережуться чи буде помилка, коли в полі яке передається з'являється & або <;?
Всім привіт - Здивований статистикою відповідей)
Тоді давайте розберемо шо це коротенько і для чого.
Наприклад ситуація — з фронта відправляється форма або івент, і в полі, наприклад, назва, написано:
"Це круто & нова фіча"
або навіть типу:
"Ціна < 1000"
І тут починається магія — сервер падає, або дані не зберігаються, або бачиш “Parsing Failed”.
Чому?
Бо &, <, > — це спецсимволи для HTML або XML. Коли ти їх вставляєш у дані без кодування, парсер думає, що ти хочеш передати HTML-сущність.
Наприклад: — це норм, бо це валідна сущність, тобто не розривний пробіл.
А от якщо ти просто написав & — сервер думає: “О, зараз буде сущність”, чекає далі, але не знаходить нічого валідного. У нього коротше паніка — “що це було?” — і він каже: “Parsing Error”.
Так само з < — парсер думає, що зараз почнеться тег типу <div>, але тег не закрився — значить, знову помилка.
А найсмішніше, що в JSON це не викликає проблем, а в XML або HTML — викликає.
Спитаєте а чому в Json OK!
У JSON проблеми з &, <, > самі по собі зазвичай не виникають, бо, JSON не сприймає ці символи як спецсимволи, &, <, > — у JSON це просто символи в рядку, ніякої сутності типу він не чекає;
JSON не інтерпретує HTML або XML, тому не "плутається" від амперсанда чи кутових дужок.
АЛЕ! Проблеми можуть виникати пізніше, якщо:
Цей JSON десь вставляється у HTML без ескейпу — тоді браузер чи сервер може подумати, що це HTML.
JSON конвертується в XML або вставляється в XML-подібну структуру — і тоді вже & або < ламають усе.
Сервер неправильно обробляє символи (не декодує, не ескейпить), особливо якщо тип відповіді не application/json, а, скажімо, text/html.
Висновок:
У JSON — ок (поки ти з ним поводишся правильно).
Але у змішаних системах (JSON + HTML / XML / Markdown / Email шаблони) — починаються веселощі.
Що робити при тестувані QA?
— Тестуй вручну такі кейси: &, <, >, ", '
— Перевір, що фронт ескейпить спецсимволи (або навпаки — не ескейпить і це проблема)
— Перевір, що бекенд може їх парсити
— Не лінуйся — закинь такі значення в форму і подивись лог/відповідь
— І найголовніше — тестуй поля, які можуть містити текст від користувача: назви, коментарі, пошук, тощо
Бо інакше...
“Parsing Failed” в проді, нічосі не збереглось, юзер кричить, деви не розуміють шо сталося, а ти такий: “Я не тестив з амперсандом...
Чому це важливо для QA:
Якщо дані з цими символами не енкодяться при відправці — бек може їх не розпізнати.
Якщо бек їх не декодує — користувач побачить "сміття" типу > замість >.
Це може зламати HTML-розмітку або XML-структуру — особливо в e-mail, PDF або звітах.
Ось вам маленький популярний приклад сущностей:
& → &
< → <
> → >
" → "
' → '
→ (нерозривний пробіл)
📲 Буду вдячний за репост Групи.
https://t.me/BugOrDefects
Тоді давайте розберемо шо це коротенько і для чого.
Наприклад ситуація — з фронта відправляється форма або івент, і в полі, наприклад, назва, написано:
"Це круто & нова фіча"
або навіть типу:
"Ціна < 1000"
І тут починається магія — сервер падає, або дані не зберігаються, або бачиш “Parsing Failed”.
Чому?
Бо &, <, > — це спецсимволи для HTML або XML. Коли ти їх вставляєш у дані без кодування, парсер думає, що ти хочеш передати HTML-сущність.
Наприклад: — це норм, бо це валідна сущність, тобто не розривний пробіл.
А от якщо ти просто написав & — сервер думає: “О, зараз буде сущність”, чекає далі, але не знаходить нічого валідного. У нього коротше паніка — “що це було?” — і він каже: “Parsing Error”.
Так само з < — парсер думає, що зараз почнеться тег типу <div>, але тег не закрився — значить, знову помилка.
А найсмішніше, що в JSON це не викликає проблем, а в XML або HTML — викликає.
Спитаєте а чому в Json OK!
У JSON проблеми з &, <, > самі по собі зазвичай не виникають, бо, JSON не сприймає ці символи як спецсимволи, &, <, > — у JSON це просто символи в рядку, ніякої сутності типу він не чекає;
JSON не інтерпретує HTML або XML, тому не "плутається" від амперсанда чи кутових дужок.
АЛЕ! Проблеми можуть виникати пізніше, якщо:
Цей JSON десь вставляється у HTML без ескейпу — тоді браузер чи сервер може подумати, що це HTML.
JSON конвертується в XML або вставляється в XML-подібну структуру — і тоді вже & або < ламають усе.
Сервер неправильно обробляє символи (не декодує, не ескейпить), особливо якщо тип відповіді не application/json, а, скажімо, text/html.
Висновок:
У JSON — ок (поки ти з ним поводишся правильно).
Але у змішаних системах (JSON + HTML / XML / Markdown / Email шаблони) — починаються веселощі.
Що робити при тестувані QA?
— Тестуй вручну такі кейси: &, <, >, ", '
— Перевір, що фронт ескейпить спецсимволи (або навпаки — не ескейпить і це проблема)
— Перевір, що бекенд може їх парсити
— Не лінуйся — закинь такі значення в форму і подивись лог/відповідь
— І найголовніше — тестуй поля, які можуть містити текст від користувача: назви, коментарі, пошук, тощо
Бо інакше...
“Parsing Failed” в проді, нічосі не збереглось, юзер кричить, деви не розуміють шо сталося, а ти такий: “Я не тестив з амперсандом...
Чому це важливо для QA:
Якщо дані з цими символами не енкодяться при відправці — бек може їх не розпізнати.
Якщо бек їх не декодує — користувач побачить "сміття" типу > замість >.
Це може зламати HTML-розмітку або XML-структуру — особливо в e-mail, PDF або звітах.
Ось вам маленький популярний приклад сущностей:
& → &
< → <
> → >
" → "
' → '
→ (нерозривний пробіл)
📲 Буду вдячний за репост Групи.
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❤3
🔥 Завдання дня для QA
Уважно подивись на запит — що тут може бути не так?
POST /api/users/create Content-Type: application/x-www-form-urlencoded { "name": "Ігор", "email": "ihor@example.com" }
Уважно подивись на запит — що тут може бути не так?
POST /api/users/create Content-Type: application/x-www-form-urlencoded { "name": "Ігор", "email": "ihor@example.com" }
Anonymous Quiz
6%
(a) Метод POST не підходить для створення ресурсу
79%
(b) Content-Type не відповідає формату тіла запиту
9%
(c) JSON не може містити українські символи
7%
(d) В URL має бути .json наприкінці
❤3
QA та логи: як не пропустити головне?
Зберігай собі — пригодиться ще не раз.
Для Десктопних застосунків (Windows / macOS / Linux):
Реальний час — консоль рулить
— Відкрий .exe, .app або інший файл через консоль → бачиш помилки в реальному часі.
🔧 Electron або WebView?
Ctrl+Shift+I (Win) або Cmd+Opt+I (Mac) → відкрий DevTools → вкладка Console
🗂 Системні журнали не брешуть:
— Windows: eventvwr.msc → Application
— macOS: Console.app
— Linux: journalctl, dmesg, або /var/log/syslog
Де шукати лог-файли руками на OS
%APPDATA%
%LOCALAPPDATA%
~/Library/Application Support/
~/.config/
/var/log/
Debug-режим:
— Запускай із параметром --debug — і отримай більше деталей.
📲 Android: лови, поки не зникло
Потрібно:
USB-кабель
Увімкнена налагодка (7 кліків по Build Number)
ADB з Android Platform Tools
Команди:
adb devices # перевір, що підключено
adb logcat # всі логи в real-time
adb logcat | findstr com.your.app # лише твоє
adb bugreport report.zip # все й одразу
Де ще лежить корисне:
/sdcard/Android/data/com.your.app/files/
Якщо після ручного APK Market лається:
adb uninstall com.your.app
adb shell pm clear com.your.app
adb shell rm -rf /sdcard/Android/data/com.your.app
iOS: не так просто, але можливо
🛠 Потрібно:
Mac + кабель
Доступ до Xcode
Варіанти:
Xcode → Devices → Console
Console.app (обираєш iPhone → спостерігаєш)
Crash-репорти:
~/Library/Logs/DiagnosticReports/
Золоті поради для QA:
🔸 Лог без таймстампа — це ліс без GPS
🔸 Якщо є маркери або логгер — використовуй їх на максимум
🔸 Прив’язуй лог до кроків → швидше фікс
🔸 І не забудь: поганий баг без лога — як кримінал без доказів
Підписуйся на BugOrDefect
Тут не буде води. Тільки практика, приклади з реальних історій й щоденні інструменти для QA.
Зберігай собі — пригодиться ще не раз.
Для Десктопних застосунків (Windows / macOS / Linux):
Реальний час — консоль рулить
— Відкрий .exe, .app або інший файл через консоль → бачиш помилки в реальному часі.
🔧 Electron або WebView?
Ctrl+Shift+I (Win) або Cmd+Opt+I (Mac) → відкрий DevTools → вкладка Console
🗂 Системні журнали не брешуть:
— Windows: eventvwr.msc → Application
— macOS: Console.app
— Linux: journalctl, dmesg, або /var/log/syslog
Де шукати лог-файли руками на OS
%APPDATA%
%LOCALAPPDATA%
~/Library/Application Support/
~/.config/
/var/log/
Debug-режим:
— Запускай із параметром --debug — і отримай більше деталей.
📲 Android: лови, поки не зникло
Потрібно:
USB-кабель
Увімкнена налагодка (7 кліків по Build Number)
ADB з Android Platform Tools
Команди:
adb devices # перевір, що підключено
adb logcat # всі логи в real-time
adb logcat | findstr com.your.app # лише твоє
adb bugreport report.zip # все й одразу
Де ще лежить корисне:
/sdcard/Android/data/com.your.app/files/
Якщо після ручного APK Market лається:
adb uninstall com.your.app
adb shell pm clear com.your.app
adb shell rm -rf /sdcard/Android/data/com.your.app
iOS: не так просто, але можливо
🛠 Потрібно:
Mac + кабель
Доступ до Xcode
Варіанти:
Xcode → Devices → Console
Console.app (обираєш iPhone → спостерігаєш)
Crash-репорти:
~/Library/Logs/DiagnosticReports/
Золоті поради для QA:
🔸 Лог без таймстампа — це ліс без GPS
🔸 Якщо є маркери або логгер — використовуй їх на максимум
🔸 Прив’язуй лог до кроків → швидше фікс
🔸 І не забудь: поганий баг без лога — як кримінал без доказів
Підписуйся на BugOrDefect
Тут не буде води. Тільки практика, приклади з реальних історій й щоденні інструменти для QA.
👍7❤1
Ранкові сторії QA
Всім доброго ранку - і гарного понеділка🤗
Понеділок. Після відпустки.
Прокинувся з думкою: "Ну все, заряд енергії, новий тиждень, можна гори звернути!"
Але гори вже чекають на тебе — у вигляді задач.
46 нових повідомлень у Группі
Jira: 3 нові таски + 2 повертайся-знову
"Team lead з відділу" згадав баг із червня
Smoke ще не пройшов, а dev вже штовхає новий білд
"А давайте ще невеликий регрес..."
Понеділок, ти ж обіцяв бути м’яким 🙃
Ранкова порада:
Спочатку — кава ☕️
Потім — пріоритети
А вже після — все інше. Навіть регресія.
А як у вас проходять ранкові QA-понеділки?
📲 Буду вдячний за репост Групи.
https://t.me/BugOrDefects
Всім доброго ранку - і гарного понеділка🤗
Понеділок. Після відпустки.
Прокинувся з думкою: "Ну все, заряд енергії, новий тиждень, можна гори звернути!"
Але гори вже чекають на тебе — у вигляді задач.
46 нових повідомлень у Группі
Jira: 3 нові таски + 2 повертайся-знову
"Team lead з відділу" згадав баг із червня
Smoke ще не пройшов, а dev вже штовхає новий білд
"А давайте ще невеликий регрес..."
Понеділок, ти ж обіцяв бути м’яким 🙃
Ранкова порада:
Спочатку — кава ☕️
Потім — пріоритети
А вже після — все інше. Навіть регресія.
А як у вас проходять ранкові QA-понеділки?
📲 Буду вдячний за репост Групи.
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==
👍8🥰2
Bug or Defect?
QA та логи: як не пропустити головне? Зберігай собі — пригодиться ще не раз. Для Десктопних застосунків (Windows / macOS / Linux): Реальний час — консоль рулить — Відкрий .exe, .app або інший файл через консоль → бачиш помилки в реальному часі. 🔧 Electron…
Привіт всім - Продовжим тему про логи
QA ≠ Тільки кліки.
Ти хочеш читати логи?
Тоді відчуй силу терміналу.
⸻
ps?
Це не просто “псс”, це:
ps не просто команда — це твій детектив у Linux-системі.
Зробив повний гайд, як бачити те, що ховається за лаштунками
Основи виживання QA в Linux:
Фільтруй, як dev,
Потоки (threads):
Термінал-контроль:
Детективний режим,
Свій формат — сила:
Хто жере пам’ять і CPU?
Зомбі-режим:
Повна картина,
Мораль така:
Баг — це не лише помилка в UI.
Справжній QA — копає глибше,
в логах, процесах, ресурсах.
CLI — це твоя сила.
⸻
Якщо бажаєте ще інструкції про grep, tail, journalctl, htop?
Пиши в коменти або чекай наступний пост — буде круто
📲 Буду вдячний за репост Групи.
https://t.me/BugOrDefects
QA ≠ Тільки кліки.
Ти хочеш читати логи?
Тоді відчуй силу терміналу.
⸻
ps?
Це не просто “псс”, це:
ps не просто команда — це твій детектив у Linux-системі.
Зробив повний гайд, як бачити те, що ховається за лаштунками
Основи виживання QA в Linux:
ps # покажи процеси в поточному терміналі
ps -e # покажи всі процеси у системі
ps -l # деталізований список з аргументами команд
ps -ef # повна інфа про всі процеси
Фільтруй, як dev,
ps -u username # процеси конкретного юзера
ps -p 123,456 # процеси з PID 123 і 456
ps -e --no-headers # без заголовків (для скриптів)
Потоки (threads):
ps -eLf # всі треди у всіх процесах
ps -T -p PID # всі треди конкретного процесу
Термінал-контроль:
ps -t pts/0 # процеси з певного терміналу
Детективний режим,
ps -e | grep "?" # хто не має прив’язки до терміналу
ps -eH # покажи процеси ієрархічно (parent-child)
ps -Fg root # процеси групи root
Свій формат — сила:
ps -eo pid,user,comm # власний формат виводу
ps -eo pid,%cpu,%mem,comm # використання ресурсів
ps -eo pid,comm,lstart,etime # старт/тривалість процесів
ps -eo pid,comm,psr # CPU affinity (на якому ядрі крутиться)
Хто жере пам’ять і CPU?
ps aux --sort=-%mem | head # top 10 по пам’яті
ps aux --sort=-%cpu | head # top 10 по CPU
Зомбі-режим:
ps aux | grep "" # зомбі процеси
Повна картина,
ps auxww # без обрубування команд
watch "ps aux --sort=-%cpu | head" # реальний моніторинг CPU-пожирачів
Мораль така:
Баг — це не лише помилка в UI.
Справжній QA — копає глибше,
в логах, процесах, ресурсах.
CLI — це твоя сила.
⸻
Якщо бажаєте ще інструкції про grep, tail, journalctl, htop?
Пиши в коменти або чекай наступний пост — буде круто
📲 Буду вдячний за репост Групи.
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❤2🔥2
🔥 Завдання дня для QA
При тестувані, сервер піймав crash, Файл core.25931 лежить десь на сервері. Як перейти до директорії з ним та зберегти його собі локально?
При тестувані, сервер піймав crash, Файл core.25931 лежить десь на сервері. Як перейти до директорії з ним та зберегти його собі локально?
Anonymous Quiz
46%
(А) cd / && find . -name "core.*" | cp $1 ~/Desktop/
21%
(B) find / -name "core.*" -exec cp {} ~/Desktop/ \;
22%
(С) scp user@server:/core.25931 .
5%
(D) gzip core.* && mv core.*.gz /tmp/
7%
(E) Видалити дамп і зробити вигляд, що баг не повторюється 😎
👍5❤1
Bug or Defect?
🔥 Завдання дня для QA
При тестувані, сервер піймав crash, Файл core.25931 лежить десь на сервері. Як перейти до директорії з ним та зберегти його собі локально?
При тестувані, сервер піймав crash, Файл core.25931 лежить десь на сервері. Як перейти до директорії з ним та зберегти його собі локально?
Дуже цікава статистика, прийдеться роботи розбору для цього пула)
💯4❤3
Всім доброго вечора))
Вечірні історії QA
Розбирав один цікавий кейс - Кейс про зникаючі дані, які насправді нікуди не зникали
(або як localStorage зробив вигляд, що користувача не існує)
Situation,
— Юзер логіниться по email
— Додає товари в корзину
— Закриває додаток / виходить
— Знову логіниться
Корзина порожня, фільтри скинуті, REST нічого не повертає
Думаю: "Окей, рефреш? Кеш? Session timeout?"
Але! Навіть після оновлення сторінки до релогіна все було ОК, тобто справа не в сесії, не в рефреші, і точно не в браузері.
Думаю окай - будемо розбирати,
— Перевіряю REST — дійсно, приходить пустий масив на /cart і /filters
— Іду в базу — роблю select по user_id, → і тут перший шок: взагалі немає записів по цьому юзеру
Але я ж пам’ятаю, що вони були… Я САМ їх додавав!
— Перелогінююсь ще раз з тим же email → дивлюсь — корзина заповнюється (😅), але тільки якщо логін був з тією ж регістрацією email, як і раніше
Окей, теорія: різний кейс в email'і (upper/lower case) дає різний результат
Починаю тест:
— Заходжу як User@example.com → додаю товар → ID юзера в REST: id=1479
— Виходжу → заходжу як user@example.com → ID юзера: id=1932 😳
Один і той самий email, але два різні юзери в системі
(бо фронт не нормалізує email до нижнього регістру, і створює новий акаунт)
DevTools → Application → LocalStorage
→ дивлюсь ключі, значення
→ під кожен варіант email (User@... і user@...) зберігається окремий user_id
Виходить, що юзер сам себе обманув — або точніше, фронт створив дві сутності під один email, просто через різну капіталізацію.
А бек — йому що? Він чесно створив два акаунти.
Висновки для себе і всіх, хто дочитав:
Завжди нормалізуй email на фронті (toLowerCase())
Якщо REST поводиться адекватно, а юзер каже "все пропало" — дивись на ID
Використовуй DevTools → Application → LocalStorage
→ дивись user_id, token, і все, що може впливати на запити
Фронт теж може бути джерелом проблем, навіть коли здається, що він ні при чому
Різниця в одному символі — мінус корзина, мінус юзерський досвід
Такий баг не ловиться автоматично.
Його ловить уважний QA, який знає, куди копати: бази, localStorage, REST, ID.
🫡 Дякую, що дочитав
📲 Буду вдячний за репост Групи.
https://t.me/BugOrDefects
Вечірні історії QA
Розбирав один цікавий кейс - Кейс про зникаючі дані, які насправді нікуди не зникали
(або як localStorage зробив вигляд, що користувача не існує)
Situation,
— Юзер логіниться по email
— Додає товари в корзину
— Закриває додаток / виходить
— Знову логіниться
Корзина порожня, фільтри скинуті, REST нічого не повертає
Думаю: "Окей, рефреш? Кеш? Session timeout?"
Але! Навіть після оновлення сторінки до релогіна все було ОК, тобто справа не в сесії, не в рефреші, і точно не в браузері.
Думаю окай - будемо розбирати,
— Перевіряю REST — дійсно, приходить пустий масив на /cart і /filters
— Іду в базу — роблю select по user_id, → і тут перший шок: взагалі немає записів по цьому юзеру
Але я ж пам’ятаю, що вони були… Я САМ їх додавав!
— Перелогінююсь ще раз з тим же email → дивлюсь — корзина заповнюється (😅), але тільки якщо логін був з тією ж регістрацією email, як і раніше
Окей, теорія: різний кейс в email'і (upper/lower case) дає різний результат
Починаю тест:
— Заходжу як User@example.com → додаю товар → ID юзера в REST: id=1479
— Виходжу → заходжу як user@example.com → ID юзера: id=1932 😳
Один і той самий email, але два різні юзери в системі
(бо фронт не нормалізує email до нижнього регістру, і створює новий акаунт)
DevTools → Application → LocalStorage
→ дивлюсь ключі, значення
→ під кожен варіант email (User@... і user@...) зберігається окремий user_id
Виходить, що юзер сам себе обманув — або точніше, фронт створив дві сутності під один email, просто через різну капіталізацію.
А бек — йому що? Він чесно створив два акаунти.
Висновки для себе і всіх, хто дочитав:
Завжди нормалізуй email на фронті (toLowerCase())
Якщо REST поводиться адекватно, а юзер каже "все пропало" — дивись на ID
Використовуй DevTools → Application → LocalStorage
→ дивись user_id, token, і все, що може впливати на запити
Фронт теж може бути джерелом проблем, навіть коли здається, що він ні при чому
Різниця в одному символі — мінус корзина, мінус юзерський досвід
Такий баг не ловиться автоматично.
Його ловить уважний QA, який знає, куди копати: бази, localStorage, REST, ID.
🫡 Дякую, що дочитав
📲 Буду вдячний за репост Групи.
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==
❤29👍12
Всім доброго раночку 🤗 - погодка сьогодні не сонячна, але держимо настрій)
Ранкова історія QA 🫣
Коли учень перегнав вчителя?
(або як реагувати, коли тебе вже навчають твої ж учні)
Вчора ввечері був ще один дзвінок з учнем — готуємось до співбесіди, проганяємо кейси, говоримо про API, кеші, інтеграції…
І от на одному моменті я завис — кажу:
— “Слухай, а отут я так сходу не скажу...”
А він:
— “Та я розбирав нещодавно, там такий нюанс ще є, зараз покажу”.
І показує. Правильно. Красиво. По ділу.
І я завис вдруге — не від питання, а від думки.
А що, якщо учень вже краще за мене?
Радіти чи ревнувати?
Пишатися чи підтягуватись?
Бо з одного боку — це ж круто, я передав знання, дав базу, навчив розбиратись самостійно.
А з іншого — трошки б’є по самооцінці 😅
А ви як реагуєте, коли ваш учень “переростає” вас?
Це сигнал, що ви крутий ментор, чи дзвіночок, що пора й самому качатись далі?
🤔 Поділіться в коментах — хочеться зрозуміти, як інші це сприймають.
📲 Буду вдячний за репост Групи.
https://t.me/BugOrDefects
Ранкова історія QA 🫣
Коли учень перегнав вчителя?
(або як реагувати, коли тебе вже навчають твої ж учні)
Вчора ввечері був ще один дзвінок з учнем — готуємось до співбесіди, проганяємо кейси, говоримо про API, кеші, інтеграції…
І от на одному моменті я завис — кажу:
— “Слухай, а отут я так сходу не скажу...”
А він:
— “Та я розбирав нещодавно, там такий нюанс ще є, зараз покажу”.
І показує. Правильно. Красиво. По ділу.
І я завис вдруге — не від питання, а від думки.
А що, якщо учень вже краще за мене?
Радіти чи ревнувати?
Пишатися чи підтягуватись?
Бо з одного боку — це ж круто, я передав знання, дав базу, навчив розбиратись самостійно.
А з іншого — трошки б’є по самооцінці 😅
А ви як реагуєте, коли ваш учень “переростає” вас?
Це сигнал, що ви крутий ментор, чи дзвіночок, що пора й самому качатись далі?
🤔 Поділіться в коментах — хочеться зрозуміти, як інші це сприймають.
📲 Буду вдячний за репост Групи.
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==
❤16
Bug or Defect?
🔥 Завдання дня для QA
При тестувані, сервер піймав crash, Файл core.25931 лежить десь на сервері. Як перейти до директорії з ним та зберегти його собі локально?
При тестувані, сервер піймав crash, Файл core.25931 лежить десь на сервері. Як перейти до директорії з ним та зберегти його собі локально?
Привіт - Вирішив написати вам короткий розбір пула поки пішов на обід
ну що як вже багато знає шо правильна відповідь це (B) яка набрала всього 13%😢
find / -name "core.*" -exec cp {} ~/Desktop/ \; — Ця команда проста і робоча. Вона проходиться по всьому файловому дереву (/) в пошуках файлів, які підпадають під маску core.*, і одразу копіює кожен знайдений файл у твій Desktop.
{} — це місце, куди find підставляє знайдений файл.
-exec ... \; — виконує команду для кожного результату.
Неважливо, де файл лежить — знайде і скопіює. Не треба нічого вручну парсити, писати скрипти чи гадати, куди що передати.
Чому не (A) cd / && find . -name "core.*" | cp $1 ~/Desktop/ — Тут багато хто попадається.
Ти наче хочеш через | передати шлях у cp, але $1 — це не значення з пайпа, а аргумент скрипту/команди, в результаті cp отримує порожній $1 і каже: "чувак, куди копати?".
Чому не (С) scp user@server:/core.25931 . — Хороша команда, якщо ти точно знаєш повний шлях до файлу. Але якщо файл "десь на сервері" — тобто ти навіть не знаєш, чи він в корені, чи в якійсь /var/tmp/... — ця команда нічого не знайде.
А ще може впасти з помилкою: "No such file or directory".
ну і чому не (D) gzip core.* && mv core.*.gz /tmp/ — Архівуєш дамп — це ок, але core.* може містити кілька файлів або неіснуючі файли в поточній директорії. А ще ти його не копіюєш, а переміщаєш в /tmp/. І знову — якщо не в тій директорії, команда не знайде нічого.
тобто коротко чому find / -name "core.*" -exec cp {} ~/Desktop/ \; рулить,
- Працює з будь-якою кількістю дампів
- Не вимагає знати шлях
- Копіює одразу, без танців з бубном
- Зручно для автоматизації або в кризових ситуаціях
📲 Буду вдячний за репост Групи.
https://t.me/BugOrDefects
ну що як вже багато знає шо правильна відповідь це (B) яка набрала всього 13%😢
find / -name "core.*" -exec cp {} ~/Desktop/ \; — Ця команда проста і робоча. Вона проходиться по всьому файловому дереву (/) в пошуках файлів, які підпадають під маску core.*, і одразу копіює кожен знайдений файл у твій Desktop.
{} — це місце, куди find підставляє знайдений файл.
-exec ... \; — виконує команду для кожного результату.
Неважливо, де файл лежить — знайде і скопіює. Не треба нічого вручну парсити, писати скрипти чи гадати, куди що передати.
Чому не (A) cd / && find . -name "core.*" | cp $1 ~/Desktop/ — Тут багато хто попадається.
Ти наче хочеш через | передати шлях у cp, але $1 — це не значення з пайпа, а аргумент скрипту/команди, в результаті cp отримує порожній $1 і каже: "чувак, куди копати?".
Чому не (С) scp user@server:/core.25931 . — Хороша команда, якщо ти точно знаєш повний шлях до файлу. Але якщо файл "десь на сервері" — тобто ти навіть не знаєш, чи він в корені, чи в якійсь /var/tmp/... — ця команда нічого не знайде.
А ще може впасти з помилкою: "No such file or directory".
ну і чому не (D) gzip core.* && mv core.*.gz /tmp/ — Архівуєш дамп — це ок, але core.* може містити кілька файлів або неіснуючі файли в поточній директорії. А ще ти його не копіюєш, а переміщаєш в /tmp/. І знову — якщо не в тій директорії, команда не знайде нічого.
тобто коротко чому find / -name "core.*" -exec cp {} ~/Desktop/ \; рулить,
- Працює з будь-якою кількістю дампів
- Не вимагає знати шлях
- Копіює одразу, без танців з бубном
- Зручно для автоматизації або в кризових ситуаціях
📲 Буду вдячний за репост Групи.
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==
👍8❤3