ch
Feedback
Библиотека тестировщика | QA, тестирование, quality assurance, manual testing, autotesting, ручное тестирование, автотесты

Библиотека тестировщика | QA, тестирование, quality assurance, manual testing, autotesting, ручное тестирование, автотесты

前往频道在 Telegram

Все самое полезное для тестировщика в одном канале. Наши курсы: https://clc.to/wlBkTA По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/12538d6f Для обратной связи: @proglibrary_feeedback_bot

显示更多
9 105
订阅者
-524 小时
-117
-1730
帖子存档
Почему повторная отправка POST-запроса может быть критична для финансовых операций ❓
Anonymous voting

🖥 Агрегатные функции в SQL Если вы тестируете бэкенд, отчёты или работаете с БД — без агрегатных функций никуда. Это база, которая постоянно всплывает на собеседованиях и в реальных задачах. Разберём 4 ключевые функции: 🔢 COUNT — посчитать количество Сколько пользователей зарегистрировано? Сколько заказов за сутки?

SELECT COUNT(*) 
FROM users;
COUNT(*) — считает все строки
COUNT(column) — не считает NULL
🔢 MAX — найти максимум Самый дорогой заказ? Последняя дата входа?

SELECT MAX(price) 
FROM orders;
Полезно при проверке сортировок, лимитов, бизнес-правил. 🔢 MIN — найти минимум Минимальный возраст пользователя? Самая ранняя дата регистрации?

SELECT MIN(created_at) 
FROM users;
Часто помогает выявить некорректные данные (например, дата 1970-01-01). 🔢 AVG — среднее значение Средний чек? Средний рейтинг?

SELECT AVG(amount) 
FROM payments;
AVG игнорирует NULL. 💡 Где это применяется: — Проверка отчётов в админке — Сверка данных между UI и БД — Анализ тестовых данных — Проверка бизнес-логики (лимиты, квоты, фильтры) — Написание автотестов с SQL-проверками 📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #теория_на_пальцах

🎓 Большой бесплатный курс по QA Если вы уже в тестировании, но чувствуете, что знания разрозненные — этот курс может быть хо
🎓 Большой бесплатный курс по QA Если вы уже в тестировании, но чувствуете, что знания разрозненные — этот курс может быть хорошим способом собрать всё в единую картину. 4 часа плотного контента: от основ до тем, которые ждут от уверенного middle. Что особенно полезно для действующих QA:
— Освежить базу: жизненный цикл тестирования, типы тестирования, методологии — Прокачать теорию под собеседования: HTTP, REST, статус-коды, идемпотентность — Повторить SQL с практическими примерами — Разобрать DevTools, Postman, Swagger — Осмыслить архитектуру: монолит, микросервисы, API — Понять роль QA в CI/CD — Kafka, логи, анализ багов на системном уровне — Разбор реальных кейсов и типовых тестовых заданий
📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #release_notes

🔥 Параллельное тестирование: как ускорить релизы без потери качества Последовательный прогон — надёжен, но медленный. Когда
🔥 Параллельное тестирование: как ускорить релизы без потери качества Последовательный прогон — надёжен, но медленный. Когда нужно проверять продукт на десятках браузеров и конфигураций, он становится узким горлышком. 🔤 Параллельное тестирование решает эту проблему: тесты запускаются одновременно — быстрее фидбек, быстрее релиз. 🔵 В материале разбираем:
— Что такое параллельный запуск и когда он оправдан — Как реализовать его через Selenium и Selenium Grid — Как настраивается parallel и thread-count в TestNG — Лучшие практики: атомарные тесты, независимость, управление данными — Типовые риски: ресурсы, флейки, зависимости
Подойдёт тем, кто уже автоматизирует тестирование и хочет масштабировать его под CI/CD, кроссбраузерность и частые релизы. 🔗 Читать по ссылке 📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #карьерный_трек

🔥 Вопрос с собеседования на Junior Пользователь обновил страницу во время отправки формы. Что может пойти не так? 👇 Правильный ответ (нажми, чтобы прочитать): — Повторная отправка запроса — Дублирование записи — Нарушение целостности данных — Потеря состояния Junior должен понимать, что HTTP — stateless, а кнопка «обновить» ломает логику, если нет защиты (idempotency, токены, блокировка кнопки). 👍 — знал/а 🔥 — не знал/а 💼 Щелкаешь такие задачи как орешки? Найди проект с достойной зарплатой тут 🐸 Библиотека тестировщика #карьерный_трек #junior

Собираем фулл-хаус: 3 курса по цене 1 Хватит выбирать между «полезно», «модно» и «для души». Мы запустили механику, которая п
Собираем фулл-хаус: 3 курса по цене 1 Хватит выбирать между «полезно», «модно» и «для души». Мы запустили механику, которая позволяет собрать кастомный стек навыков без удара по бюджету: покупаете один курс — два других забираете бесплатно. Идеальный момент для перехода в автотесты (SDET): забирайте обновлённый Python и алгоритмы и структуры данных, чтобы писать чистый и поддерживаемый код тестов. Если хотите понимать, как тестировать модели машинного обучения и не бояться «черных ящиков» — полный набор по AI: от математики и ML-старта до разработки автономных агентов. А для тех, кто только стартует в QA — основы IT для непрограммистов. Собрать свой пак

🔖 ТОП-5 книг по тестированию Если хотите прокачать навыки тестирования — начните с этих книг. В них собраны реальные практик
+4
🔖 ТОП-5 книг по тестированию Если хотите прокачать навыки тестирования — начните с этих книг. В них собраны реальные практики, проверенные техники и опыт ведущих экспертов. Карточки выше помогут выбрать, что почитать в первую очередь! 🌟 🔢 Еще больше полезных книг — в нашем канале @progbook 📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #карьерный_трек

🧐 Объясняем Cookies как пятилетке Cookies — это маленькие записки от сервера для браузера. Сервер говорит: «Приноси её кажды
🧐 Объясняем Cookies как пятилетке Cookies — это маленькие записки от сервера для браузера. Сервер говорит: «Приноси её каждый раз, когда придёшь». Как это работает: 🌍 Браузер → 📩 Запрос 🖥 Сервер → 🍪 Даёт cookie 🌍 Браузер → 📎 Отправляет её обратно Пример:
Залогинились → получили cookie → сайт вас узнаёт Удалили cookie → вы снова «незнакомец»
Почему важно тестировщику: Проверить, создаётся ли после логина ✅ Защищены ли от кражи (HttpOnly, Secure) ✅ Срок жизни ✅ Что будет после удаления 📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #теория_на_пальцах

⚡️ Selenium 4.40 Команда Selenium выпустила версию 4.40 для Java, Python, Ruby, .NET, JavaScript и Grid. ✅ Поддержка Chrome D
⚡️ Selenium 4.40 Команда Selenium выпустила версию 4.40 для Java, Python, Ruby, .NET, JavaScript и Grid. ✅ Поддержка Chrome DevTools v144–142 ✅ Расширение BiDi (больше контроля над сетью и эмуляцией) ✅ Новый LocalWebDriver в Python ✅ Selenium Grid стал стабильнее — фиксы race condition и параллельных сессий ✅ Автосохранение скриншотов и page source при падении (Java) Если у вас большой параллельный прогон или активно используете Grid — обновление стоит проверить в первую очередь. 📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #release_notes #selenium

❓ Нужен ли SQL тестировщику «Это работа бэкендера» — частая позиция на собеседовании. 🙂 Правда: без SQL вы тестируете «карти
Нужен ли SQL тестировщику
«Это работа бэкендера»
— частая позиция на собеседовании. 🙂 Правда: без SQL вы тестируете «картинку», а не систему. Зачем QA база данных: — проверка корректности бизнес-логики — валидация транзакций — поиск «потерянных» данных — анализ прод-инцидентов 📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #стендап_qa

🎯 TestNG на собеседовании Если идёте на позицию automation-инженера с Java, TestNG спросят почти всегда. Важно понимать не т
🎯 TestNG на собеседовании Если идёте на позицию automation-инженера с Java, TestNG спросят почти всегда. Важно понимать не только аннотации, но и:
— порядок выполнения — группы и зависимости — testng.xml — параллельный запуск и thread-count — разницу между @DataProvider и @Factory — работу с отчетами и тайм-аутами
В статье — 40+ ключевых вопросов и короткие ответы для быстрой подготовки. Подойдёт для повторения перед интервью или как чек-лист для оценки кандидатов. 📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #карьерный_трек

✋ Таймауты в WebdriverIO: почему тесты падают «случайно» Большинство flaky-тестов — это не баги продукта, а неправильная рабо
+4
Таймауты в WebdriverIO: почему тесты падают «случайно» Большинство flaky-тестов — это не баги продукта, а неправильная работа с ожиданиями. Фиксированные паузы замедляют прогон, слишком большие таймауты растягивают падения, а маленькие — делают тесты нестабильными. В карточках разобрали:
— чем таймаут отличается от browser.pause() — как работают waitFor* команды — где настраивается waitforTimeout — чем он отличается от таймаута всего теста в Mocha — как не превратить e2e-набор в медленный хаос
Если у вас тесты «иногда падают без причины» — причина почти всегда в ожиданиях. 🔤 Источник 🐸 Библиотека тестировщика #тест_драйв

🔥 Топ-вакансий недели для тестировщиков QA Full-stack Engineer (VR) — от 4 200 €, помощь с переездом (Лимассол) QA Automation Engineer (Java+Python) — от 280 000 до 313 000 ₽, гибрид (Москва) Middle QA automation (C#) — от 200 000 до 350 000 ₽, удаленно (Москва) ➡️ Больше офферов в канале: @testerrjob 🐸 Библиотека тестировщика

👩‍💻 Postman для тестировщика Подходит как для новичков, так и для тех, кто давно хотел «разложить всё по полочкам». Что вну
👩‍💻 Postman для тестировщика Подходит как для новичков, так и для тех, кто давно хотел «разложить всё по полочкам». Что внутри курса:
— Что такое Postman и зачем он нужен тестировщику — Как создавать и отправлять запросы (GET, POST, DELETE и не только). — Работа с переменными, окружениями и коллекциями. — Основы написания тестов и скриптов (Pre-request и Tests). — Как автоматизировать тест-кейсы и собрать коллекции в CI/CD.
Ссылка на плейлист 🔗 🐸 Библиотека тестировщика #карьерный_трек

📌 Поднять API-заглушку за 1 команду Когда нужен REST API без бэкенда — json-server поднимает заглушку за секунды. Особенно полезно при мокировании данных в автотестах, CI/CD или нестабильном API.

npx json-server --watch mocks/db.json --port 5050
Что действительно удобно: — Реагирует на GET, POST, PUT, DELETE без конфигураций — Автоматически сохраняет изменения обратно в db.json — Работает как stateful-мок: можно писать, читать, удалять данные «вживую» 💡 Хитрые приёмы: — Эмуляция задержки ответа:

npx json-server --watch db.json --delay 800
— Интеграция с Playwright или Cypress: в beforeAll() можно запускать json-server как фоновый процесс

import { exec } from 'child_process'
beforeAll(() => exec('npx json-server ... &’))
🐸 Библиотека тестировщика #артефакт

🔎 Как быстро понять: приложение перезапускалось или нет

ps -eo pid,lstart,cmd | grep app-name
🔤 Показывает: — PID процесса — время старта процесса — команду запуска ⚡️ Полезно, когда: — «деплой был», но баг остался — конфиг меняли, а поведение нет — подозрение, что сервис не рестартанули Если процесс не перезапускался:
• новый код не подхватился • конфиги не применились • тестировать бессмысленно
📍 Навигация: [Вакансии] 🐸 Библиотека тестировщика #тест_драйв

Какой сценарий ЛУЧШЕ всего проверить регрессией после фикса бага? ❓
Anonymous voting