TGViewer
Channel Public Channel
Subscribers
2.56K
Photos
243
Videos
100
Links
228

Showing posts older than #381 · Back to latest

Older Posts 20 shown
Post #380 650
Всім раночку 😊

Ніч була тривожною, особливо в Одесі
Тому перше, я щиро сподіваюсь, що ви всі цілі і були в безпеці,
Це зараз найголовніше. Бережіть себе 🙏

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

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

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

Гарного вихідного, друзі.

Обняв ❤️
  • ❤ 14
  • 🤗 7
Post #379 763
Всім доброго вечора ) ну щось ось і П'ятниця закінчилась - вже хтось відпочіває) а хтось поїхав гуляти)

а я як обіцяв вам зробити підбірку ресурсів де я іноді читаю інфу для QA

І от чесно я читаю. Але не книжку з методології тестування 2003 року
Я читаю те, що реально заходить, живе, свіже, іноді навіть з мемчиком.
Тому ловіть 4 ресурси, які мені сам відвідую)

https://bugbug.io/solutions/test-automation-for-qa/
Тут все простими словами про реально важливе, я якось вам вже скидав статью от сюда,
Читається легко, а сенс глибокий. Якраз те, що можна за кавою вранці прогортати і зловити ага!-момент.

https://softwaretestingnews.co.uk/
Коли хочеш подивитись, що там взагалі в світі тестування? Хто де згорів, а хто успішно задеплоїв

https://medium.com/testing-tales-by-swathi
Це скоріше не сайт, а тусовка. Іноді подкаст, іноді психотерапія для QA. Реальні історії, класні дискусії, трохи про життя, трохи про баги.

https://ukjournal.co.uk/software-testing-in-2025/
Трошки футуризму, але корисного. Про те, що нас чекає далі)

Якщо буде цікаво ставьте серденько)
Або кидай свої ресурси в коменти, мені теж цікаво, де ви зависаєте.

Обняв, гарного вечора ❤️
#читаємояклюди #qaчитання
BugBug Test Automation Tool for QA | BugBug.io Create and automate end-to-end tests effortlessly in less than 5 minutes with a reliable test recorder. No coding skills required.
  • ❤ 24
  • 🔥 4
  • ❤‍🔥 2
  • ⚡ 1
  • 👍 1
Post #378 621
  • ❤ 4
  • ⚡ 2
Post #377 627
Доброго ранку, банда!
П’ятниця вже тут, а це значить, що час налити собі кашечку кави, глянути на беклог і спробувати зробити вигляд, що все під контролем 😄

Чистим таски, оновлюємо доки, добиваємо пару фіксів і вже ближче до вечора можна переходити в режим не турбувати до понеділка.

А на відео, дуже сподіваюсь, що це не ваш продакшен сьогодні😂
Бо якшо так, то точно не до кави буде 😅

Як ваш настрій?

Обійняв 🫶
  • 😁 19
  • ❤ 2
  • 🤗 2
Post #376 623
Bug or Defect? Завдання дня для QA: Ти працюєш у гілці feature/login-page. Дев залив фікс у main, і ти хочеш підтягнути його собі без зайвих комітів. Що робиш?
Доброго вечора друзі)

Дивлюсь пул вийшов цікавим) давайте розберемо його коротенько як завжди.

і так чому це не (А)
Це як сказати, Хай історія моєї роботи і основна історія просто зіллються докупи. Зручно, але є це саме але,
У результаті з’явиться додатковий коміт, такий собі (зшивач) двох історій. Це ніби у твій щоденник вставили сторінку з написом Злиття. І якщо таких злиттів багато історія стає (заплутаною), довго шукати, де що змінилось.

Ну і я розумію чому саме більше всього (B), але все ж питання стояло по іншому)
Тут ви просите гіт завантажити всі нові зміни з main і зліпити їх у себе.
Так це Працює, але робить майже те саме, що і merge, тож коміти-злиття теж з’являться. Якщо ти хочеш чисту історію, цей варіант, не найкращий.

Чому ні (D) ну тут все коротко.
Це просто перейти у гілку main. Тобі не підтягне нічого в твою роботу, просто ти змінишся на іншу гілку. Для твоєї задачі, це не те, що потрібно.

Ну і чому саме (С) це правильна відповідь.
Оце справжня магія. Уявить, що ваша робота була як окремий блок LEGO, який ви будував трохи раніше. А тепер ти просто переробляєш цей блок, щоб поставити його вже після останніх нових деталей з основної конструкції (main).
В результаті твоя історія ніби (переписується), і виглядає, що ти почав працювати вже після того, як додали всі зміни з main. Ніяких зайвих злиттів, історія чиста і логічна. Ідеально для тих, хто хоче тримати порядок.

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

якщо просто rebase це як переписати історію, зробити все акуратно і красиво.

якщо є шо сказать, пішіть в коментарі поболтаємо)

Всім гарного вечора друзі - Обняв 🤗🤗🤗
  • 👍 7
  • ❤ 5
  • ❤‍🔥 2
  • 🔥 1
Post #375 627
  • 👀 7
  • 👍 3
  • ❤ 1
  • ✍ 1
Post #374 691
Привіт банда!

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

https://bugbug.io/blog/test-automation/software-testing-best-practices/

Там не вода, а прям по ділу, що треба кожному КУА, від мануальщика до автомейшена.
Вся сіль у простих речах, пиши плани не на завтра, а одразу/ тестуй незалежно/ не нехтуй логами/ тести в CI/CD маст хев ну і, будь ласка, метрики, це не тільки а скільки багів?😅

це прямо як для нас з вами для живих людей, які щодня між, ще не все задокументував (забув або відлікся на щось), ну і наше улюблене нам треба вже релізитись 😂

І да, пам’ятаю що ви просили зробити підбірку, де я беру круті матеріали для читання про QA / IT, я це зроблю!
На днях викладу окремий пост з добіркою

Обняв, гарного вам дня і нехай прод не буде ламатись 😁


#qaбудні #ранковастаття
BugBug Software Testing Best Practices for 2025 Discover proven software testing best practices to improve software quality, streamline QA workflows, and make your testing process more efficient.
  • ❤ 17
  • ⚡ 3
  • ❤‍🔥 3
  • 👏 1
Post #373 616
  • ❤ 10
  • 😱 9
  • 🔥 2
Post #372 706
Привіт друзі ☀️☀️☀️

Назовемо це ранкове відкриття и як Pandas працює на QA

Я натрапив на Pandas бібліотеку на Python, про яку раніше якось не задумувався, а тепер шкодую. Якщо ви тестуєте API, працюєте з масивами даних або валідуєте JSON ця штука реально економить купу часу.

Якщо вже знаєте Python спробуйте, воно варте того. а якщо ні може це той самий привід, щоб почати.

шо я маю вам сказати за той Pandas?
Це така бібліотека для роботи з табличками і списками, щось на кшталт Excel, але прямо в коді. Забуваєш про довгі цикли і крутіння словників пиши прості фільтри.

Наприклад, хочеш всі рядки, де країна Україна, просто робиш
df[df['country'] == 'UA']

і от готово.

як приклад,
Уявімо, тестуєш API, яке повертає список юзерів. Тебе цікавить, скільки користувачів з України, чи є дублі email-ів, хто не вказав email

Ось такий приклад відповіді з API
[
{"id": 1, "name": "Ihor", "email": "ihor@example.com", "country": "UA"},
{"id": 2, "name": "Anna", "email": "anna@example.com", "country": "UA"},
{"id": 3, "name": "John", "email": "john@example.com", "country": "US"},
{"id": 4, "name": "Anna", "email": "anna@example.com", "country": "UA"},
{"id": 5, "name": "Petro", "country": "UA"}
]

І скрипт на Python, як це перевірити

import pandas as pd
import json

# Читаємо жесон у змінну
with open("users.json", "r") as f:
data = json.load(f)

# Перетворюємо на таблицю
df = pd.DataFrame(data)

# Юзери з країни UA
ua_users = df[df['country'] == 'UA']
print("Користувачів з України:", len(ua_users))

# Дублікати емаіл
duplicates = df[df.duplicated('email', keep=False)]
print("Дублікати email:")
print(duplicates[['name', 'email']])

# Користувачі без емаил (відсутнє поле або None)
missing = df[df['email'].isnull()]
print("Користувачі без email:")
print(missing[['id', 'name']])


це зручно, не треба вручну лазити в кожен рядок

Весь масив даних видно одразу, можна швидко знайти проблеми

Легко тестувати сотні і тисячі записів

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

Висновок від мене:
Якщо працюєш з API і даними, Pandas реально вартий уваги. Це не тільки для дата-сайєнтистів, а й для QA, хто хоче зробити життя простішим.

Якщо вам цікаво, ставте серденько - дам вам круту шпаргалку по цьому)

Всім гарного дня, обняв 🤗
  • ❤ 25
  • 🔥 2
Post #371 647
Друзі, доброго вечора! 🌙
Як ви там? Ви теж у вічній запарі на роботі чи вже релакс?
А то щось тихо сьогодні, активності нул, всі закопані в таски?

Ану признавайтесь, на відео себе впізнали?

Бережіть себе 💛
  • 😁 11
  • ❤ 3
  • 🤣 2
Post #370 667
  • ❤ 7
  • 👍 4
Post #368 651
Всім доброго раночку, банда!
Як ваш настрій? На дворі сонечно, ну це прям кайф 💛

Вчора отримав круте питання, от просто в саме серденько.

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

Та шо сказати, магії тут нема
Все, що встигається, це завдяки плануванню, дисципліні і стікерам, яких на борді вже більше ніж в Trello

Як я це роблю? Робота, це святе, в робочий час фокус тільки туди.
- Учні це вечори/вихідні, окремо забиті в календар. ну і постійний борд + reminder от чесно, якби не вони, то я б вже загубився.
Буває, з одного уроку на інший переходжу в розбіг у 1 хвилину, без напоміналки злетів би )))

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

Ну от як це у вас відбувається?
Як ви керуєте своїм часом?
Чим користуєтесь, Google Calendar? Notion? Todoist? Excel-файлик на робочому столі?
Може є якісь лайфхаки, без яких ви б уже поплили?

Поділіться, буде цікаво і мені, і всім хто читає
Бо як казав один мудрий QA, розгребти беклог, то одне, а от знайти на це час, зовсім інше 😄

Всім гарного, продуктивного дня і побільше сонця в душі ☀️☀️☀️
Обняв!
  • ❤ 14
  • 👍 3
  • 👏 1
  • 🥴 1
  • 👨‍💻 1
Post #367 715
Bug or Defect? Привіт банда) Як і обіцяв, сьогодні трошки про ту тему, яка чомусь часто пролітає мимо, скрипти в Postman Pre-request і Tests. Але як казав один мудрий QA, якщо у тебе ріквести йдуть у флоу, не використовувати параметризацію це просто злочин. І я повністю…
Привіт, банда! 👋

Як і обіцяв, сьогодні розповім про ті штуки, які виглядають страшно, але на ділі, просто must have, якщо хочеш бути не просто тикальщиком у Postman, а QA з повагою до свого часу )

Ну ось коротенько вам про postman.setNextRequest() це коли треба динамічний флоу
Ідея яка, умовно ти хочеш в залежності від відповіді переходити до іншого запиту. Це як if/else в коді, тільки в Postman.
if (pm.response.code === 401) {
postman.setNextRequest("Auth Request");
} else {
postman.setNextRequest("Main Flow Step 2");
}


Як це працює, після поточного запиту Postman автоматично викликає вказаний. Можна реалізовувати умовну логіку, якщо токен не валідний, авторизуйся, якщо все ок, йди далі.

І так працює тільки в Runner, не в одиночному запуску, але я може шось не знаю і вже змінилось це)

pm.iterationData, це для Data-Driven тестування
Умовно у вас є колекція запитів, і треба запускати їх з різними наборами даних (логіни, email-и, конфігурації).

Робиш CSV або JSON з даними (типу users.csv)
login,email,password

qa_user1,user1@example.com,qwe123
qa_user2,user2@example.com,asd456



І ось у скриптах використовуєш
pm.iterationData.get("login")

pm.environment.set("test_login", pm.iterationData.get("login"));
pm.environment.set("test_email", pm.iterationData.get("email"));
pm.environment.set("test_password", pm.iterationData.get("password"));

І кожен запуск буде бігти з новими даними

Як їх можно комбінувати? впринцепі не дуже складно але треба зрозуміти логику

ну ось вам приклад реального флоу
Тестуємо створення акаунта, авторизацію, запит до захищеного ресурсу
ЗАпис Created User
const user = {
login: pm.iterationData.get("login"),
email: pm.iterationData.get("email")
};
pm.environment.set("test_login", user.login);
pm.environment.set("test_email", user.email);


Дали запит на логін.
const login = pm.environment.get("test_login");

pm.test("Логін успішний", () => {
pm.response.to.have.status(200);
const res = pm.response.json();
pm.environment.set("access_token", res.token);
});

postman.setNextRequest("Отримати Профіль");


запит на отримання того чи іншого профілю
pm.test("Профіль OK", () => {
pm.response.to.have.status(200);
});


Поінт який, Якщо маєш 2+ ріквести, роби з них флоу.
Якщо тестуєш багато різних даних, не копіпасти руками, а юзай pm.iterationData.

Це не full-scale автомейшн, але це вже QA, який поважає свій час

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

Може ще хочете продовження з більш складними прикладами (pre-request, custom utils, або інтеграція з Newman)?

Всіх Обняв, Гарного вечора вам 🤗🤗🤗
  • 🔥 23
  • ❤‍🔥 5
  • 👍 3
  • ❤ 1
  • ⚡ 1
  • 🥴 1
Post #366 657
  • 🔥 9
  • 👏 2
Post #365 652
Всім доброго ранку і гарного старту тижня!
Понеділок день, коли кава закінчується швидше, ніж таски)

І знаєте, буває такий момент, коли щось не працює. І ти такий ходиш, думаєш:
«Ну точно хтось натупив. Хто це зробив? Хто там міг поламати?
А потім копаєш, і та-дам
це ж Ти сам і зробив ту бяку ще у п’ятницю 🫠

От на відео, прям я в такі моменти
(коли ловлю сам себе за хвіст у багрепорті)

Друзі, бажаю вам сьогодні не ловити самі себе, пити теплу каву і не забути те, що зробили в п’ятницю 😅
А якщо забули, нічого, головне чесно зізнатися самому собі й порішати!

Обняв, гарного понеділка!
#qaбудні #ранковіісторіїQA
  • 😁 16
  • ❤ 5
  • 👍 2
  • 🔥 2
  • 🥴 1
Post #364 780
Bug or Defect? 🌞 Ранковий QA-постик 🌞 Друзі всім привіт, як ваші справи? Субота, вихідні, час трошки перевести подих, ну, це якщо ти не я, бо сьогодні ще 3 уроки з учнями, але я радий, це для мене в кайф На відео це буквально я вчора, один фікс, і за ним 1005000000 регресій…
Привіт банда)

Як і обіцяв, сьогодні трошки про ту тему, яка чомусь часто пролітає мимо, скрипти в Postman Pre-request і Tests.
Але як казав один мудрий QA, якщо у тебе ріквести йдуть у флоу, не використовувати параметризацію це просто злочин. І я повністю згоден.

Я знаю, ніхто не любить скрипти в Postman'і, бо все ж працює.
Але давайте чесно, ти або тикнеш 50000000 разів руками, або один раз напишеш нормально, і потім живеш.

Так от що це таке страшне ці Pre-request + Test scripts, це прям твій внутрішній автотестер у Postman.
Вони юзаються для того, щоб передати id, token, username між запитами, згенерити унікальні значення типу емейлу, логіна, дати, одразу провалідити респонс і зберегти щось в env
ну і що головне, працювати з Postman як з легенькою автоматизацією, не тільки ручками тикати.

так ну что я написав вам стандартні і те шо юзаю за часту і показую на уроках для своїх учнів)

1. Pre-request script і готуємо дані до запиту
Унікальний логін
const rnd = Math.floor(Math.random() * 10000);
pm.environment.set("test_login", test_user_${rnd});


це щоб створити унікальний логін користувача на кожен запуск, і не ловити помилку (користувач вже існує.
Зручно при тесті реєстрації, створення акаунтів, унікальних назв.


2. Валідний email
const email = user_${Date.now()}@example.com;
pm.environment.set("test_email", email);


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


3. Дата створення та завершення
const now = new Date();
const plus10 = new Date(now);
plus10.setDate(now.getDate() + 10);


const nowISO = new Date(now.getTime() - now.getTimezoneOffset() * 60000).toISOString();
const plus10ISO = new Date(plus10.getTime() - plus10.getTimezoneOffset() * 60000).toISOString();

pm.environment.set("created_at", nowISO);
pm.environment.set("expired_at", plus10ISO);


це тут ставить дату зараз + через 10 днів у правильному ISO-форматі (з урахуванням таймзони).
Супер для створення сесій, подій, об’єктів з датами дії.

Це вже ми про Test Script

4. Перевірка статусу + збереження ID та токена
pm.test("Status 201 — Created", function () {
pm.response.to.have.status(201);
});

const res = pm.response.json();
pm.environment.set("user_id", res.data.id);
pm.environment.set("access_token", res.data.token);


Перевіряємо, що об’єкт створено (201) чи можемо на любий статус код і зберігаємо id + token, щоб далі юзати їх в наступних запитах без копіпасту, тобто налаштував собі env всі данні в зміні автоматично записалися і в наступному запиті полетіли)
Це ключова зв’язка для побудови флоу із декількох запитів.

5. Валідація структури відповіді
pm.test("Поле name — рядок", function () {
const data = pm.response.json().data;
pm.expect(data.name).to.be.a("string");
});


а це щоб одразу перевірити, чи в полі name реально приходить рядок, а не null, object, або взагалі undefined.
Добре ловить непомітні проблеми типу бекенд вернув щось не те, але ти не помітив.

Мій поінт такий, якщо в тебе є більше ніж 1 запит і між ними летять якісь змінні - скрипти, твої друзі.
Це не автоматизація в класичному сенсі, але це QA-професіоналізм, якому не треба соромитись.

А хто ще не пробував, спробуйте, це реально спрощує і покращує вашу щоденну роботу.

Сподіваюсь коротко вийшло але зрозуміло

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



Якщо пост зайшов і був корисний, ставь серденько)

Зберу фідбек і знайду час напишу для вас окремий ше пост де розповім про

setNextRequest як будувати динамічні флоу ну і pm.iterationData щоб робити data-driven тести


Гарного вам дня і вечора) 🤗🤗🤗
  • ❤ 47
  • ❤‍🔥 5
  • 👍 3
Post #363 654
  • ❤ 10
  • 👍 4
  • 😢 1
Post #362 664
🌞 Ранковий QA-постик 🌞

Друзі всім привіт, як ваші справи?
Субота, вихідні, час трошки перевести подих, ну, це якщо ти не я, бо сьогодні ще 3 уроки з учнями, але я радий, це для мене в кайф

На відео це буквально я вчора, один фікс, і за ним 1005000000 регресій, які ми ще будемо розгрібати понеділок-п’ятниця 😅

А ще, помітив от яку штуку. Уже не перший раз проводжу уроки по Postman, і кожен раз дивуюсь env, pre-request, post-respons і test scripts майже ніхто не юзає.

А це ж просто мастхев для нормального API тестування. Не обов’язково одразу все автоматизувати, але базовий сетап, це вже 50% профі-роботи.

Тому сьогодні ще підвечір спробую скласти пост на цю тему, з прикладами, сценаріями і поясненням, для чого вони реально потрібні.

Якщо цікаво, поставте 🔥)
Всіх обняв, гарного дня і настрою, і кава щоб була смачна.

#ранковіісторіїQA
  • 🔥 45
  • ❤ 3
  • 😁 2
Post #361 655
  • ❤ 3
  • 👍 3
Post #360 670
Друзі, всім привіт! Як ваші справи?

В Одесі сьогодні було дуже гучно, але сподіваюсь, ви всі в безпеці і цілі 💛💙

А я вже з 6 ранку, вже дві кафусі бахнув, і поліз в роботу, бо кінцівка спринта така, шо аж нікуди, питання, фікси, блокери, все й одразу 🤯

Бажаю вам продуктивного, але спокійного дня. Не забувайте відпочивати)

А відео для підняття настрою

Ну цеж прямо класика коли до тебе такі приходять

Все, релізнемось сьогодні, поїхали!
А ти, Який реліз? Я навіть ще не дивився, шо там!

Всіх обняв 🤗🤗🤗
  • ❤ 12
  • 🤣 8
  • 🥴 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →