Prompt engineering для задач QA

Каждый AI-инструмент, который использует QA-инженер — для генерации тест-кейсов, составления баг-репортов или написания кода автоматизации, — даёт более качественный результат при более качественном промпте. Prompt engineering — это просто практика осознанного составления такого ввода, и это навык, который тестировщик может развивать практикой, так же как навык написания чёткого тест-кейса.

В этой статье рассматриваются:

  1. Что prompt engineering значит для QA-инженера
  2. Принципы хорошего промпта
  3. Паттерны промптов, полезные для работы QA
  4. Итерация над промптом

Что Prompt Engineering Значит для QA-инженера

Для большинства сценариев использования в QA prompt engineering — это не столько хитрые приёмы, сколько предоставление AI-инструменту той же информации, которая понадобилась бы коллеге-человеку для качественного выполнения задачи: реальное требование, релевантный контекст, формат, в котором нужен ответ, и любые важные ограничения. Тестировщик, который уже хорошо пишет чёткий баг-репорт или точный тест-кейс, уже обладает большей частью навыка, нужного для хорошего промпта, — базовая дисциплина та же.

Принципы Хорошего Промпта

Несколько принципов стабильно улучшают результат:

  • Будьте конкретны — «сгенерируй граничные тест-кейсы для поля даты рождения, которое должно представлять возраст от 18 до 65 лет» работает намного лучше, чем «протестируй поле даты».
  • Давайте контекст — тип приложения, релевантное требование и любые ограничения, о которых модель иначе не узнает.
  • Укажите формат вывода — таблица, нумерованный список, конкретная структура — чтобы результат был пригоден к использованию без переформатирования.
  • Укажите, что исключить — если у вас уже есть позитивные тест-кейсы и нужны только граничные случаи, скажите это явно, иначе инструмент сгенерирует всё.

Паттерны Промптов, Полезные для Работы QA

Несколько переиспользуемых паттернов часто встречаются в промптинге для QA:

  • Задание роли — просьба к модели действовать как старший QA-инженер, рецензирующий конкретный тип функции, может изменить характер включаемых деталей.
  • Примеры (few-shot) — включение одного-двух примеров нужного формата (образец тест-кейса, образец баг-репорта) делает результат гораздо более последовательным, чем одно лишь описание.
  • Пошаговые инструкции — для многосоставных задач разбиение запроса на явные шаги даёт более надёжный результат, чем один большой составной запрос.

Итерация над Промптом

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

Дополнительные материалы

Тестирование промптов и валидация ввода
Генерация тест-кейсов с помощью AI

Содержание