Если вы тестируете бэкенд, отчёты или работаете с БД — без агрегатных функций никуда. Это база, которая постоянно всплывает на собеседованиях и в реальных задачах.
Разберём 4 ключевые функции:
Сколько пользователей зарегистрировано? Сколько заказов за сутки?
SELECT COUNT(*)
FROM users;
COUNT(*) — считает все строки
COUNT(column) — не считает NULL
Самый дорогой заказ? Последняя дата входа?
SELECT MAX(price)
FROM orders;
Полезно при проверке сортировок, лимитов, бизнес-правил.
Минимальный возраст пользователя? Самая ранняя дата регистрации?
SELECT MIN(created_at)
FROM users;
Часто помогает выявить некорректные данные (например, дата 1970-01-01).
Средний чек? Средний рейтинг?
SELECT AVG(amount)
FROM payments;
AVG игнорирует NULL.
💡 Где это применяется:
— Проверка отчётов в админке
— Сверка данных между UI и БД
— Анализ тестовых данных
— Проверка бизнес-логики (лимиты, квоты, фильтры)
— Написание автотестов с SQL-проверками
#теория_на_пальцах
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰4🤩2🔥1
Почему повторная отправка POST-запроса может быть критична для финансовых операций ❓
Anonymous Quiz
4%
POST-запросы всегда медленные
6%
POST по определению небезопасен
76%
POST не является идемпотентным по спецификации HTTP
14%
Потому что браузер кеширует POST
👍3🥰2🤩2
🐞 Шпаргалка по жизненному циклу дефекта
Чтобы говорить с командой на одном языке, важно понимать, что стоит за каждым статусом бага.
🔢 New
Ответственный: QA
🔢 Open
Ответственный: Team Lead / Dev
🔢 In Progress
Ответственный: Dev
🔢 Rejected (Отклонён)
Ответственный: Dev / PO
🔢 Reopened
Ответственный: Dev
🔢 Fixed
Ответственный: Dev
🔢 Verified
Ответственный: QA
🔢 Closed
Ответственный: QA / Team
Статусы могут отличаться в Jira, YouTrack, Azure DevOps — но логика жизненного цикла остаётся одинаковой.
📍 Навигация: [Вакансии]
🐸 Библиотека тестировщика
#артефакт
Чтобы говорить с командой на одном языке, важно понимать, что стоит за каждым статусом бага.
Дефект только что создан. Его ещё никто не анализировал.
Ответственный: QA
Баг подтверждён и принят в работу. Приоритизирован, назначен разработчик.
Ответственный: Team Lead / Dev
Разработчик работает над исправлением. Идёт анализ причины и реализация фикса.
Ответственный: Dev
Не дефект. Задумано по ТЗ / дубликат / не воспроизведён / ошибка в окружении.
Ответственный: Dev / PO
Баг снова открыт после проверки. Фикс не сработал или проблема проявилась повторно.
Ответственный: Dev
Исправление реализовано. Код изменён, но ещё не подтверждён тестированием.
Ответственный: Dev
QA подтвердил, что дефект устранён. Регрессия пройдена, проблема не воспроизводится.
Ответственный: QA
Дефект полностью закрыт. Все проверки завершены, возврата к багу не планируется.
Ответственный: QA / Team
Статусы могут отличаться в Jira, YouTrack, Azure DevOps — но логика жизненного цикла остаётся одинаковой.
#артефакт
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩5❤2🥰2
Многие знают определения, читали книги и проходили курсы. Но на техническом собеседовании этого недостаточно. Интервьюер проверяет: как вы приоритизируете, как думаете о рисках, как принимаете решения перед релизом.
В карточках — 3 типовые причины отказа и конкретные рекомендации, как это исправить
#карьерный_трек #junior
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰4🔥2🤩2❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9🤩6
Что такое Policy Model (PM)?
Проще:
доступ определяется условиями — ролью, атрибутами пользователя и контекстом.
📌 Как это выглядит на практике
Политика может учитывать:
• Кто выполняет действие (роль)
• К какому ресурсу идёт доступ
• Какое действие выполняется (read / write / delete)
• Дополнительные условия (время, IP, владелец записи)
🧪 Что важно тестировщику
При тестировании нужно проверять:
• Разные роли (Admin / User / Guest)
• Доступ к “своим” и “чужим” данным
• Граничные условия (время, статус, лимиты)
• Обход логики через API
Ошибка в policy → это почти всегда IDOR, privilege escalation или логическая уязвимость.
👍 — знал/а
🔥 — не знал/а
#карьерный_трек #junior
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15❤4👍2🥰2
🔋 Как бы вы протестировали power bank
Коллеги, в #разбор_полетов мы тренируем не фантазию, а системное мышление.
Сегодня — power bank.
Устройство, которое «должно работать всегда». Особенно когда 3% и навигатор уже ругается.
➕ Как бы вы подошли к тестированию?
Подумайте в разрезе:
❓ И главный вопрос:
в какой момент power bank перестаёт быть «резервом» и становится источником риска?
Наш вариант — в картинке под спойлером🙂
📍 Навигация: [Вакансии]
🐸 Библиотека тестировщика
#разбор_полетов
Коллеги, в #разбор_полетов мы тренируем не фантазию, а системное мышление.
Сегодня — power bank.
Устройство, которое «должно работать всегда». Особенно когда 3% и навигатор уже ругается.
Подумайте в разрезе:
🟡 Условия эксплуатации
— Жара / мороз
— Использование на улице
— Зарядка в рюкзаке
— Одновременная зарядка нескольких устройств
— Использование во время собственной зарядки
🟡 Состояния
— Новый
— После 200 циклов
— Почти разряжен (1–5%)
— Повреждён кабель
— Неполный контакт в разъёме
🟡 Граничные значения
— 0% — реально ли 0?
— 100% — перезаряд возможен?
— Быстрая зарядка — перегрев?
— Нагрузка выше заявленной
🟡 Риски для пользователя
— Перегрев и возгорание
— Вздутие аккумулятора
— Поражение током
— Повреждение телефона
— Ложная индикация заряда
🟡 Нефункциональные проверки
— Насколько корректно отображается процент
— Стабильность выходного напряжения
— Время полной зарядки
— Потери энергии при хранении
в какой момент power bank перестаёт быть «резервом» и становится источником риска?
Наш вариант — в картинке под спойлером
#разбор_полетов
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5😁2
Session — это «карточка гостя» на стороне сервера. Браузер просто носит номерок, а вся информация хранится у сервера.
Как это работает:
🌍 Браузер → 📩 Логин
🖥 Сервер → 🗂 Создаёт сессию
🌍 Браузер → 🔢 Носит session id
Пример:
Зашли в личный кабинет → сервер создал сессию → пока она жива, вы авторизованы
Сессия истекла → нужно логиниться заново
Почему важно тестировщику:
#теория_на_пальцах
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2🥰2🤩2
90% уязвимостей и прод-багов в авторизации — не в форме логина, а в управлении сессией и ролями.
Разбираем, что обязан проверить тестировщик:
Проверяем не только вход, а что доступно после входа:
— пользователь
— модератор
— админ
— заблокированный аккаунт
Важно:
Авторизация = контроль доступа, а не просто логин.
Проверить:
— что происходит через 5 / 30 / 60 минут бездействия
— разлогинивает ли при истечении токена
— можно ли выполнить запрос с просроченным токеном
Опасный сценарий: UI разлогинил, а API продолжает принимать старый токен.
Сценарии:
— логин с тем же аккаунтом в другом браузере
— логин после смены пароля
— логин после выхода
Проверить:
Можно ли:
— быть залогиненным на 5 устройствах?
— ограничено ли количество сессий?
— что происходит при превышении лимита?
Для банковских и финтех-систем это критично.
Проверить:
— что будет после удаления cookie
— что будет при подмене токена
— флаги: HttpOnly, Secure, SameSite
— хранится ли JWT в localStorage (риск XSS)
Удалили cookie → система должна корректно считать вас гостем. Если нет — это уже уязвимость.
Ошибки в авторизации приводят к:
— захвату аккаунта
— повышению привилегий
— доступу к чужим данным
— обходу бизнес-ограничений
И именно тестировщик часто первый, кто это замечает.
#карьерный_трек
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤3🤔2🥰1
Пользователь вышел из аккаунта. UI показывает форму логина. Но если взять старый JWT-токен и отправить запрос напрямую в API — данные успешно возвращаются.
#стендап_qa
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰3🔥1
Как протестировать то, что каждый раз отвечает по-разному?
Тестирование AI-агентов — главный челлендж 2026 года. Обычные автотесты здесь не работают. Мы включили в обновлённый курс «Разработка AI-агентов» полноценный модуль по QA и метрикам качества.
QA-трек в программе:
🔹 Измеримость качества. Как настроить метрики производительности и точности ответов (`Evaluation`).
🔹 Регрессионное тестирование AI. Методы выявления деградации модели при обновлении промптов или пайплайнов.
🔹 Human-in-the-loop. Интеграция ручного подтверждения для критических кейсов.
🔹 Отладка. Использование
Стартуй сейчас! Покупаешь курс — сразу получаешь доступ к материалам.
🎟 ПромокодAgent — скидка 10 000 ₽ (до 28 февраля).
👉 Научиться тестировать AI-системы
Тестирование AI-агентов — главный челлендж 2026 года. Обычные автотесты здесь не работают. Мы включили в обновлённый курс «Разработка AI-агентов» полноценный модуль по QA и метрикам качества.
QA-трек в программе:
🔹 Измеримость качества. Как настроить метрики производительности и точности ответов (`Evaluation`).
🔹 Регрессионное тестирование AI. Методы выявления деградации модели при обновлении промптов или пайплайнов.
🔹 Human-in-the-loop. Интеграция ручного подтверждения для критических кейсов.
🔹 Отладка. Использование
time-travel в LangGraph для воспроизведения ошибок и анализа состояний.Стартуй сейчас! Покупаешь курс — сразу получаешь доступ к материалам.
🎟 Промокод
👉 Научиться тестировать AI-системы
🥰3
Прежде чем писать тест-кейсы и открывать Postman, задайте себе эти вопросы. Они экономят часы и спасают от «почему это не проверили?».
Новая логика? UI? API? Без понимания масштаба оценка и тестирование будут неточными.
Изменения редко изолированы. Проверьте соседние функции и зависимости.
Платежи, внешние API, очереди, сторонние сервисы. Интеграции = дополнительные риски.
Admin ≠ User ≠ Guest. Проверьте права доступа и ограничения.
Пустые поля, спецсимволы, длинные строки, отрицательные значения. Границы — любимое место багов.
Если логика меняется — что ещё может сломаться? Оцените объём дополнительной проверки.
Стабильность билда, тестовые данные, версии API. Иногда проблема не в коде, а в окружении.
Изменения в функционале → изменения в тестовой базе.
Нет финального дизайна? API ещё меняется? Это влияет на эстимацию.
Закроет вкладку. Обновит страницу. Нажмёт дважды. Попробует обойти логику.
#артефакт
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩5🥰3
⏳ Что такое эстимация в тестировании
Эстимация — это ответ на вопрос:
Это не угадывание и не «на глаз». Это прогноз объёма работы с учётом:
— количества сценариев
— регрессии
— интеграций
— рисков и нестабильности среды
🔤 Если проще, то вы оцениваете не время, а сложность. Время — это уже следствие.
📍 Навигация: [Вакансии]
🐸 Библиотека тестировщика
#теория_на_пальцах
Эстимация — это ответ на вопрос:
«Сколько времени нужно на тестирование задачи?»
Это не угадывание и не «на глаз». Это прогноз объёма работы с учётом:
— количества сценариев
— регрессии
— интеграций
— рисков и нестабильности среды
#теория_на_пальцах
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🥰2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
JOIN — это способ соединить данные из разных таблиц по общему полю.
В видео разбирают:
— разницу между INNER и LEFT JOIN
— почему строки могут «пропадать»
— как формируется итоговый результат
Подойдёт новичкам, тем, кто путается в JOIN, и всем, кто хочет перестать писать запросы вслепую.
#карьерный_трек
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🥰3🤩2
Middle QA-engineer — ~ 100 000 ₽, удаленно
Middle QA-разработчик — 190 000 ₽, удаленно
QA инженер — 80 000 - 120 000 ₽, офис, Санкт-Петербург
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🤔2
Чек-лист_доступности_QA.pdf
26.9 KB
Краткий список проверок, которые стоит проходить перед релизом:
Без теории — только практические пункты для ручной проверки.
С вас ❤️, если полезно
#артефакт
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍3🤩2🥰1