Приведи пример тест-кейса для проверки целостности данных в базе данных

«Приведи пример тест-кейса для проверки целостности данных в базе данных» — вопрос из категории Тестовая документация, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Тест-кейс: Проверка целостности данных при вставке записи в таблицу Users

Цель: Убедиться, что операция INSERT корректно соблюдает ограничения (constraints) базы данных.

Предусловия:

  • База данных запущена и доступна.
  • Существует таблица Users со следующей структурой:
    CREATE TABLE Users (
        id INT PRIMARY KEY AUTO_INCREMENT,
        name VARCHAR(100) NOT NULL,
        email VARCHAR(255) UNIQUE NOT NULL
    );

Шаги выполнения:

  1. Вставка валидной записи:
    INSERT INTO Users (name, email) VALUES ('Тестовый Пользователь', 'test@example.com');
  2. Проверка успешной вставки:
    SELECT id, name, email FROM Users WHERE email = 'test@example.com';

    Ожидаемый результат: Запись найдена, поле id заполнено автоматически сгенерированным значением.

  3. Проверка ограничения UNIQUE:
    -- Попытка вставить запись с дублирующимся email
    INSERT INTO Users (name, email) VALUES ('Другой Пользователь', 'test@example.com');

    Ожидаемый результат: Операция завершается ошибкой нарушения уникальности (например, IntegrityError).

Постусловие (Очистка тестовых данных):

DELETE FROM Users WHERE email = 'test@example.com';

Почему это важно: Такой тест проверяет не только базовую функциональность INSERT, но и корректность работы механизмов целостности данных (AUTO_INCREMENT, UNIQUE constraint), что критично для предотвращения дублирования и потери данных.