«Напиши тест-кейсы для формы входа» даёт общий список: поле username, поле password, кнопка отправки. «Форма входа для SaaS-приложения с email+password, Google OAuth и MFA, аккаунт блокируется после 5 неудачных попыток» даёт что-то пригодное для использования. Статья разбирает структуру промптов которая делает вывод AI конкретным, пять категорий где он реально помогает, чеклист ревью того что он стабильно упускает, и рабочий процесс из пяти шагов где AI генерирует первый черновик, а ты фильтруешь качество.

Где ChatGPT реально помогает с тест-кейсами

Сначала честно о том что получаешь.

Где AI реально помогает

  • Быстро генерирует первоначальный список сценариев, потом дорабатываешь
  • Находит разбиения на эквивалентности и границы которые легко пропустить
  • Конвертирует пользовательские истории в структурированную таблицу тест-кейсов
  • Генерирует негативные тест-кейсы (их легко забыть)
  • Придумывает тестовые данные (валидные/невалидные форматы email, граничные числа)

Где AI не справляется

  • Не знает реального поведения твоего приложения
  • Не тестирует сам, только предлагает что тестировать
  • Пропускает специфичные для бизнеса edge case без контекста
  • Генерирует правдоподобно выглядящие, но иногда неверные ассерты
  • Общий промпт даёт общий результат

Решение последнего пункта: давать контекст. Как можно больше.

Базовая структура промпта

Плохой промпт:

«Напиши тест-кейсы для формы входа.»

Получишь: тестирование поля username, поля password, кнопки отправки... Ничего специфичного для твоей системы.

Лучшая структура:

Фича: [что делает фича и для чего она нужна]
Правила: [реальные бизнес-правила и ограничения]
Типы пользователей: [кто использует эту фичу]
Технический контекст: [необязательно — фреймворк, тип приложения]
Формат вывода: [как хочешь получить результаты]
Задача: сгенерируй тест-кейсы покрывающие happy path, негативные случаи и edge case.

Готовые примеры промптов

1. Из пользовательской истории в тест-кейсы

Конвертируй эту пользовательскую историю в тест-кейсы,
покрывающие happy path, негативные случаи и edge case.

Пользовательская история:
Как зарегистрированный пользователь, я хочу сбросить пароль через email,
чтобы восстановить доступ если забуду его.

Правила:
- Ссылка для сброса действует 1 час
- После использования ссылки она немедленно истекает
- После 3 последовательных неудачных попыток входа аккаунт блокируется
- Ссылка отправляется на email зарегистрированный в системе
- Новый пароль: 8–64 символа, минимум 1 цифра, минимум 1 заглавная буква

Формат: таблица с колонками: ID тест-кейса | Описание | Шаги | Ожидаемый результат

ChatGPT сгенерирует

  • Happy path: валидный email → получает ссылку → переходит → устанавливает валидный пароль
  • Истёкшая ссылка: использование после 1 часа → ошибка
  • Повторное использование ссылки: используется дважды → ошибка при втором использовании
  • Невалидный новый пароль: слишком короткий, без цифр, без заглавных
  • Email не в системе: письмо не отправляется, ошибка не раскрывает существует ли email

Проверь вывод: соответствует ли он реальному поведению твоей системы? Скорректируй то что не совпадает.

2. Тест-кейсы для API-эндпоинта

Тестирую REST API эндпоинт. Сгенерируй тест-кейсы.

Эндпоинт: POST /api/users
Назначение: создание нового аккаунта пользователя
Правила:
- email: обязательный, валидный формат, уникальный в системе
- password: обязательный, 8–64 символа, минимум 1 заглавная, минимум 1 цифра
- role: необязательный, значения: 'admin' | 'member' | 'viewer', дефолт 'member'
- name: необязательный, максимум 100 символов

Успех: возвращает 201 с объектом пользователя (id, email, role, created_at). Пароль в ответе отсутствует.
Ошибка валидации: возвращает 400 с деталями ошибок по полям.
Дублирующийся email: возвращает 409.

Тест-кейсы в виде таблицы: Тест | Метод | Тело | Ожидаемый статус | Ожидаемый ответ

Такой вывод напрямую транслируется в Playwright API-тесты.

3. Поиск edge case для конкретного поля

Есть поле "количество" в корзине интернет-магазина:
- Должно быть целым числом
- Минимум: 1
- Максимум: 99
- Текущее количество обновляется в реальном времени

Используя анализ граничных значений и разбиение на классы эквивалентности,
перечисли значения которые стоит протестировать и ожидаемый результат для каждого.
Формат: Значение | Класс | Ожидаемое поведение

ChatGPT хорошо знает анализ граничных значений. Этот промпт даёт структурированный и обоснованный список.

4. Расширение неполных критериев приёмки

Критерии приёмки для этой фичи расплывчатые.
Помоги определить недостающие сценарии.

Фича: поиск товаров
Критерии приёмки:
- Пользователи могут искать по названию товара
- Результаты отображаются в течение 2 секунд
- Сначала показываются наиболее релевантные результаты

Какие сценарии отсутствуют в этих критериях?
Что QA-команде стоит добавить до начала тестирования?

Это промпт «что мы упустили?». Полезен на планировании спринта.

5. Генерация тестовых данных

Нужны тестовые данные для поля email.
Сгенерируй 15 значений покрывающих:
- Валидные форматы (включая международные, поддомены, plus-адресацию)
- Невалидные форматы (разные способы поломать email)
- Edge case (очень длинный, пустой, только пробелы, SQL-инъекция, эмодзи)

Формат: Значение | Валидный? | Почему

AI очень хорошо генерирует разнообразные наборы тестовых данных. Это серьёзно экономит время.

Как улучшить качество вывода

Скажи что уже есть

У меня уже есть happy path и базовые негативные случаи.
Вот мои текущие тест-кейсы: [вставить их]

Что я упустил? Сфокусируйся на edge case и сценариях безопасности.

Это предотвращает дублирование и заставляет AI работать с пробелами.

Дай технический стек

Это Next.js-приложение использующее PostgreSQL.
Какие edge case на уровне базы данных стоит протестировать
для формы регистрации пользователей, неочевидные со стороны UI?

Контекст стека даёт более конкретный вывод.

Попроси расставить приоритеты

Из этого списка 30 тест-кейсов, какие 8 приоритизировать
если у меня только 2 часа до релиза?
Учитывай: влияние на пользователей, вероятность багов, риск фичи.

Попроси Playwright-код

Конвертируй эти тест-кейсы в Playwright TypeScript код.
URL страницы: https://lab.becomeqa.com/login.
Селекторы: data-testid="email-input", data-testid="password-input",
data-testid="login-button", data-testid="error-message".

Тест-кейсы:
1. Валидный вход с admin@test.com / ValidPass1
2. Неверный пароль показывает сообщение об ошибке
3. Пустой email показывает ошибку обязательного поля

Вывод потребует проверки и доработки, но это быстрая отправная точка.

Что всегда проверять в AI-сгенерированных тест-кейсах

Проверяй общие заполнители. Формулировки вроде «Убедиться что кнопка кликабельна» не являются тест-кейсами. Удаляй. Проверяй конкретность ожидаемых результатов. «Отображается сообщение об ошибке»: слабо. «Сообщение об ошибке гласит "Email is required"»: тестируемо. Проверяй бизнес-логику. AI не знает правил твоего домена. Если в приложении особое ценообразование для определённых типов пользователей, тесты для этого не появятся. Проверяй интеграционные сценарии. AI генерирует изолированные тесты. AI такое скорее всего пропустит: «Работает ли письмо для сброса пароля если пользователь меняет email в процессе сброса?» Верифицируй граничные значения. AI часто ошибается в границах. Если максимум 64 символа, убедись что написано 63/64/65, а не 63/64.

Практический рабочий процесс

1. Сначала напиши свои сценарии (5–10 минут). Какие ключевые пользовательские флоу?

2. Дай ChatGPT фичу + правила + свои сценарии, спроси: «Что я упустил? Разверни в детальные тест-кейсы.»

3. Проверь вывод: вычеркни общие, скорректируй ожидаемые результаты под реальное поведение приложения.

4. Добавь domain-специфичные случаи которые AI не знает (особые бизнес-правила компании, известные прошлые баги, интеграционные сценарии).

5. Используй результат как реальный список тест-кейсов или конвертируй в Playwright-код.

Так AI становится генератором первого черновика, а ты берёшь на себя роль фильтра качества.

Чего не делать

Не копируй AI-тест-кейсы без проверки. Они будут выглядеть полными, но упустят специфику твоей системы. Не используй как замену пониманию фичи. Если сам не понимаешь что тестируешь, AI не спасёт. Не пропускай контекст. Чем конкретнее промпт, тем конкретнее вывод. «Форма входа» даёт мусор. «Форма входа для SaaS-приложения с email+password, Google OAuth и поддержкой MFA где аккаунты блокируются после 5 неудачных попыток» даёт что-то полезное. → See also: Prompt Engineering для QA-инженеров: как получать лучшие результаты от ИИ-инструментов | ИИ в QA в 2026 году: что реально полезно, а что просто хайп | Инструменты генерации тестов с ИИ: что реально работает в 2026