SQL и тестирование баз данных
Updated Jul 2026
Базовый навык (2015-2025). См. основное руководство для контекста.
UI показывает то, что видит пользователь. API показывает то, чем обменивается приложение. База данных показывает то, что произошло на самом деле. QA-инженер, способный напрямую запрашивать базу данных, проверяет истину у источника — подтверждая, что данные записаны корректно, ограничения соблюдены и ссылочная целостность поддерживается, независимо от того, что показывал UI.
Рассматриваемые темы
1. Основы SQL
- SELECT-запросы — верификационные запросы, использование SQL в автоматизации тестов и типичные паттерны
- JOIN и агрегация — типы JOIN, GROUP BY, HAVING и запросы для расследования
- Манипуляция данными — INSERT, UPDATE, DELETE для тестовых данных, транзакции и безопасные практики
2. Тестирование баз данных
- Тестирование ограничений — первичные ключи, внешние ключи, уникальные ограничения, NOT NULL и CHECK-ограничения
- Тестирование миграций — миграции схемы, проверка отката, сохранение данных и производительность
- Хранимые процедуры — тестирование бизнес-логики в базе данных, триггеры и вычисляемые значения
3. За пределами SQL
- Основы NoSQL — паттерны тестирования MongoDB, Redis, DynamoDB
- Маскирование данных — анонимизация, тестирование соответствия требованиям и тезисы для собеседования
Почему это важно
SQL — это уровень верификации, который лежит под каждым API и UI тестом. Когда API-вызов создаёт запись, SQL-запрос подтверждает, что она корректно сохранена. Когда в баг-репорте написано «данные отсутствуют», SQL находит истину. Навыки тестирования баз данных делают все остальные формы тестирования более надёжными.