Назад к вопросам
Middle
76
questionbank

Какие тестовые кейсы можно разработать для тестирования баз данных?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Тестирование структуры БД, включая схемы, таблицы, индексы, Constraints (PRIMARY KEY, FOREIGN KEY, UNIQUE, CHECK, NOT NULL).

Тестирование данных:

  • Проверка корректности данных после операций: INSERT, UPDATE, DELETE.
  • Проверка соответствия данных бизнес-логике.
  • Тестирование целостности данных при одновременных операциях (конкурентный доступ).
  • Тестирование импорта/экспорта данных.
  • Тестирование миграции данных.

Тестирование хранимых процедур, функций и триггеров:

  • Тестирование входных параметров и выходных результатов.
  • Тестирование обработки ошибок и исключений.
  • Тестирование влияния на данные в таблицах.
  • Тестирование производительности.

Тестирование производительности и нагрузки:

  • Тестирование времени выполнения запросов (SELECT).
  • Тестирование скорости операций модификации данных (INSERT, UPDATE, DELETE).
  • Тестирование поведения БД под высокой нагрузкой.
  • Тестирование масштабируемости.

Тестирование безопасности:

  • Тестирование прав доступа пользователей.
  • Тестирование уязвимостей SQL-инъекций.
  • Тестирование аудита и логирования.

Регрессионное тестирование после изменений схемы БД или кода.

Тестирование резервного копирования и восстановления данных.

Примеры кейсов для проверки Constraints:

ID Название кейса Шаги Ожидаемый результат
1 Проверка PRIMARY KEY - дублирование значения Попытка вставить новую запись с ID, который уже существует в таблице. Система должна выдать ошибку о нарушении уникальности PRIMARY KEY.
2 Проверка FOREIGN KEY - ссылка на несуществующую запись Попытка вставить запись в зависимую таблицу, ссылающуюся на ID, которого нет в родительской таблице. Система должна выдать ошибку о нарушении целостности внешнего ключа.
3 Проверка NOT NULL - вставка NULL Попытка вставить запись в таблицу, оставив NULL в поле, помеченном как NOT NULL. Система должна выдать ошибку о нарушении ограничения NOT NULL.
4 Проверка CHECK - некорректное значение Попытка вставить / обновить запись со значением в поле, которое не удовлетворяет заданному CHECK constraint (например, отрицательное значение в поле возраста). Система должна выдать ошибку о нарушении CHECK constraint.

Пример SQL-запроса для тестирования уязвимостей:

-- Проверка на возможность SQL-инъекции в поле ввода логина
SELECT * FROM users WHERE username = 'admin' AND password = '' OR '1'='1';

Пример запроса для тестирования производительности:

-- Измерение времени выполнения сложного SELECT-запроса
EXPLAIN ANALYZE SELECT o.order_id, c.customer_name, p.product_name
FROM orders o
JOIN customers c ON o.customer_id = c.customer_id
JOIN order_items oi ON o.order_id = oi.order_id
JOIN products p ON oi.product_id = p.product_id
WHERE c.country = 'USA' AND o.order_date > '2023-01-01';