Завдання дня для QA:
Що з наведеного найкраще описує роль заголовка Content-Type в HTTP-запиті?
Що з наведеного найкраще описує роль заголовка Content-Type в HTTP-запиті?
Anonymous Quiz
0%
(A) Визначає розмір тіла запиту
40%
(B) Вказує, який тип контенту поверне сервер
57%
(C) Вказує, який формат даних міститься в тілі запиту
3%
(D) Визначає мову користувача для локалізації відповіді
❤10👍4😢1
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 і готуємо дані до запиту
Унікальний логін
це щоб створити унікальний логін користувача на кожен запуск, і не ловити помилку (користувач вже існує.
Зручно при тесті реєстрації, створення акаунтів, унікальних назв.
2. Валідний email
а ценерує email, який точно буде унікальний, з міткою часу.
Корисно при реєстрації, коли система не дозволяє дублі.
3. Дата створення та завершення
це тут ставить дату зараз + через 10 днів у правильному ISO-форматі (з урахуванням таймзони).
Супер для створення сесій, подій, об’єктів з датами дії.
Це вже ми про Test Script
4. Перевірка статусу + збереження ID та токена
Перевіряємо, що об’єкт створено (201) чи можемо на любий статус код і зберігаємо id + token, щоб далі юзати їх в наступних запитах без копіпасту, тобто налаштував собі env всі данні в зміні автоматично записалися і в наступному запиті полетіли)
Це ключова зв’язка для побудови флоу із декількох запитів.
5. Валідація структури відповіді
а це щоб одразу перевірити, чи в полі name реально приходить рядок, а не null, object, або взагалі undefined.
Добре ловить непомітні проблеми типу бекенд вернув щось не те, але ти не помітив.
Мій поінт такий, якщо в тебе є більше ніж 1 запит і між ними летять якісь змінні - скрипти, твої друзі.
Це не автоматизація в класичному сенсі, але це QA-професіоналізм, якому не треба соромитись.
А хто ще не пробував, спробуйте, це реально спрощує і покращує вашу щоденну роботу.
Сподіваюсь коротко вийшло але зрозуміло
якщо вам є шо додати то пишіть які ви юзаєте скрипти і навіщо, буде цікаво не тільки мені)
Якщо пост зайшов і був корисний, ставь серденько)
Зберу фідбек і знайду час напишу для вас окремий ше пост де розповім про
setNextRequest як будувати динамічні флоу ну і pm.iterationData щоб робити data-driven тести
Гарного вам дня і вечора) 🤗🤗🤗
Як і обіцяв, сьогодні трошки про ту тему, яка чомусь часто пролітає мимо, скрипти в 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 тести
Гарного вам дня і вечора) 🤗🤗🤗
4❤47❤🔥5👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Всім доброго ранку і гарного старту тижня!
Понеділок день, коли кава закінчується швидше, ніж таски)
І знаєте, буває такий момент, коли щось не працює. І ти такий ходиш, думаєш:
«Ну точно хтось натупив. Хто це зробив? Хто там міг поламати?
А потім копаєш, і та-дам
це ж Ти сам і зробив ту бяку ще у п’ятницю 🫠
От на відео, прям я в такі моменти
(коли ловлю сам себе за хвіст у багрепорті)
Друзі, бажаю вам сьогодні не ловити самі себе, пити теплу каву і не забути те, що зробили в п’ятницю 😅
А якщо забули, нічого, головне чесно зізнатися самому собі й порішати!
Обняв, гарного понеділка!
#qaбудні #ранковіісторіїQA
Понеділок день, коли кава закінчується швидше, ніж таски)
І знаєте, буває такий момент, коли щось не працює. І ти такий ходиш, думаєш:
«Ну точно хтось натупив. Хто це зробив? Хто там міг поламати?
А потім копаєш, і та-дам
це ж Ти сам і зробив ту бяку ще у п’ятницю 🫠
От на відео, прям я в такі моменти
(коли ловлю сам себе за хвіст у багрепорті)
Друзі, бажаю вам сьогодні не ловити самі себе, пити теплу каву і не забути те, що зробили в п’ятницю 😅
А якщо забули, нічого, головне чесно зізнатися самому собі й порішати!
Обняв, гарного понеділка!
#qaбудні #ранковіісторіїQA
1😁16❤5👍2🔥2🥴1
Завдання дня для QA
Питання: Під час тестування API на локальному сервері ви отримали помилку ERR_CONNECTION_TIMED_OUT. Сервер працює, URL правильний. Яка з причин найбільш ймовірна?
Питання: Під час тестування API на локальному сервері ви отримали помилку ERR_CONNECTION_TIMED_OUT. Сервер працює, URL правильний. Яка з причин найбільш ймовірна?
Anonymous Quiz
7%
(A) Некоректний формат JSON у тілі запиту
18%
(B) Помилка в логіці бекенду (500 помилка)
64%
(C) Обмеження фаєрволу або мережевий доступ заблокований
11%
(D) Невірний Content-Type заголовок
🔥9👏2
Bug or Defect?
Привіт банда) Як і обіцяв, сьогодні трошки про ту тему, яка чомусь часто пролітає мимо, скрипти в Postman Pre-request і Tests. Але як казав один мудрий QA, якщо у тебе ріквести йдуть у флоу, не використовувати параметризацію це просто злочин. І я повністю…
Привіт, банда! 👋
Як і обіцяв, сьогодні розповім про ті штуки, які виглядають страшно, але на ділі, просто must have, якщо хочеш бути не просто тикальщиком у Postman, а QA з повагою до свого часу )
Ну ось коротенько вам про postman.setNextRequest() це коли треба динамічний флоу
Ідея яка, умовно ти хочеш в залежності від відповіді переходити до іншого запиту. Це як if/else в коді, тільки в Postman.
Як це працює, після поточного запиту Postman автоматично викликає вказаний. Можна реалізовувати умовну логіку, якщо токен не валідний, авторизуйся, якщо все ок, йди далі.
І так працює тільки в Runner, не в одиночному запуску, але я може шось не знаю і вже змінилось це)
pm.iterationData, це для Data-Driven тестування
Умовно у вас є колекція запитів, і треба запускати їх з різними наборами даних (логіни, email-и, конфігурації).
Робиш CSV або JSON з даними (типу users.csv)
І ось у скриптах використовуєш
І кожен запуск буде бігти з новими даними
Як їх можно комбінувати? впринцепі не дуже складно але треба зрозуміти логику
ну ось вам приклад реального флоу
Тестуємо створення акаунта, авторизацію, запит до захищеного ресурсу
ЗАпис Created User
Дали запит на логін.
запит на отримання того чи іншого профілю
Поінт який, Якщо маєш 2+ ріквести, роби з них флоу.
Якщо тестуєш багато різних даних, не копіпасти руками, а юзай pm.iterationData.
Це не full-scale автомейшн, але це вже QA, який поважає свій час
Сподіваюсь корисно) якщо так ставьте серденько, задавайте питання залюбки відповім у вільний час.
Може ще хочете продовження з більш складними прикладами (pre-request, custom utils, або інтеграція з Newman)?
Всіх Обняв, Гарного вечора вам 🤗🤗🤗
Як і обіцяв, сьогодні розповім про ті штуки, які виглядають страшно, але на ділі, просто 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)?
Всіх Обняв, Гарного вечора вам 🤗🤗🤗
3🔥23❤🔥5👍3❤1⚡1🥴1
Всім доброго раночку, банда!
Як ваш настрій? На дворі сонечно, ну це прям кайф 💛
Вчора отримав круте питання, от просто в саме серденько.
Ігор, як ти менеджиш свій час? Ну реально, і працювати, і учні, і канал, як все встигаєш?
Та шо сказати, магії тут нема
Все, що встигається, це завдяки плануванню, дисципліні і стікерам, яких на борді вже більше ніж в Trello
Як я це роблю? Робота, це святе, в робочий час фокус тільки туди.
- Учні це вечори/вихідні, окремо забиті в календар. ну і постійний борд + reminder от чесно, якби не вони, то я б вже загубився.
Буває, з одного уроку на інший переходжу в розбіг у 1 хвилину, без напоміналки злетів би )))
І от подумалось, планування часу, це окремий скіл.
Бо як не вмієш планувати, то просто не встигаєш.
А далі або вигорання, або відчуття, що вічно щось не зробив.
Ну от як це у вас відбувається?
Як ви керуєте своїм часом?
Чим користуєтесь, Google Calendar? Notion? Todoist? Excel-файлик на робочому столі?
Може є якісь лайфхаки, без яких ви б уже поплили?
Поділіться, буде цікаво і мені, і всім хто читає
Бо як казав один мудрий QA, розгребти беклог, то одне, а от знайти на це час, зовсім інше 😄
Всім гарного, продуктивного дня і побільше сонця в душі ☀️☀️☀️
Обняв!
Як ваш настрій? На дворі сонечно, ну це прям кайф 💛
Вчора отримав круте питання, от просто в саме серденько.
Ігор, як ти менеджиш свій час? Ну реально, і працювати, і учні, і канал, як все встигаєш?
Та шо сказати, магії тут нема
Все, що встигається, це завдяки плануванню, дисципліні і стікерам, яких на борді вже більше ніж в Trello
Як я це роблю? Робота, це святе, в робочий час фокус тільки туди.
- Учні це вечори/вихідні, окремо забиті в календар. ну і постійний борд + reminder от чесно, якби не вони, то я б вже загубився.
Буває, з одного уроку на інший переходжу в розбіг у 1 хвилину, без напоміналки злетів би )))
І от подумалось, планування часу, це окремий скіл.
Бо як не вмієш планувати, то просто не встигаєш.
А далі або вигорання, або відчуття, що вічно щось не зробив.
Ну от як це у вас відбувається?
Як ви керуєте своїм часом?
Чим користуєтесь, Google Calendar? Notion? Todoist? Excel-файлик на робочому столі?
Може є якісь лайфхаки, без яких ви б уже поплили?
Поділіться, буде цікаво і мені, і всім хто читає
Бо як казав один мудрий QA, розгребти беклог, то одне, а от знайти на це час, зовсім інше 😄
Всім гарного, продуктивного дня і побільше сонця в душі ☀️☀️☀️
Обняв!
2❤14👍3👏1🥴1👨💻1
Завдання дня для QA:
Питання. Яку основну задачу виконує Fail2Ban у Linux-системах?
Питання. Яку основну задачу виконує Fail2Ban у Linux-системах?
Anonymous Quiz
5%
(A) Оптимізує використання ресурсів процесора
6%
(B) Автоматично оновлює пакети безпеки
78%
(C) Захищає систему, блокуючи підозрілі IP-адреси
11%
(D) Резервує критичні конфігураційні файли
❤7👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Друзі, доброго вечора! 🌙
Як ви там? Ви теж у вічній запарі на роботі чи вже релакс?
А то щось тихо сьогодні, активності нул, всі закопані в таски?
Ану признавайтесь, на відео себе впізнали?
Бережіть себе 💛
Як ви там? Ви теж у вічній запарі на роботі чи вже релакс?
А то щось тихо сьогодні, активності нул, всі закопані в таски?
Ану признавайтесь, на відео себе впізнали?
Бережіть себе 💛
😁11❤3🤣2
Привіт друзі ☀️☀️☀️
Назовемо це ранкове відкриття и як Pandas працює на QA
Я натрапив на Pandas бібліотеку на Python, про яку раніше якось не задумувався, а тепер шкодую. Якщо ви тестуєте API, працюєте з масивами даних або валідуєте JSON ця штука реально економить купу часу.
Якщо вже знаєте Python спробуйте, воно варте того. а якщо ні може це той самий привід, щоб почати.
шо я маю вам сказати за той Pandas?
Це така бібліотека для роботи з табличками і списками, щось на кшталт Excel, але прямо в коді. Забуваєш про довгі цикли і крутіння словників пиши прості фільтри.
Наприклад, хочеш всі рядки, де країна Україна, просто робиш
і от готово.
як приклад,
Уявімо, тестуєш API, яке повертає список юзерів. Тебе цікавить, скільки користувачів з України, чи є дублі email-ів, хто не вказав email
Ось такий приклад відповіді з API
І скрипт на Python, як це перевірити
це зручно, не треба вручну лазити в кожен рядок
Весь масив даних видно одразу, можна швидко знайти проблеми
Легко тестувати сотні і тисячі записів
Якщо знаєш Python, працювати з Pandas, як мати крутий інструмент, що поєднує зручність Excel і гнучкість коду
Висновок від мене:
Якщо працюєш з API і даними, Pandas реально вартий уваги. Це не тільки для дата-сайєнтистів, а й для QA, хто хоче зробити життя простішим.
Якщо вам цікаво, ставте серденько - дам вам круту шпаргалку по цьому)
Всім гарного дня, обняв 🤗
Назовемо це ранкове відкриття и як 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, хто хоче зробити життя простішим.
Якщо вам цікаво, ставте серденько - дам вам круту шпаргалку по цьому)
Всім гарного дня, обняв 🤗
2❤25🔥2
Завдання дня для QA:
Ти працюєш у гілці feature/login-page. Дев залив фікс у main, і ти хочеш підтягнути його собі без зайвих комітів. Що робиш?
Ти працюєш у гілці feature/login-page. Дев залив фікс у main, і ти хочеш підтягнути його собі без зайвих комітів. Що робиш?
Anonymous Quiz
19%
(A) git merge main
47%
(B) git pull origin main
21%
(C) git rebase main
14%
(D) git checkout main
❤10😱9🔥2
Привіт банда!
Як ваш ранок, як настрій? В Одесі сонце, а я з 6 ранку вже з відкритими очима, і шо ви думаєте, знов залип в статтю по тестуванню 🙃
Ну реально, поки всі ще досипають, я натрапив на доволі годну штуку, і хочеться з вами поділитись
https://bugbug.io/blog/test-automation/software-testing-best-practices/
Там не вода, а прям по ділу, що треба кожному КУА, від мануальщика до автомейшена.
Вся сіль у простих речах, пиши плани не на завтра, а одразу/ тестуй незалежно/ не нехтуй логами/ тести в CI/CD маст хев ну і, будь ласка, метрики, це не тільки а скільки багів?😅
це прямо як для нас з вами для живих людей, які щодня між, ще не все задокументував (забув або відлікся на щось), ну і наше улюблене нам треба вже релізитись 😂
І да, пам’ятаю що ви просили зробити підбірку, де я беру круті матеріали для читання про QA / IT, я це зроблю!
На днях викладу окремий пост з добіркою
Обняв, гарного вам дня і нехай прод не буде ламатись 😁
#qaбудні #ранковастаття
Як ваш ранок, як настрій? В Одесі сонце, а я з 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.
3❤17⚡3❤🔥3👏1
Завдання дня для QA:
У якому випадку збереження trusted_id у localStorage може викликати проблеми в роботі клієнтського застосунку?
У якому випадку збереження trusted_id у localStorage може викликати проблеми в роботі клієнтського застосунку?
Anonymous Quiz
25%
(A) Коли браузер очищає localStorage після кожного оновлення сторінки
33%
(B) Коли trusted_id зберігається без зв’язку з конкретною сесією або room
12%
(C) оли значення trusted_id, це JWT токен
30%
(D) Коли trusted_id має однакове значення для всіх користувачів
👀7👍3❤1✍1
Bug or Defect?
Завдання дня для QA:
Ти працюєш у гілці feature/login-page. Дев залив фікс у main, і ти хочеш підтягнути його собі без зайвих комітів. Що робиш?
Ти працюєш у гілці feature/login-page. Дев залив фікс у main, і ти хочеш підтягнути його собі без зайвих комітів. Що робиш?
Доброго вечора друзі)
Дивлюсь пул вийшов цікавим) давайте розберемо його коротенько як завжди.
і так чому це не (А)
Це як сказати, Хай історія моєї роботи і основна історія просто зіллються докупи. Зручно, але є це саме але,
У результаті з’явиться додатковий коміт, такий собі (зшивач) двох історій. Це ніби у твій щоденник вставили сторінку з написом Злиття. І якщо таких злиттів багато історія стає (заплутаною), довго шукати, де що змінилось.
Ну і я розумію чому саме більше всього (B), але все ж питання стояло по іншому)
Тут ви просите гіт завантажити всі нові зміни з main і зліпити їх у себе.
Так це Працює, але робить майже те саме, що і merge, тож коміти-злиття теж з’являться. Якщо ти хочеш чисту історію, цей варіант, не найкращий.
Чому ні (D) ну тут все коротко.
Це просто перейти у гілку main. Тобі не підтягне нічого в твою роботу, просто ти змінишся на іншу гілку. Для твоєї задачі, це не те, що потрібно.
Ну і чому саме (С) це правильна відповідь.
Оце справжня магія. Уявить, що ваша робота була як окремий блок LEGO, який ви будував трохи раніше. А тепер ти просто переробляєш цей блок, щоб поставити його вже після останніх нових деталей з основної конструкції (main).
В результаті твоя історія ніби (переписується), і виглядає, що ти почав працювати вже після того, як додали всі зміни з main. Ніяких зайвих злиттів, історія чиста і логічна. Ідеально для тих, хто хоче тримати порядок.
ну і підсумуємо)
чисту історію щоб потім самим і колегам було легко розібратись, що і коли зроблено
без зайвих комітів, які часто з'являються при злиттях і плутають
щоб ніби ти почав працювати після всіх актуальних змін, так простіше вирішувати конфлікти і підтримувати порядок.
якщо просто rebase це як переписати історію, зробити все акуратно і красиво.
якщо є шо сказать, пішіть в коментарі поболтаємо)
Всім гарного вечора друзі - Обняв 🤗🤗🤗
Дивлюсь пул вийшов цікавим) давайте розберемо його коротенько як завжди.
і так чому це не (А)
Це як сказати, Хай історія моєї роботи і основна історія просто зіллються докупи. Зручно, але є це саме але,
У результаті з’явиться додатковий коміт, такий собі (зшивач) двох історій. Це ніби у твій щоденник вставили сторінку з написом Злиття. І якщо таких злиттів багато історія стає (заплутаною), довго шукати, де що змінилось.
Ну і я розумію чому саме більше всього (B), але все ж питання стояло по іншому)
Тут ви просите гіт завантажити всі нові зміни з main і зліпити їх у себе.
Так це Працює, але робить майже те саме, що і merge, тож коміти-злиття теж з’являться. Якщо ти хочеш чисту історію, цей варіант, не найкращий.
Чому ні (D) ну тут все коротко.
Це просто перейти у гілку main. Тобі не підтягне нічого в твою роботу, просто ти змінишся на іншу гілку. Для твоєї задачі, це не те, що потрібно.
Ну і чому саме (С) це правильна відповідь.
Оце справжня магія. Уявить, що ваша робота була як окремий блок LEGO, який ви будував трохи раніше. А тепер ти просто переробляєш цей блок, щоб поставити його вже після останніх нових деталей з основної конструкції (main).
В результаті твоя історія ніби (переписується), і виглядає, що ти почав працювати вже після того, як додали всі зміни з main. Ніяких зайвих злиттів, історія чиста і логічна. Ідеально для тих, хто хоче тримати порядок.
ну і підсумуємо)
чисту історію щоб потім самим і колегам було легко розібратись, що і коли зроблено
без зайвих комітів, які часто з'являються при злиттях і плутають
щоб ніби ти почав працювати після всіх актуальних змін, так простіше вирішувати конфлікти і підтримувати порядок.
якщо просто rebase це як переписати історію, зробити все акуратно і красиво.
якщо є шо сказать, пішіть в коментарі поболтаємо)
Всім гарного вечора друзі - Обняв 🤗🤗🤗
2👍7❤5❤🔥2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Доброго ранку, банда!
П’ятниця вже тут, а це значить, що час налити собі кашечку кави, глянути на беклог і спробувати зробити вигляд, що все під контролем 😄
Чистим таски, оновлюємо доки, добиваємо пару фіксів і вже ближче до вечора можна переходити в режим не турбувати до понеділка.
А на відео, дуже сподіваюсь, що це не ваш продакшен сьогодні😂
Бо якшо так, то точно не до кави буде 😅
Як ваш настрій?
Обійняв 🫶
П’ятниця вже тут, а це значить, що час налити собі кашечку кави, глянути на беклог і спробувати зробити вигляд, що все під контролем 😄
Чистим таски, оновлюємо доки, добиваємо пару фіксів і вже ближче до вечора можна переходити в режим не турбувати до понеділка.
А на відео, дуже сподіваюсь, що це не ваш продакшен сьогодні😂
Бо якшо так, то точно не до кави буде 😅
Як ваш настрій?
Обійняв 🫶
😁19❤2🤗2
Завдання дня для QA:
У чому головна особливість sessionStorage, яка відрізняє його від localStorage?
У чому головна особливість sessionStorage, яка відрізняє його від localStorage?
Anonymous Quiz
18%
(A) Зберігає дані між вкладками одного браузера
76%
(B) Дані очищуються після закриття вкладки чи браузера
6%
(C) Має більший об’єм для зберігання, ніж localStorage
1%
(D) Не підтримується в сучасних браузерах
❤4⚡2
Всім доброго вечора ) ну щось ось і П'ятниця закінчилась - вже хтось відпочіває) а хтось поїхав гуляти)
а я як обіцяв вам зробити підбірку ресурсів де я іноді читаю інфу для 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читання
а я як обіцяв вам зробити підбірку ресурсів де я іноді читаю інфу для 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.
4❤24🔥4❤🔥2⚡1👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Всім раночку 😊
Ніч була тривожною, особливо в Одесі
Тому перше, я щиро сподіваюсь, що ви всі цілі і були в безпеці,
Це зараз найголовніше. Бережіть себе 🙏
А зараз суботній ранок.
Знаєте, чому він особливий. Бо попереду ще неділя,
ще є час і на перепочити, і на якісь оце давно хотів зробити.
Бажаю вам сьогодні спокійного, але продуктивного дня
Робота роботою, але відпочинок це не лінь, це відновлення
А це вам коротеньке відео-мотивашка - ну просто шоб згадати, які ви сильні, навіть коли трохи втомлені.
Гарного вихідного, друзі.
Обняв ❤️
Ніч була тривожною, особливо в Одесі
Тому перше, я щиро сподіваюсь, що ви всі цілі і були в безпеці,
Це зараз найголовніше. Бережіть себе 🙏
А зараз суботній ранок.
Знаєте, чому він особливий. Бо попереду ще неділя,
ще є час і на перепочити, і на якісь оце давно хотів зробити.
Бажаю вам сьогодні спокійного, але продуктивного дня
Робота роботою, але відпочинок це не лінь, це відновлення
А це вам коротеньке відео-мотивашка - ну просто шоб згадати, які ви сильні, навіть коли трохи втомлені.
Гарного вихідного, друзі.
Обняв ❤️
1❤14🤗7
Завдання дня для QA:
Зараз скоріше нема не одного вже аpp, яка би була без MFA Питання: У якому випадку механізм довіреного пристрою(trusted device) у MFA може стати джерелом проблеми?
Зараз скоріше нема не одного вже аpp, яка би була без MFA Питання: У якому випадку механізм довіреного пристрою(trusted device) у MFA може стати джерелом проблеми?
Anonymous Quiz
22%
(A) Коли trusted device зберігається лише у sessionStorage
49%
(B) Коли trusted device не прив’язаний до конкретного користувача
14%
(C) Коли trusted device має обмежений час дії
15%
(D) Коли trusted device додається тільки вручну через адмінку
👍9👀3❤1
Привіт, банда! сонечко вам в віконце ☀️
Ранкові Історії QA.
Як ви там? Прокинулись? Каву зробили? Бо в мене ранок почався з хорошого фейлу ну, такого класичного, який знову нагадує, валідація це не забаганка, а мастхев.
Короче захожу я в группу, бачу вже поведомлиння до мене, пише колега ще сонний і каже,
Слухай, не можу зайти в налаштування, апка не конектиться до сервера, щось зламано?.
Я відкриваю, в мене все працює. Ну і питаю
Яка помилка?
- 401 типу не авторизовано (401 Unauthorized.)
Ну ок, може пароль не той?
Та я скопіпастив з Confluence, 100% вірний
Ну і шо і тут почалось розслідування.
Перевірив логін правильний/ домен ок, / пароль...... на перший погляд теж.
Полізли в логи бекенду, бо фронт мовчить, просто каже 401 і все.
І знаєте шо в логах???
Error: invalid character in JSON
Проблема в чому, він скопіював пароль із документації, а там в кінці невидимий пробіл.
Фронт його не прибрав.
Юзер це не бачив.
Бек не зміг розпарсити JSON.
І на виході, помилка авторизації, яка виглядала як ніби неправильний пароль.
Що я вам маю сказать)
Фронт має фільтрувати та показувати користувачу підозрілі символи. trim(), input validation, підсвітка, як мінімум - Бо наші Улюблені деви дуже люблять казати (Та хто таке буде робить? ну вів пароль з пробілом значет сам ДУРАК)
Бек, чітко логати, що саме не так у запиті. Типу. Пароль містить неприпустимі символи, а не просто 401, цеж для люзера просто неочем)
QA не віримо все працює. Перевіряємо edge cases. Особливо коли йдеться про скопіпащені значення.
Такі баги жруть час. І нерви.
Мораль така)
Валідація, це не для дураків. Це для живих людей, які не бачать пробіли, символи чи формат, але потім годину шукають проблему.
Хтось із вас ловив схожі приколи?
Діліться, цікаво буде почитати
Обійняв і гарного вам ранку, сильні! 💛
#ранковіісторіїQA #qa
Ранкові Історії QA.
Як ви там? Прокинулись? Каву зробили? Бо в мене ранок почався з хорошого фейлу ну, такого класичного, який знову нагадує, валідація це не забаганка, а мастхев.
Короче захожу я в группу, бачу вже поведомлиння до мене, пише колега ще сонний і каже,
Слухай, не можу зайти в налаштування, апка не конектиться до сервера, щось зламано?.
Я відкриваю, в мене все працює. Ну і питаю
Яка помилка?
- 401 типу не авторизовано (401 Unauthorized.)
Ну ок, може пароль не той?
Та я скопіпастив з Confluence, 100% вірний
Ну і шо і тут почалось розслідування.
Перевірив логін правильний/ домен ок, / пароль...... на перший погляд теж.
Полізли в логи бекенду, бо фронт мовчить, просто каже 401 і все.
І знаєте шо в логах???
Error: invalid character in JSON
Проблема в чому, він скопіював пароль із документації, а там в кінці невидимий пробіл.
Фронт його не прибрав.
Юзер це не бачив.
Бек не зміг розпарсити JSON.
І на виході, помилка авторизації, яка виглядала як ніби неправильний пароль.
Що я вам маю сказать)
Фронт має фільтрувати та показувати користувачу підозрілі символи. trim(), input validation, підсвітка, як мінімум - Бо наші Улюблені деви дуже люблять казати (Та хто таке буде робить? ну вів пароль з пробілом значет сам ДУРАК)
Бек, чітко логати, що саме не так у запиті. Типу. Пароль містить неприпустимі символи, а не просто 401, цеж для люзера просто неочем)
QA не віримо все працює. Перевіряємо edge cases. Особливо коли йдеться про скопіпащені значення.
Такі баги жруть час. І нерви.
Мораль така)
Валідація, це не для дураків. Це для живих людей, які не бачать пробіли, символи чи формат, але потім годину шукають проблему.
Хтось із вас ловив схожі приколи?
Діліться, цікаво буде почитати
Обійняв і гарного вам ранку, сильні! 💛
#ранковіісторіїQA #qa
4❤35💯4⚡3🔥2
Завдання дня для QA:
Вам дали задачу перевірити, як працює певна фіча на різних браузера. Який підхід буде найбільш ефективним з точки зору покриття?
Вам дали задачу перевірити, як працює певна фіча на різних браузера. Який підхід буде найбільш ефективним з точки зору покриття?
Anonymous Quiz
5%
(A) Протестити у Chrome, Opera і Edge, адже це три різні браузери
79%
(B) Протестити у Safari, Firefox і Chrome, щоб покрити WebKit, Gecko і Blink
2%
(C) Протестити у Safari, Safari iOS та Safari macOS
14%
(D) Протестити усі існуючи браузери, бо це Кросбраузерне тестування
❤8🔥5👍4👀2
Bug or Defect?
Привіт друзі ☀️☀️☀️ Назовемо це ранкове відкриття и як Pandas працює на QA Я натрапив на Pandas бібліотеку на Python, про яку раніше якось не задумувався, а тепер шкодую. Якщо ви тестуєте API, працюєте з масивами даних або валідуєте JSON ця штука реально…
Привіт, друзі!
Як і обіцяв, ловіть коротеньку, але мега-практичну шпаргалку по Pandas для QA.
Якщо працюєш з API, тестуєш масиви відповідей або просто валідуєш дані ось вам набір команд, які рятують)
що головне це не складно!
Pandas, це не тільки для дата аналітиків. Це must-have інструмент для кожного QA, який тестує API, працює з великими відповідями або хоче замість крутіння в Postman реально подивитись, що не так з даними.
Чекаю від вас серденько ❤️
Обняв!🤗🤗🤗 Гарного вечора!
Як і обіцяв, ловіть коротеньку, але мега-практичну шпаргалку по Pandas для QA.
Якщо працюєш з API, тестуєш масиви відповідей або просто валідуєш дані ось вам набір команд, які рятують)
що головне це не складно!
Pandas, це не тільки для дата аналітиків. Це must-have інструмент для кожного QA, який тестує API, працює з великими відповідями або хоче замість крутіння в Postman реально подивитись, що не так з даними.
Чекаю від вас серденько ❤️
Обняв!🤗🤗🤗 Гарного вечора!
3❤23❤🔥4