Как составить тестовые сценарии с помощью ИИ

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

Портрет Григория Щедрина

Григорий Щедрин

ИИ-аналитик

Привет, я Гриша. Тестовые сценарии полезны, если проверяют реальные ожидания пользователя и сложные границы, а не повторяют названия кнопок. ИИ может подсказать пропущенные случаи, но без требований он будет угадывать. Дайте ему описание поведения, попросите покрыть несколько типов ситуаций и проверьте каждый сценарий по источнику истины.

Передайте критерии

Подготовьте краткий фрагмент требований: входные данные, пользовательское действие и ожидаемый результат. Укажите роли, ограничения и ошибки, которые важны. Удалите персональные или конфиденциальные данные. Если правило не определено, назовите его открытым вопросом, а не просите модель выдумать ответ.

Хорошо описывайте поведение: «пустой адрес не сохраняется; интерфейс показывает ошибку рядом с полем» лучше, чем «форма должна быть качественной». Добавьте версию требований или ссылку на внутренний документ только если разрешено делиться содержимым. Внешней модели часто достаточно обезличенного текста.

Попросите разные виды проверок

Спросите о стандартном сценарии, граничных значениях, неверном вводе, правах доступа и повторном действии. Для каждого варианта требуйте предусловие, шаги и ожидаемый результат. Не просите просто «составить 100 тестов»: длинный список повторов хуже нескольких разных проверок.

В SYNTX можно попросить языковую модель оформить сценарии в таблицу и отметить, какое требование они проверяют. Возможности сервиса не означают автоматического запуска тестов в вашем проекте. Бесплатный старт включает пять токенов и пять запросов к языковым моделям; план FREE действует без срока. Открыть SYNTX.

Пример: поле скидки

Требование: скидка принимает целое число от 0 до 50 включительно; пустое значение означает отсутствие скидки; для 51 и отрицательного числа сохранение запрещено. Сценарии: пустое поле; 0; 50; 51; −1; текст вместо числа. Для каждого проверяем и сообщение, и сохранённое состояние.

Промпт: «По этим условиям составь компактную таблицу проверок: предусловие, ввод, действие, ожидаемый результат. Не добавляй правила округления или валюту. Отдельно перечисли вопросы, если поведение при десятичной дроби не задано». Модель должна отметить неопределённость для дробей, а не принимать решение за владельца продукта.

Проверьте таблицу: есть нижняя и верхняя границы; крайние значения включены; отрицательное значение запрещено; неизвестный случай помечен открытым вопросом. Если модель пропустила 0 или решила, что пустое значение равно нулю, уточните требование и попросите пересобрать только этот набор.

Свяжите сценарии с требованиями

Назначьте каждому тесту идентификатор или название требования. Удалите сценарии, которые проверяют одно и то же без отдельной причины. Уточните, какой результат доказывает прохождение. Если нужен ручной тест, опишите тестовые данные и ожидаемый экран. Если сценарий автоматизирован, тестировщик или разработчик определит подходящий слой проверки в соответствии с архитектурой проекта.

Попросите коллегу проверить, что сценарии понятны без объяснения автора. При изменении правила обновите связанные тесты. Храните результаты и версию требования вместе, чтобы не использовать старый список при новом релизе.

Не принимайте тесты на веру

ИИ может предложить невозможную последовательность, использовать несуществующее поле или забыть предусловие. Сверьте шаги с интерфейсом, типами данных и утверждённой логикой. Не копируйте реальные клиентские записи в тест; используйте синтетические значения.

Свяжите сценарий с требованием

Чтобы не получить набор случайных проверок, укажите рядом с каждым сценарием исходное требование. Для правила «пользователь видит подтверждение после сохранения» сценарий должен описывать ввод данных, действие сохранения и наблюдаемое подтверждение. Отдельно проверьте ситуацию, когда сохранение не удалось: текст ошибки, возможность повторить действие и сохранность введённых значений.

Попросите модель отметить сценарии без проверяемого результата. Фраза «проверить удобство» сама по себе не говорит, что именно следует сделать и как оценить ответ. Её можно преобразовать в задачу наблюдения: новый пользователь выполняет заданный путь без подсказки, наблюдатель фиксирует места остановки и ошибки. Для числовых ограничений добавьте значения на границе: допустимое минимальное, значение ниже него и максимальное. Такой набор обычно обнаруживает больше проблем, чем десяток почти одинаковых обычных примеров.

Например, для поля количества проверяют ноль, обычное значение, максимум и число выше допустимого. Для каждой строки заранее формулируют, что должен увидеть пользователь: сохранение, подсказку или отказ. Такой набор легко выполнить повторно после исправления и сравнить поведение до и после.

Частые вопросы

Может ли ИИ гарантировать полное покрытие?

Нет. Он помогает генерировать идеи, но полноту определяют требования, риски и архитектура продукта.

Нужно ли писать тесты для каждого значения?

Покрывайте границы и классы поведения, а не все числа по очереди. Выбор проверок зависит от риска и правил.

Что делать с неоднозначным требованием?

Зафиксируйте вопрос и передайте его владельцу решения. Не превращайте догадку модели в спецификацию.

Статья была полезна?