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

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

Друзі, тримайте невеличкий набір корисних Linux-команд.
1🔥131
Завдання дня для QA:
Ти тестуєш GET /api/users/123.
У response: { "id": 123, "name": "Alice", "email": null } В базі в полі email реально лежить значення, наприклад alice@ua.com. Жодних помилок немає. API повертає 200 OK Що робити в першу чергу?
Anonymous Quiz
10%
A) Зарепортити баг: дані в API не відповідають базі
27%
B) Перевірити, чи є фільтр/маскування полів у response
38%
C) Подивитися права доступу (auth scopes, roles) може, email приховується
26%
D) Порівняти swagger: чи має поле email бути nullable?
🔥26🥴1
🌤 Доброго ранку, Друзі!

Історій сьогодні нема, буває і таке. QA-життя баги, логи, рутина.
Але раз вже ми знову говорили про запити хочу порадити один з найтоповіших тулів для цього, Charles Proxy.


хто вже юзай ого то знають про що я, а ті хто його досі не юзав то давай, welcome.
Без нього як без рук. Особливо коли треба зловити запит, підмінити його, або подивитись, що там тече під капотом UI.

Зроблю вам мінемальний гайд а далі вже самі)

Налаштування SSL Proxy
Proxy > SSL Proxying Settings > Enable SSL Proxying
Add location: Host=* Port=443


Сертифікат для емулятора або реального пристрою
Help > SSL Proxying > Install Charles Root Certificate

По Фільтрам
Тільки GET                             - Method == GET
Тільки 4xx статуси - Status >= 400 AND Status < 500
Лише свій домен - Host contains api.myapp.com
Запити на логін - Path contains /auth OR Path contains /login
Payload містить "token" - Body contains token


Breakpoints (редагуй запити вручну)
Tools > Breakpoints > Add:
Host: api.myapp.com
Path: /api/v1/user
Method: POST

Зміні будь-який параметр перед відправкою (наприклад, роль юзера, токен, ID)

Modify / Rewrite Tool
Tools > Rewrite > Enable

Приклад підміна ролі у відповіді
Type: Response Body
Match: "role":"admin"
Replace with: "role":"guest"


Map Local (моки без мок-сервера)
1. Виділи запит > Map Local
2. Вкажи шлях до локального JSON (або HTML, зображення і т.д.)
3. Запит отримає локальну відповідь, не з сервера


Throttle (імітація поганої мережі)
Proxy > Throttle Settings > Enable Throttling
Example: 3G Edge
Bandwidth: 128kbps
Latency: 1000ms

Ось це прям Корисно для тесту інтерфейсу під час повільного завантаження.

ну і куди без Save Session
File > Save Session As...
лог зберігається, можна закинути в Jira / репорт / переслати деву

Для QA це
Перевірити, що буде, якщо сервер поверне помилковий JSON

Перехопити і вручну повторити нестабільний запит

Підмінити відповідь бекенду, щоб перевірити відображення помилок

Вловити різницю в поведінці мобільного vs веб клієнта

ну і бонусом залишу вам
шаблон rewrite правила.
Request Header: Replace Authorization: Bearer valid → Authorization: Bearer invalid
Response Body: Replace "status":"active" → "status":"banned"


Без чарльза ти просто дивишся на апку.
З ним бачиш, що в ній насправді відбувається.

https://www.charlesproxy.com/. тут можете його Download

Буду вдячний за репост группи, + приєднуйтесь до нас)
https://t.me/BugOrDefects
1👍21🔥112😇1
🔥113
This media is not supported in your browser
VIEW IN TELEGRAM
Всім доброго вечора) ну я не міг це не закинути вам 🤪😀😀😀

Цеж прям відео, яке пахне продакшеном
Із серії "Нам просто треба маленький фікс"...
А отримали,
- розрив джуніорського серця
- нескінченну кількість side effects
- нервового проджекта на фініші
- а ще в кінці винен QA бо так пізно найшов багу перед релізом 🤯

і не кажіть шо у вас такого не було - ти думаєшь шо ти молодець найшов багу - а тобі втик ЧОГО ТАК ПІЗНО)👀👀
😁23👍42🔥1
🌤 Доброго ранку.

Сьогодні без багів і приколів. Просто трошки з життя.

Прокидаюсь, і розумію сьогодні не мій день.
Голова гуде, як прод після гарячого релізу.
Температура, нудота, тіло ватне.
Організм каже мені пиши лікарняний, друже, відпусти ситуацію.

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

І от я сижу, ще без сніданку, дивлюсь на той таск, і думаю

Ну от як, блін, це має працювати?
Я ледве мозок можу ворушити, а таск живіший за мене і кричить який сік лік давай перевіряй мене! 👀

ну моє рішення не пити каву.
Заварив міцний чорний чай з лимоном, сісти в крісло - вікно на роспашку щоб заходило більше кисню відкрити таск і глянути
Не на максимум, але уважно. Без фанатизму, але як кажуть з турботою.
Бо знаю шо доручити комусь не можу - фіча складка і щоб людині розібратися треба багато часу а його тупо нема саме сьогодні, і ніхто крім тебе.
Бо іноді головне не бути 👻, а просто зробити по-людськи.

А у вас бували такі дні?

Коли тіло каже "відпочинь", а таск "не час".

Коли ніхто не скаже "спасибі", але ти все одно зробив.

Коли чай це не напій, а coping mechanism.

Всім гарного рабочего дня - Вихідні вже скоро 🫰🏻

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

Який порт найімовірніше використовується додатком, якщо він працює через HTTPS?
Anonymous Quiz
12%
(A) 80
6%
(B) 22
38%
(C) 443
44%
(D) 8080
🤔8👍6👀31
Bug or Defect?
Завдання дня для QA:

Який запит виглядає найправильніше?
Статистика дуже тісна для кожной відповіді, зроблю коротке роз'яснення цього пула


Чому (А) неправильно

GET-запити використовуються для отримання даних.
Вони не повинні мати body. За стандартом HTTP, GET ігнорує тіло запиту.
якщо вже фільтрація (наприклад, role=admin) повинна передаватися через query-параметри типо як приклад GET /api/users?role=admin

Чому не (B)
Сумнівно и Частково неправильно
POST зазвичай використовується для створення ресурсу.
Якщо ми робимо POST на /api/users/123, це ніби як створення з фіксованим ID, що не є стандартною практикою за часту ID присвоює сам сервер - і так є проекти які використовую POST і для DELETE/UPDATE/ADD

Чому же всеж це саме (C)
PUT використовується для повного оновлення ресурсу.
Ми звертаємося до конкретного користувача з ID 123 і передаємо нові дані.
Тіло запиту (body) містить оновлену інформацію це повністю відповідає REST-стилю.

Ну і (D)
DELETE запити не потребують тіла.
Уся необхідна інформація вже міститься в URL (/api/users/123), тому body зайвий.
Більшість серверів ігнорують body у DELETE-запитах.

Вроді пояснив, але якщо у вас є зауваження чи щось додати - Welcome


Буду дуже вдячний за підписку і поширення групи 🤗🤗🤗

https://t.me/BugOrDefects
👍288🔥2
Всім доброго вечора - А ви чули, що Google там накрутив на своєму I/O 2025? для Google meet, цікава штука слухайте - пару років тому це б мені би спростило життя на мітенгу.

У мене був колись мітинг з dev-командою з Аргентини то 50% часу я гуглив, що вони кажуть. Зараз просто включив би переклад і слухав, як серіал в Netflix.

І так це ні, це не ще один “AI для всього”, цього разу реально щось цікаве і корисне для нас, QA-шників.

Реальний переклад відеодзвінків в Google Meet голосом, з інтонацією, в реальному часі.
Не субтитри, не сухий Google Translate.
А прям дубляж, як у кіно, людина говорить англійською ти чуєш українською або іспанською, і при цьому її голос, інтонація та навіть емоції залишаються.

І звучить це не як робот, а як вона ж, тільки ніби навчилася українську за ніч

Що вони під капотом накрутили?
Все це крутить Gemini AI та сама нова модель, яка зараз всюди, в Gmail, у Google Docs, а тепер і в Google Meet.
Використовує speech-to-speech трансляцію, не тільки розпізнає мову, а й імітує голос перекладом.

Чим це може бути корисно для нас QA і команд

Тобі погано з англійською, але мітинги з клієнтами, щодня?
Розробник пояснює, що там у новому endpoint-і, а ти ловиш кожне третє слово?
Тімлід говорить німецькою?
У тебе співбесіда з найм-групою з US, а в голові тільки "My name is test-case..."?

Тепер можна реально включити дубляж і просто слухати. Це мінус стрес, плюс продуктивність.
І не треба потім питати: “А що він там сказав про deadline?” ГГиии😬

Що потрібно, щоб запрацювало?

Підписка: Gemini AI Pro або Ultra (остання коштує $249.99/міс), Ціни як MacBook, але не для всіх компаній це проблема, може ще припустять для людей))
Поки що працює з англійської/ іспанської, але скоро буде ще німецька, італійська, португальська
Української поки нема, але я думаю це питання часу особливо з ростом глобального ринку

Що з безпекою?
Google каже, “AI слухає, але не запам’ятовує”. Тобто дані мітингів не йдуть в тренування моделей.
(Як воно там насправді покаже час, але звучить ок.)

Функція може стати маст-хевом не лише для QA, а й для продуктових, сапорту, девів, всіх, хто працює в інтернаціональній команді, але ще не читав Шекспіра в оригіналі.

Що думаєте про таку фічу?
Користувались би?
Чи англійська вже норм, і не страшно?
А може, варто б таке у Zoom?

Напишіть у коментах або просто зробіть репост, хай продакт-менеджери побачать, що це 🔥

Ось Оригінальне відео з презентації Google I/O 2025 шоб було що в вечері подивитися а не ходячих мерців 😃 (там саме про фічу стартує з 10:10 (Introduction))
https://www.youtube.com/watch?v=o8NiE3XMPrM

Буду дуже вдячний за підписку і поширення групи 🤗🤗🤗
https://t.me/BugOrDefects
118👍5🤔5
This media is not supported in your browser
VIEW IN TELEGRAM
Всім доброго раночку друзі!! як ваши справи)

Ранкові історіі QA - Коли знову поклали прод після релізу в п’ятницю зранку!!

Я думаю вам же теж знайома ситуація особливо в п’ятницю зранку, коли реліз був о 6:00 бо маленька фіча, нічого не зламає" 😅 я сподіваюсь я такий не один

А потім зникає прод, PM нервово шарить по чату, девопс дивиться на графіки, а QA ховається за монітором і думає, чи не пора в еміграцію.

А у вас як проходять ранкові релізи? чи взагалі таке практикується?
Релізнули й пішли за кавою чи одразу в прод стрибати, як в Азкабан?

Діліться своїм досвідом, репостіть у команду і не забудьте, retry, не завжди спасіння 😎😎😎

Буду дуже вдячний за підписку і поширення групи 🤗🤗🤗
https://t.me/BugOrDefects
2😁182👍1
Bug or Defect?
Завдання дня для QA:

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

Результат відповідей чучуть мене здивував, але я розумію чому!! давайте коротенько розберу цей пул для вас 👀

і так чому же не порт 80 (А)
Так це HTTP без шифрування. Усе летить у відкритому вигляді тобто ні TLS, ні захисту. Використовується для звичайного веб-трафіку, але HTTPS тут точно не причому.

про порт 22 це взагалі інша тема (B)
Це якраз для SSH (Secure Shell) який у вас в наступньому пул, це інструмент для віддаленого підключення до серверів. Якщо ви зайшли сюди через HTTPS, а не в консолі щось колупаєте, то 22 вас не стосується

якраз чому саме Порт 443 (C)
HTTPS (HyperText Transfer Protocol Secure) це звичайний HTTP, але з бронею у вигляді TLS/SSL. І цей захищений трафік за замовчуванням іде через порт 443.
Цей порт бачить увесь світ, коли ви заходите на сайт із замочком

ну і лідер в пулі по вибору голосування Порт 8080
Це така собі резервна копія для HTTP. Ось тут нюанс у тестових і дев-середовищах HTTPS іноді крутять на 8080, 8443 чи ще десь, щоб не займати 443.
Але це нестандарт, тому найімовірніший варіант усе ж таки 443
Тут навіть якщо ви не вказали порт у браузері, він під капотом звертається до 443, коли бачить https://.


і так поки не забув
Ви завжди можете глянути, на якому порту працює бек (особливо в дев-середовищах), або в логах, або через netstat/lsof, або просто за URL


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

Буду вдячний за репост группи, + приєднуйтесь до нас)
https://t.me/BugOrDefects
🔥125👍3
🌞 Всім доброго ранку!

Сподіваюсь, що у вас все добре 🫶

Субота, треба трохи видихнути. І морально, і фізично.
У мене сьогодні тільки троє учнів до обіду, а далі відпочинок!
Ніяких історій, ніяких пожеж, тільки настрій і трошки користі для вас.

А тепер до справи. Ідея, яка може сподобатись мануальщику.

Як автоматизувати ручну перевірку API в Postman без танців з бубном.

Це не фул-автоматизація, але
Ти можеш написати прості тести прямо в Postman
І зробити це все навіть якщо ти не QA-автоматизатор

А головне це може замінити повторювану рутину типу “відкрив Postman, натиснув Send, глянув вручну”

Якщо вам буде цікаво, можу зробити серію коротких постів, як автоматизувати свої ручні перевірки в Postman без складного оточення, як я роблю на своїму прикладі. Поставте щось у коментарі під постом

А поки, випийте кави, сонця і тихої суботи 🤗


Буду вдячний за репост группи, +
приєднуйтесь до нас)

https://t.me/BugOrDefects
244👍11🔥1