Bug or Defect?
2.51K subscribers
237 photos
94 videos
1 file
213 links
Download Telegram
Завдання для QA: Git-команда дня

Ти працюєш з гілкою feature/test-123, щось наламав і хочеш скасувати останні зміни у файлі, але не комміт, а саме локальні зміни в робочій директорії. Яку команду використаєш? ДУЖЕ УВАЖНО!!!
Anonymous Quiz
19%
(A) git reset --hard HEAD
15%
(B) git checkout <назва_файлу>
19%
(C) git clean -fd
47%
(D) git restore <назва_файлу>
12
Bug or Defect?
Завдання для QA: Git-команда дня

Ти працюєш з гілкою feature/test-123, щось наламав і хочеш скасувати останні зміни у файлі, але не комміт, а саме локальні зміни в робочій директорії. Яку команду використаєш? ДУЖЕ УВАЖНО!!!
Всім доброго вечора, ну що ось і вихідні наступають)
Всім гарних і сонячних вихідних 🤗🤗🤗

Залишу це вам, Шпаргалка по Git, яку хочеться зберегти

Колись я теж плутався між git pull, git fetch, git reset --hard, і думав, що rebase — це щось, що краще не чіпати руками без амулету та зілля захисту 😅

Тому ось вам міні-шпаргалка — просто, коротко і наочно

Буду вдячний за поширення групи)
🔥298
👋 Доброго ранку, QA-друзі!

Сьогодні без історій — вже 11:02, а перший урок на сьогодні вже проведено (і поки що він же й останній )

Сподіваюсь, у вас гарний настрій, бо день тільки починається — або вже якось йде 😄
У мене за вікном дощ, тому саме час зробити собі кави або чаю
…і заскочити почитати щось корисне для професійної душі.

Навіть у суботу ми трішки качаємо скіли 💪

А нижче — рубрика, яка не дасть розслабитись 👇
12
Bug or Defect?
Завдання для QA:
Тестуєш API.
Запит GET працює в Postman, але в UI — 403 Forbidden. Чому?
Всім доброго ранку, як ваші справи? 🫣☀️☀️☀️
Понеділок, а це значить, що

кава вже в руці,

планінг вже десь поруч,

а ми вже потроху в робочому строю,

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

Чому ж не А?
Якби був невірний endpoint, швидше за все був би 404 (Not Found) або взагалі CORS Error. А не 403. тому це не може бути вірною відповідью

і чому не B?
Це вже ближче. Але це наслідок, а не причина.
Браузер не передає авторизаційні дані, бо йому не дали на це дозвіл саме через credentials і політику CORS.

ну про D не будемо згадувати)

а ось чому же С?
Бо браузер не просто труба між UI і беком.
Це справжній митник. І якщо ви не вказали,
fetch(url, { credentials: 'include' })

або в axios

axios.get(url, { withCredentials: true })
тоді ніякі куки чи токени не поїдуть.

А сервер, побачивши "аноніма", чемно каже
403 Forbidden доступ заборонено.

Postman ж не обмежений цими політиками. Там що вставив те й поїхало. Тому там усе працює.

Тому треба постійно буди на чеку
Якщо бачиш розрив між UI і Postman дивись не тільки на запит, а і на контекст його виконання.

Порівнюй заголовки, дивись на CORS, перевіряй, чи летить токен.
Бо в UI без credentials: 'include' токен не поїде, навіть якщо в localStorage/куках він є.


Буду вдячний за репост группи, + приєднуйтесь до нас)
https://t.me/BugOrDefects
1🔥282
Завдання дня для QA:

Ти логуєш баг з додатку, який бігає на Linux-сервері. Треба подивитися останні 50 рядків з логу app.log. Що вибереш?
Anonymous Quiz
3%
A) tail app.log
25%
B) cat app.log | head -n 50
57%
C) tail -n 50 app.log
14%
D) less app.log | grep 50
3👌2
Доброго вечора всім - Як пройшов ваш понеділок? У мене щось прям в напрузі, зараз розповім)

Вечірня історія QA, А шо, камера вже зайнята?
або як я навчився читати помилки, а не тільки логи 😅

Сьогодні день був щось пекельний, займався стрімінгом, тестував запуск відео з клієнта.
Запускаю, а відео просто не стартує.
Ні помилки в UI, ні фейлу, ні лагу. Просто тиша.

Я, як порядний QA, лізу в логи.
А там нічого. Порожньо, як в холодильнику))

Починається класика:
Та ну як це, все ж працювало...
Може кудись не туди дивлюсь?
Може сервер тупе?
Може dev щось поламав?
А може... 😶‍🌫️

Пішов в DevTools → Console
І нарешті! Та сама рятівна стрічка
NotReadableError: Could not start video source

Google каже, така помилка буває, коли камера вже зайнята іншим застосунком або вкладкою.

А тепер тримайте кульмінацію
Я сам сидів на іншому екрані, там був відкритий Zoom бо була англіська і я залишився весіти в румі і саме він тримав камеру.
Я навіть не помітив індикатору, бо ну... QA без уваги це окрема професія 😅

в підсумку,
Завів ішшью на клієнт - Error від WebRTC має хендлити такі фейли з повідомленням типу “Камера зайнята”
Бо якщо користувач не бачить помилки він подумає, що воно просто не працює
А насправді просто не твій день (і не твоя камера)


А у вас таке було?
Коли баг знайшовся не завдяки скілам, а власній неуважності?
Поділіться, щоб не я один тут соромився 😅

Буду вдячний за репост группи, + приєднуйтесь до нас)
https://t.me/BugOrDefects
😁22👍10🔥3
Доброго ранко!!! як ваш настрій? 👀👀👀

Ранкові Історіі QA. коли сам собі зробив ранковий ППЦ*****

Вівторок.
Всі кажуть, що понеділок, важкий день.
Ага, ага.
Я тепер в це не вірю.

Бо от ранок, вівторок, ніщо не віщує бєди. Я собі далі тестую стрімінг, ловлю баги, слухаю лофі… і тут прилітає ідея, а що як трохи нагрузити систему?

Ну, типу, не одна камера, а 10-20…
Ага! Підняти віртуальні камери і хай стримять собі стріми, хай бекенд потіє трохи.

Мислю далі, як це зробити?

Йду до тимліда,
Кажу Слухай, є ідея така…
Він (як завжди позитивний, як мій термометр у липні)
Та легко. Підійми віртуалку десь у vSphere, заімплементуй скриптом кілька камер і буде тобі щастя!

Я такий - Challenge accepted.

Іду в вебшару vSphere, і тут починається та сама технічна реальність, де ти QA, DevOps, і чарівник одночасно.

що роби и куди я ото поліз - ну окай

Підняв віртуалку у vSphere

Взяв Ubuntu Server ISO

Налаштував ресурси (2 CPU, 4 GB RAM, мінімум 10 GB disk)

Включив SSH, бо без нього як без рук.

Поставив віртуальні камери

Встановив v4l2loopback:
sudo apt install v4l2loopback-dkms


Завантажив:
sudo modprobe v4l2loopback devices=5 video_nr=10,11,12,13,14 card_label="Cam1","Cam2","Cam3","Cam4","Cam5"


Це створює 5 віртуальних камер /dev/video10-14.

Залив відео на луп
За допомогою ffmpeg:
ffmpeg -re -stream_loop -1 -i cam1.mp4 -f v4l2 /dev/video10 &
ffmpeg -re -stream_loop -1 -i cam2.mp4 -f v4l2 /dev/video11 &
ffmpeg -re -stream_loop -1 -i cam3.mp4 -f v4l2 /dev/video12 &
ffmpeg -re -stream_loop -1 -i cam4.mp4 -f v4l2 /dev/video13 &
ffmpeg -re -stream_loop -1 -i cam5.mp4 -f v4l2 /dev/video14 &


Кожен ffmpeg крутить своє відео вічно (-stream_loop -1), подаючи його у віртуальну камеру в реальному часі (-re).

Моніторю логіку стріму на бекенді

Через логери, метрики, response time дивлюсь, як воно себе веде.

А далі…
Ви думаєте, я пішов пити каву після такого?
Ха! Мій мозок вирішив, що він заслуговує на морозиво, бо плавитись вже почав конкретно

А ви, друзі, юзали якісь тулзи для створення віртуальних камер чи емуляції стріму?
Може, знаєте крутіші способи?
Діліться в коментах або в особисті може щось є по проще?

І памʼятайте: хороший QА, це не лише про «знайти баг», а й про «а давай нагрузимо це по-доброму »

Буду вдячний за репост группи, + приєднуйтесь до нас)
https://t.me/BugOrDefects
🔥15👍5🥴43
Bug or Defect?
Завдання дня для QA:

Ти логуєш баг з додатку, який бігає на Linux-сервері. Треба подивитися останні 50 рядків з логу app.log. Що вибереш?
Шпаргалка з Linux-команд 🐧
або як вижити в терміналі, коли все падає а ти QA 😄

Друзі, тримайте невеличкий набір корисних Linux-команд.
1🔥131