TGViewer
Библиотека тестировщика Библиотека тестировщика @testlab_qa · 3.01K subscribers
Post #952 1.06K
SQL для тестировщиков: 5 полезных запросов

SQL - это язык для работы с реляционными базами данных (например, MySQL, PostgreSQL, Oracle). SQL является отличным инструментом для проверки целостности данных, анализа связей между таблицами и поиска скрытых багов.

1. Возвращаем набор данных из базы (SELECT)
Когда использовать: После регистрации, создания заказа и т.д. - проверяем, что пользователь/заказ создался, смотрим на корректность и полноту данных

Найти пользователя по email:
SELECT * (Выбираем все поля записи)
FROM users (Из таблицы users)
WHERE email = 'test@example.com'; (Где email равен указанному значению)


Проверить последний заказ:
SELECT * (Выбираем все поля записи)
FROM orders (Из таблицы orders)
ORDER BY created_at DESC (Сортируем по дате создания (новые сначала))
LIMIT 1; (Ограничиваем результат одной записью)

2. Фильтрация данных по условиям (WHERE)
Когда использовать: для поиска и анализа ошибочных записей, для выборочной проверки данных по определённым критериям

Найти неоплаченные заказы старше 3 дней:
SELECT * (Выбираем все поля заказов)
FROM orders (Из таблицы orders)
WHERE status = 'unpaid' (Где статус "неоплачен")
AND created_at < NOW() - INTERVAL 3 DAY; (И дата создания старше 3 дней от текущего момента)


Найти пользователей без подтвержденного email’a:
SELECT id, email (Выбираем только ID и email)
FROM users (Из таблицы users)
WHERE email_verified = false; (Где email не подтверждён)


3. Проверка количества записей (COUNT)
Когда использовать: для проверки массовых операций

Сколько пользователей зарегистрировалось сегодня:
SELECT COUNT(*) (Считаем общее количество записей)
FROM users (В таблице users)
WHERE DATE(created_at) = CURRENT_DATE; (Где дата регистрации = текущий день)


4. Обновление тестовых данных (UPDATE)
Важно! Используйте только в тестовых базах и всегда делайте резервную копию перед массовыми изменениями

Сбросить пароль тестового пользователя:
UPDATE users (Обновляем таблицу users)
SET password = 'test123' (Задаём новое значение для поля password)
WHERE email = 'test@example.com'; (Условие: только для пользователя с этим email)


Изменить статус заказа:
UPDATE orders (Обновляем таблицу orders)
SET status = 'completed' (Меняем статус на "completed")
WHERE id = 12345; (Условие: только заказ с ID 12345)


5. Удаление тестовых данных (DELETE)
Осторожно! Используйте только в тестовых базах и всегда делайте резервную копию перед массовыми изменениями. Всегда сначала делайте SELECT с тем же условием

Удаление тестовых заказов:
DELETE FROM orders (Удаляем записи из таблицы orders)
WHERE user_id IN ( (Где user_id соответствует…)
SELECT id FROM users (…ID из таблицы users)
WHERE email LIKE '%test%' (…для email с подстрокой "test»)
);


Как тренироваться?
На помощь приходят бесплатные тренажеры, например:

- https://sqlbolt.com/
- https://sqlzoo.net/

#qa #testing

Подпишись👉 @testlab_qa
  • 👍 5
  • ❤ 3
More from @testlab_qa
  1. Aug 17, 2026Это не просто зоопарк устройств Мы постоянно проверяем навигационные фичи в «поле». А когд…
  2. Aug 3, 2026#qa #testing Подпишись👉 @testlab_qa
  3. Jul 25, 2026🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.r…
  4. Jul 16, 2026Когда за дело берется тестировщик 😼 #qa #testing Подпишись👉 @testlab_qa
  5. Jul 7, 2026Найти сильного специалиста становится всё сложнее и дороже. Но что если часть кадровых зад…
  6. Jul 7, 2026#qa #testing Подпишись👉 @testlab_qa
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 →