> For the complete documentation index, see [llms.txt](https://kaze.gitbook.io/qa-theory/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kaze.gitbook.io/qa-theory/teoriya-ruchnogo-testirovaniya/kakie-test-keisy-mozhno-sdat-dlya-testirovaniya-baz-dannykh.md).

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

Для тестирования баз данных (DB Testing) обычно создаются тест-кейсы, которые проверяют **корректность данных, целостность и производительность**.&#x20;

***

### **1. Тестирование структуры базы данных**

* Проверка **наличия всех таблиц, колонок, индексов и связей**
* Пример тест-кейса:
  * Проверить, что таблица `users` содержит колонки `id`, `name`, `email` и первичный ключ `id`
  * Проверить наличие внешнего ключа `order.user_id → users.id`

***

### **2. Тестирование целостности данных (Data Integrity)**

* Проверка соблюдения **правил целостности**: уникальность, NOT NULL, foreign key
* Примеры тест-кейсов:
  * Добавить запись с существующим `id` и проверить отклонение
  * Проверить, что удаление родительской записи блокируется при наличии связанных дочерних

***

### **3. Тестирование данных (Data Validation / CRUD)**

* Проверка корректности операций **Create, Read, Update, Delete**
* Примеры тест-кейсов:
  * Вставка новой записи и проверка, что данные корректно сохраняются
  * Обновление записи и проверка значения в таблице
  * Удаление записи и проверка, что она удалена

***

### **4. Тестирование запросов и процедур**

* Проверка корректности **SQL-запросов, представлений (views), хранимых процедур**
* Примеры тест-кейсов:
  * SELECT-запрос возвращает правильные данные по заданному условию
  * Хранимая процедура обновляет правильные записи и возвращает корректный результат

***

### **5. Тестирование производительности (Performance / Load)**

* Проверка **скорости работы запросов и индексов**
* Примеры тест-кейсов:
  * SELECT-запрос с большим количеством записей выполняется < X секунд
  * Проверка времени вставки/обновления 1000 записей

***

### **6. Тестирование безопасности**

* Проверка прав доступа и защиты данных
* Примеры тест-кейсов:
  * Пользователь без прав не может удалить запись
  * SQL-инъекции не проходят и вызывают корректную ошибку
