Bug or Defect?
2.51K subscribers
237 photos
94 videos
1 file
213 links
Download Telegram
Всім доброго ранку друзі - як ваші справи, ну що ось і до України прийшла сонячна погодка) як у вас у нас в Одесі ну прям дуже жарко стало ☀️☀️☀️

З робочим понеділком! Поки хтось прокидається з кавою, а хтось із Jenkins-ом, у мене для вас свіжа історія, де головну роль грає саме той Wireshark.

Ранкові історії QA

Вчора мав урок з учнем все як завжди гугл міт, бо в зумі корпоративний акаунт, демонстрація, спокійна ранкова атмосфера. Але… звук з відео не стрімиться. Наче все ок, але нічого не чути.
Meet мовчить, Windows каже все норм, браузер як завжди нічого не пояснює.

Думаю зараз запушу Wireshark хоть подивлюсь що там бо переподключеня теж не допомогає( а час іде.

Запускаю Wireshark, обираю Wi-Fi інтерфейс, вбиваю фільтр
stun  turn  rtp  rtcp  udp.port==3478

(порти WebRTC-з'єднань)

І що я бачу? Немає взагалі жодного STUN/UDP трафіку.
Тобто WebRTC навіть не стартує.

А тепер головне…

Я ж сам колись тестував, як працює блокування мікрофону в браузері, і… відключив йому доступ руками. Забув.

Як кажуть, сам дурак, тепер думай.

Просто браузер мовчки не дає мікрофон, WebRTC не запускається, а DevTools про це нічого не каже.
meet чесно
Нема навіть спроби. Друже, йди в permissions.

Пішов, вручив дозвіл і все одразу запрацювало. Я прям не знаю але в браузері є дира - чому він не перезапросив пермішен не понятно, але як є.

для мене wireshark це просто ТОП
то шо я вам хочу сказать - качайте вже https://www.wireshark.org/ і хай лежить під рукой
а це вам міні-гайд для QA, коли DevTools не рятує

- Фільтри для WebRTC-дебагу
stun || turn || rtp || rtcp



- Чи стартують взагалі сесії?
ip.addr == x.x.x.x



- Перевірити трафік до/з конкретного хоста
udp.port == 3478 || 19302



- STUN/TURN на Google чи свої сервера
frame contains "some string"

- Шукати щось по ключовому слову

Можна зберегти .pcapng і кинути девам як лог



Навіщо це знати?

Коли браузер і UI мовчать, Wireshark не збреше

Бачиш, що реально летить по мережі

Вловлюєш, чому WebRTC не працює хоч DevTools і німий

Ідеально для десктоп-клієнтів або мобільних, де немає консолі

Як висновок
Коли у тебе "все ок, але не працює" це не баг, це permission 😅
Інколи достатньо одного “дозволити” в браузері, щоб не втрачати годину життя.

Дякую Wireshark, ти як завжди знаєш, що мовчить UI.

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

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

https://t.me/BugOrDefects
#qa #Wireshark #consolcommand
5🔥177👍6
Завдання дня для QA:

Користувач каже, У Chrome відео працює, а в Safari чорний екран. Звук є, а зображення нема. У вас там щось зламалось!"
Anonymous Quiz
7%
(A) Safari не підтримує MP4
6%
(B) Chrome кешує відео, Safari, ні
80%
(C) Відео закодоване у форматі, який Safari не підтримує
7%
(D) Це сервер блокує Safari користувачів
👍8🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
Всім привіт, друзі, як ваші справи? 😊

Гіфка ну це прям класика жизні, коли твої знайомі регулярно зі смішком в голосі кажуть

Та шо тобі, ти ж з дому працюєш, встав в 12, кришку ноута відкрив, в 6 закрив і знову відпочивай...

І от ти такий панічно-істеричний сміх,

бо
з 8:00 ранку мітинги а далі одразу флоу, флоу, баг, лог, тест кейс, апрув. обід? ахах, ну так, був йогурт десь між дзвінками, і очі вже не фокусують, бо пів дня з логами, консольками, дебагами

Але так, я ж з дому працюю 😅


у вас теж є такі друзі/знайомі?

Всім гарного вечора! Не забудьте поїсти і моргнути
7😁22💯9👍32🤣1
Доброго ранку, друзі! 🌞

Слухайте, ви теж такі сумашедші до навчання?, людина яка не може просто відпочити ввечері.
Вчора думаю зайду на 10 хвилин в Sololearn (оце класна штука, до речі). Налетів на той болючий SQL
Бо в тестах вже бачу запити, JOIN-и, агрегати а треба ж не тикати навмання, а хоч трохи розуміти, що відбувається.

І шо ви собі думаєте я залип до 2 ночі.
Спочатку базовий SELECT, потім WHERE, потім GROUP BY... і так далі, ну прям не відірватися.

А загалом апка прикольна, я її ще на початку юзав коли ше пітов вчив, вона не як нудний підручник, а як інтерактивну гру.
Пройшов рівень? Молодець, тримай ще.
Не пройшов? Подивися підказку, подумай ще раз, але без булшиту.

Короче якщо ви теж хочете прокачатися по SQL, Python, JS, або просто розігріти мозок, рекомендую від душі, потім подякуєте.

https://www.sololearn.com/en/
Вона точно є на Android / iOS, безкоштовна, з норм UX і без нав'язливих продажів.

А тепер до кави і в jira хай сьогодні всі dev’и скажуть (ого, як ти це знайшов?) 😉

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

https://t.me/BugOrDefects
#sololearn #qa #ранковіісторіі
319👍7🔥4
Завдання дня для QA:

Ви тестуєте мобільний додаток для відеодзвінків. Трафік іде не через HTTP, а через інший протокол, в Wireshark видно що це Protocol: RTP Що таке RTP?
Anonymous Quiz
13%
(A) Протокол шифрування відео в реальному часі
57%
(B) Протокол потокової передачі аудіо/відео в реальному часі
19%
(C) Протокол типу FTP, тільки для відеофайлів
12%
(D) Веб-протокол для вбудованого плеєра в браузері
🔥94👍3🥴2
Доброго вечора, друзі! Як ваши справи? як пройшов ваш день?

Бачу, тема з Wireshark вам зайшла, Мені прям писали "а які фільтри ти сам юзаєш?”, “а як перевірити, слухає нас сервер?”, і т.д.
Так що тримайте міні-гайд, все, що сам юзаю на проектах, особливо з VoIP, WebRTC і API.

1. Дивимось пінг

icmp

- поачимо ICMP трафік (власне ping)

icmp && ip.src == 192.168.1.50

- пінг з нашої машини

icmp && ip.dst == 192.168.1.50

- пінгують нас

2. Сервер слухає нас чи ні

tcp.port == 443 && ip.dst == <ip_сервера>

- трафік до сервера

tcp.port == 443 && ip.src == <ip_сервера>

- відповідає він чи ні

3. Слухаємо ми чи ні (UDP)

udp && ip.dst == <наш_ip>

- трафік до нас

udp && ip.src == <наш_ip>

- ми щось шлемо

4. STUN / ICE / Janus / WebRTC

stun

- трафік STUN

stun && ip.addr == <ip>

- фільтр по айпі

ice - якщо клієнт явно використовує ICE (не завжди працює як keyword)

frame contains "candidate"

- шукати SDP candidate з ICE

frame contains "janus"

- трафік через Janus Gateway

5. HTTPS / HTTP

http

- класичні HTTP запити

tcp.port == 443

- HTTPS (але тіло не побачиш без SSL decrypt)

http.host contains "example.com"

- запити на певний домен

6. Вебсокети

http.request.uri contains "ws"

- handshake WebSocket

tcp.port == 8080

(або інший, який знаєш для WS)

7. UDP / TCP / RTP трафік

udp.port == 5004

- часто RTP йде через цей порт

rtp

- Wireshark може розпізнати RTP (але не завжди)

tcp && ip.addr == <ip>

- весь TCP до/від IP

8. Сканери та цікавість в мережі

arp

- хто в локалці пробує щось запитати

dns

- хто і які домени шукає

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

А це вам як бонус - які команди можуть бути корисними і для чого, про те шо питали в коментарях

Telnet / Netcat / Firewall / Traceroute

telnet <host> <port>

- перевірити, відкритий порт

nc -vz <host> <port>

- те саме, але сучасніше

tracert <host> / traceroute <host>

- маршрут до сервера

nslookup <host>

- перевірка DNS

dig <host>

- теж DNS, більш детально

iptables -L

- дивимось, чи не блочить щось локальний firewall

firewall-cmd --list-all (CentOS/RHEL)

- теж про firewall

frame contains "Connection refused" - ловимо відмови

Curl / HTTP / HTTPS трафік

curl -v https://example.com

- бачимо повний хендшейк

curl -I https://example.com

- тільки заголовки

tcp.port == 443

- HTTPS

tcp contains "Host: example.com"

- фільтр для певного хоста

Docker / K8s / Pod info

docker ps -a

- які контейнери запущені

docker logs <container>

- що логають

kubectl get pods -A

- всі поди, всі неймспейси

kubectl describe pod <pod>

- конфіг + івенти

kubectl logs <pod>

- стандартні логи

ps aux | grep <name>

- чи працює процес

netstat -anp

- які порти слухають

lsof -i :<port>

- хто слухає порт

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

Буду дуже вдячний за репост группи, +
приєднуйтесь до нас, дякую за активність на каналі - це гріє))

https://t.me/BugOrDefects

#qa #Wireshark #consolcommand
3🔥124👍3❤‍🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Всім доброго ранку! ☀️
Як ваш настрій? У мене сьогодні без історій, день як день, треба інколи і по-чесному попрацювати 😅

Але не можу не поділитися щоб трохи підняти вам настрій.

Я, як і всі, іноді заглядаю в куа-канали. І от майже скрізь, особливо початківці каналів, роблять графіки, таблички, стандарти, "життєвий цикл бага" у форматі ISO 9999…
І все б нічого, але на практиці воно часто виглядає зовсім інакше.

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

А у вас як? Бувало подібне? Поділіться, давайте поговоримо, цікаво порівняти як у кого

Всім гарного дня і не забувайте про чашечку кофа🤪
4😁2432
Завдання дня для QA

У нас сервіс впав на stage. Шо робить QA? Ти заходиш на Linux-сервер. Треба швидко глянути логи, але тобі не сказали, де вони. З чого почнеш?
Anonymous Quiz
21%
(A) journalctl -u назва_сервісу
35%
(B) cat /var/log/syslog або dmesg
26%
(C) docker logs імʼя_контейнера
17%
(D) grep -i error
👍12🥴7🔥1
Друзі, є питання до тих, хто здавав або готується до ISTQB

Може хтось з вас вже проходив цей квест і вижив? 😄

Що саме я шукаю
- адекватну літературу / шпаргалки / чеклісти для підготовки
- може хтось писав свої конспекти або має щось авторське
- ну і досвід тих, хто вже здавав в новому форматі (бо щось там міняли ж, так?)

напиишіть в коментарі або мені в лс, буду вдячний дуже, буде корисно не тільки мені, а й іншим хто нас дивиться.
12👍4🙏2
Доброго ранку, друзі!
Вже друга чашка кави☕️, розбирав пошту і згадав вчорашній вечір…

Ранкова історія QA:

Вчора під кінець дня, десь близько 17:00, прилетів emergency-ішью.
На перший погляд, нічого страшного. Шаги є, баг ніби зрозумілий.
Але от халепа, репродюс не вдається.
Поліз у логи, почав будувати в голові хоч якусь логіку подій, вичитував лінії за лінією…
І що? Залип до 11 вечора, поки не склав цей пазл.

Вже під кінець добив відтворення, і далі пішло як по маслу, підтвердив баг, оновив кроки, зібрав флоу.

Але ось питання до вас, як ви дієте в такій ситуації?

Коли вже робочий день закінчився, а репродюс не вдається.

Допрацьовуєте, щоб не загубити думку?

Чи відкладаєте на наступний день, щоб прийти зі свіжою головою?

Мені цікаво почути ваш досвід, як ви ловите ці невловимі баги?
Пишіть у коменти або просто сердечко, якщо бувало схоже

Пізніше складу вам крутий пост про ШІ інструменти які сам попробував 🤯

Буду дуже вдячний за репост группи, +
приєднуйтесь до нас, дякую за активність на каналі - це гріє))

https://t.me/BugOrDefects

#РанковіІсторіїQA #тестування
328👍41🔥1
Bug or Defect?
Вертаючись до теми про AI, перед сном прочитав прикольну статтю, зацініть😊 як вам?? Всім надобраніч, тихої ночі 🤗🤗🤗 https://softwaretestingnews.co.uk/ai-in-quality-assurance/ #ШІ #qa
Продовження до цього посту це прям дуже актуальна тема, і я часто чую від колег, учнів та й друзів, "А що ти юзаєш і для чого?"

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

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

5 безкоштовних ШІ-інструментів, які допомагають QA)

ChatGPT
База. Може згенерити тобі будь шо, баг-репорт, SQL, пояснити логіку regex чи запитів.
Але з ним буває так, або злетиш, або зависнеш, бо не бачить зображення і складні штуки іноді просто вигадує.
- Підійде для "на чернетку".

Perplexity AI
Прям дуже крутий, якщо не хочеш копирсатися в гуглі.
Пишеш щось типу, "RTP vs SRTP: різниця в WebRTC", і він видає з посиланнями та поясненнями, де нормально можно почитати шось самому)
- Прям як Google із мозгами, тільки для QA.

Google Gemini
Спочатку ставився скептично, але потім вловив суть.
Коли ChatGPT починає вигадувати, Gemini реально тягне свіже з інтернету.
- Добре розгрібає API, системи, нові поняття саме те, що QA часто шукає.

Scribehow
Прям магія. Ти клікаєш по UI а він сам пише інструкцію типу
Натисни сюди, введи це, перейдіть туди... з картинками.
- Дуже зручно, якщо треба швидко пояснити, як щось робити.

ChatGPT Vision (у Pro)
Так, дорого - але це окремий кайф.
Розбере по поличках будь-яку помилку в Linux і ще й сам запропонує, як пофіксити.
- Коли нема часу розбиратися, це як старший QA біля тебе, тільки в п’ять разів швидший.

Якщо чесно і коротко
Не треба бути AI-фанатіком, особливо на старті кар’єри. Бо можна потрапити в ситуацію, коли ти нічого не знаєш, а за тебе все робив AI.
А коли спитают, відповіді не даси.

Але юзати ці інструменти, це просто бути швидшим QA.
Це як Wireshark чи Postman, хто вміє, той проходить без затримок.

Поділіться, може, комусь із колег врятує вечір 😄

А ви чим більше користуєтесь? Давайте в коментарі)



Буду дуже вдячний за репост группи, +
приєднуйтесь до нас, дякую за активність на каналі - це гріє))

https://t.me/BugOrDefects

#РанковіІсторіїQA #тестування #ШІ #AI
218🔥6👍42
Доброго ранку, друзі! сподіваюсь з вами все добре 🤗

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

І от тут почалось
Один каже

"Та навіщо? Головне є комп, стілець і все, можна працювати."

Другий взагалі

"Та яка різниця? Є місце, працюй."

А я от вперто залишився зі своєю думкою.
"Work setup matters."

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

А як у вас?
Важливе для вас робоче місце?
Хотіли б зробити собі робочий dream corner?
Чи для вас це взагалі не грає ролі?

Фото, мій куточок, поки що в процесі апгрейду 😉
3👍24🔥72🤗2
Завдання дня для QA:

Клієнт підключається до мережі через DHCP. Після цього він не має доступу до інтернету, але отримав IP-адресу. Питання: Що найімовірніше є причиною проблеми?
Anonymous Quiz
5%
A) DHCP-сервер не працює взагалі
71%
B) Клієнт отримав IP, але не отримав DNS або шлюз
1%
C) У клієнта застарілий кабель Ethernet
22%
D) DHCP видав IP, який уже використовується іншим пристроєм
🔥72
Bug or Defect?
Завдання дня для QA

У нас сервіс впав на stage. Шо робить QA? Ти заходиш на Linux-сервер. Треба швидко глянути логи, але тобі не сказали, де вони. З чого почнеш?
Всім доброго дня - поки пішов на обід думаю треба зробити розбір цього пула.

Чому це не (B) хоча вона на першому місці при відповідях
cat /var/log/syslog або dmesg це старі, але не перші, це знаєте як шукати Айфон у коробці з кнопковими телефонами.

syslog - це системний лог, а не лог конкретного сервісу.
dmesg - це лог ядра Linux. Там будуть помилки драйверів, падіння через Out Of Memory але не апки напряму.

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

Чому не (С) хоча він на 2 місці по відповідям.
docker logs імʼя_контейнера тільки якщо знаєш, що сервіс у Docker
Інакше, просто не спрацює.

Так, якщо сервіс у Docker це must have.
Але в умові не сказано, що це контейнер.

Виходить якщо одразу підеш в docker logs, а там нічого нема, як кажуть втратив час.

Чому не (D)
Це як обшукати всю квартиру, бо не пам’ятаєш, де залишив ключі.

grep потужна штука. Але коли ти не знаєш, де саме шукати, можеш знайти щось випадкове, не пов’язане, або взагалі потонути в шумі.

Це вже панічний режим, коли всі інші варіанти не дали результатів.

ну і саме чому це (A) правильна відповідь.
journalctl -u назва_сервісу це дефолтна точка входу для всіх systemd-сервісів.

Якщо сервіс запущений через systemd (а на проді в 90% випадків так і є)
всі його логи летять у journald.
А journalctl -u це прямий доступ до цих логів. Ніякого хаосу.

Це як ввімкнути фільтр на Netflix бачиш тільки те, що стосується конкретного сервісу.

Краше всього поки ти не знаєш точно, де апка живе, треба почяти з самого універсального
journalctl -u, бо майже все на systemd.

Ну а далі вже за ситуацією
- Docker - docker logs
- K8s - kubectl logs
- Nginx - /var/log/nginx/

А якщо вже нічого не зрозуміло то як кажу нам сюди - grep -i error з кавою в руці.

Сподіваюсь зрозуміло розписав) якщо є що додати буду радий це обговорити)

Буду дуже вдячний за репост группи, +
приєднуйтесь до нас, дякую за активність на каналі - це гріє))

https://t.me/BugOrDefects

#ЗавданняДняQA
2❤‍🔥7🔥621
Всім доброго вечора! як пройшов ваш день? вже багато хто п'є не кафееее) а щось по цікавіше - а хтось тупо протяг ніжки в шось дивиться)

але я вже дам вам почитати - а в понеділок ви поюзаєте)

Вечірній пост, для тих, хто не боїться .apk і консолі

Я сьогодні відкрив для себе (або нагадав собі, бо давно десь чув) один кайфовий інструмент, APKLeaks.
це більше для мобайшиків але і не тільки)

Якщо коротко це тул для аналізу .apk-файлів, який вишукує: API ключі / токени / secrets / URL-и бекендів, і інші штуки, які там НЕ МАЮТЬ БУТИ

Ідеальний варіант для перевірки безпеки Android додатку або коли хочеш просто зрозуміти, з ким він "розмовляє" а доступу до коду нема.

Як поставити (Linux/macOS)
pip install apkleaks


або, якщо хочеш форк з гітхабу,
git clone https://github.com/dwisiswant0/apkleaks
cd apkleaks
pip install -r requirements.txt



Юзається взагалі дуже все просто.
apkleaks -f someApp.apk -o ./results.txt


І він сам,
- Розпакує .apk,
- Прожене через jadx (декодер Java з dex-файлів)
- Прогонить через regex шаблони (типу ключів AWS, Firebase, Stripe, та ін.)
- І все складе в нормальний звіт

Ну і як приклад навіщо це вам
- Перевіряєш, чи не лишили деви тестові токени/ключі в проді
- Можеш знайти URL до API, який не задокументований
- Або навіть зрозуміти бізнес-логіку, яку не описали в документації (бо документація — це завжди біль)

ну і бонус від мене це Фішки, які варто знати
jadx ти можеш юзати окремо:
jadx-gui someApp.apk
i просто погортати Java-код очима


Або витягнути AndroidManifest.xml так:
strings someApp.apk | grep http


Маленький хак
Іноді dev'и ставлять щось типу BuildConfig.API_SECRET = “test123”, і це лишається в apk навіть у релізі.
І якщо в тебе немає продакшн-логіну, але хочеш знати, куди летить запит, інколи саме тут знайдеш той endpoint.

Якщо хтось вже юзав, розкажіть, що знаходили?
І чи траплялось вам бачити прямо у проді відкриті токени?

Всім гарного вечора і вихідних - а головне тихіх, Всіх обняв 🤗🤗🤗
2👍1641🥴1
This media is not supported in your browser
VIEW IN TELEGRAM
Ну як же це Життєво, коли ви в парі) 😜🤪❤️

а я ще раз вам бажаю всім гарного вечора і вихідних - а головне тихіх, Всіх обняв 🤗🤗🤗
2❤‍🔥22😁1311🥴1
Привіт всім, з суботнім днем вас) як у вас справи?)

Сьогодні вам не докучаю)

Зараз настільки тісний ринок для QA, щоб попасти, просто на співбесіду треба такі танці з бубном, це жесть(

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

Сьогодні поки чекав машину з мийки, натрапив на цікаву статтю. від Swathika Visagn (старша QA в PwC UK) про те, як створити портфоліо та особистий бренд, щоб тебе помічали.


То що я хочу вам сказати, Робіть себе QAбрендом. Не просто шукай вакансії, нехай вони шукають тебе.


Ось саме посилання на статтю, потім скажете в коментарях як вам?

https://www.ministryoftesting.com/satellites/how-to-stand-out-as-a-qa-building-the-personality-and-portfolio-to-outshine


Гарного вам вихідного дня🌞🌞🌞
1❤‍🔥83💩2👍1
Всім доброго ранку друзі - як ваші справи?

ну що ось вам ранкова історія коли ти вже вроді на опиті але неуважність все одно стоїть і дихає тобі в спину))

Ранкова історія QA
В суботу ввечері сів підготувати env для заняття з учнем з яким ми дивимось практику, треба ж зробити нормальний пайплайн з запуском Postman-колекції через Jenkins + Newman. Думаю, “Та зараз за 10 хв все зроблю накатав скрипт, зібрав все до купи”. І тут почалось...

Колекція є, env файл є, Jenkins job створений, тести імпортовані з Postman запускаю... а воно не працює(

20 хвилин лажу, читаю логи, дивлюсь, нервуюсь, і раптом ловлю себе на тому, що просто переплутав агента і влупив bash-скрипт у Windows job.
Так, буває навіть у тих хто вроді QA 😅


Для тих кому цікаво і хто шарить шо таке Newman - ось вам міні гайд як все налаштувати з нуля (і не накосячити як я, щоб поклацяти)

Що таке Newman я вже раніше писав про нього вам, це якщо треба запускати все з терміналу або CI/CD
Newman це CLI-версія Postman. Завантажив колекцію, і можеш запускати її хоч у Jenkins, хоч з терміналу.
Коли хочеться напівавтоматизувати smoke-тест це прям ідеально

Встанови Newman
npm install -g newman


Треба щоб на Jenkins-агенті стояв Node.js (а значить і npm). Якщо нема, постав.

Експортуй дані з Postman
Колекція: collection.json

Environment: environment.json
(і не забудь в Postman'і обрати "v2.1" формат при експорті)

Протестуй локально, перед Jenkins
newman run collection.json -e environment.json --reporters cli,html --reporter-html-export report.html

Запускає Postman-колекцію з оточенням environment.json, виводить результат у консоль і зберігає HTML-звіт у файл report.html

Створити Jenkins Job (freestyle або pipeline)
Freestyle Job
Якщо Jenkins-агент Windows

Додаєш build step → Windows Batch Command
newman run collection.json -e environment.json --reporters cli,html --reporter-html-export report.html


Якщо агент Linux
Додаєш build step → Execute Shell
newman run collection.json -e environment.json --reporters cli,html --reporter-html-export report.html



ну і не забуваєм про Артефакти report.html:

Post-build Actions → Archive the artifacts → report.html

якщо для Pipeline Job
pipeline {
agent any
stages {
stage('Run Newman Tests') {
steps {
sh 'newman run collection.json -e environment.json --reporters cli,html --reporter-html-export report.html'
}
}
}
post {
always {
archiveArtifacts artifacts: 'report.html', fingerprint: true
}
}
}


опятьже не будь як я і уважно, якщо агент Windows заміни sh на bat, і команду відповідно

bat 'newman run collection.json -e environment.json --reporters cli,html --reporter-html-export report.html'



ну і мінімальні умови,
Newman стоїть на Jenkins-агенті

Є права на читання collection.json і environment.json

Jenkins бачить ці файли (краще положити їх в репозиторій, а не руками кидати)

Нащо це все взагалі?
Бо так ти
- запускаєш API-тести автоматом після кожного пуша
- отримуєш HTML-звіт по кожному run
- можеш швидко побачити фейли прямо в Jenkins

Моя думка така.
Час це дорого. Newman + Jenkins, це не “автоматизація” в стилі “на завтра”, а реальна економія вже зараз. Головнe, не писати bash у Windows, як деякі 🫣

Як ви? у вас теж ця не уважність буває докучає час від часу??
А у вас як? Колекції руками запускаєте чи вже CI прикрутили?

Взагалі хтось юзає newman? поділіться опитам??

Всім гарно дня, допиваєм Кофе і працювати)


📲 Буду вдячний за репост Групи.
https://t.me/BugOrDefects
#ранковіісторіїQA #newman #jenkins #postman #qaінструменти #cicd #небійсяспробувати
6🔥95❤‍🔥11🤩1😨1