ИИ в тестировании: как ChatGPT ускоряет работу QA-инженера

Модели ИИ, или как их правильнее называть, машинное обучение (ML), уже значительно повлияли и будут продолжать влиять на эффективность многих профессий, и тестирование тут не исключение. Но к нему не стоит относиться, как к явлению, которое полностью заменит людей, а скорее стоит воспринимать модели ML, как инструмент, с помощью которого те, кто его используют, будут эффективнее тех, кто не использует. Поэтому, несмотря на то, что полноценное глубокое тестирование — это часто сложный и трудоемкий процесс, и машины его, вероятно, не заменят никогда, мы, как QA, можем значительно ускорить часть нашей работы с помощью ИИ. В этой статье на примере популярного ChatGPT я рассмотрю его практическое применение в разных аспектах тестирования.

Я буду использовать последнюю версию ChatGPT 5.1, но можно легко пользоваться и другими популярными моделями, например, chat.deepseek который в российских условиях проще в эксплуатации.

Перед тем как начнем, несколько практических рекомендаций:

  1. Это языковые модели, поэтому чем больше контекста вы опишите в вопросе/промпте (запрос, который вы пишите в модель), тем вероятнее вы увидите в ответе то, что вам нужно. Далее в примерах будут приведены вопросы и ответы модели.
  2. Сохраняйте рабочие промпты (prompt) — шаблоны запросов к ИИ, которые в дальнейшем можно переиспользовать для других подобных задач.
  3. Не указывайте в запросах внутреннюю информацию о компании, где работаете, или большие внутренние куски кода. Это будет нарушением безопасности. Вместо этого используйте замену данных на аналогичные, но не связанные с компанией, иными словами обезличивайте их.

Итак, теперь переходим к примерам использования.

Генерация чек-листов для типичных функциональностей

Часто можно столкнуться с проверкой типовых вещей, вроде чата, авторизации, полей ввода и т.п. ИИ может помочь составить верхнеуровневый список проверок, из которых затем можно написать полноценные тест-кейсы или чек-листы. Достаточно указать основные требования из документации.

Пример промпта:

Есть форма авторизации пользователя с указанием логина и пароля. В качестве логина может использоваться только почтовый адрес. Ограничение по логину — 16 знаков. Напиши чек-лист из 15 проверок этой функциональности.

Ответ ИИ:

Чек-лист: Авторизация с логином-почтой (≤ 16 символов)

1. Валидные сценарии

  1. Успешная авторизация с корректными e-mail (до 16 символов) и паролем.

  2. Успешная авторизация при вводе e-mail ровно 16 символов (пограничное значение).

  3. Авторизация с разными валидными паролями (мин., макс., спецсимволы — если есть правила).

2. Негативные проверки по логину

  1. Ввод e-mail длиннее 16 символов → ошибка/обрезание/блокировка, согласно требованиям.

  2. Ввод строки короче минимально допустимой (если мин. длина есть; если нет — просто 1 символ).

  3. Ввод e-mail без символа «@».

  4. Ввод e-mail без доменной части (например, «user@»).

  5. Ввод e-mail без локальной части («@mail.com»).

  6. Ввод e-mail с пробелами внутри или в начале/конце.

  7. Ввод запрещённых символов (напр., кириллица, эмодзи, <>[]{}).

3. Негативные проверки по паролю

  1. Неверный пароль при корректном e-mail → проверка сообщения об ошибке.

  2. Пустой пароль → ошибка.

4. Поведение UI и безопасность

  1. Проверка маскирования пароля (символы скрыты).

  2. Проверка кнопки “Показать пароль”, если есть.

  3. Блокировка после N неуспешных попыток (если реализовано) или корректная обработка бесконечных попыток.

Как видим, у нас получился неплохой базовый чек-лист, в котором уже даже включены техники тест-дизайна (пограничные значения).

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

Иногда нужно быстро получить список из рандомных данных определенного формата. ИИ с этим отлично справится.

Пример промпта:

Сгенерируй 3 набора данных в формате: Фамилия Имя Отчество; любой город СНГ

Ответ ИИ:

  1. Иванов Сергей Петрович; Минск

  2. Кузнецова Алина Викторовна; Алматы

  3. Гриневич Артём Андреевич; Новосибирск

Написание SQL запросов

Каждый раз описывать с нуля всю структуру таблиц может быть достаточно трудоемко, но, если накопить у себя готовые шаблоны, то оперировать ими можно достаточно быстро. А также, быстро решать задачи, с которыми, возможно, ранее не сталкивались.

Пример промпта:

Есть SQL таблица формата:
id — ID записи;
date — дата;
status — статус;
comission — комиссия;
curr — валюта комиссии;
Нужно написать SQL запрос, который выведет сумму комиссий в валюте USD за ноябрь 2025 года.

Ответ ИИ:

SELECT SUM(comission) AS total_comission_usd
FROM your_table
WHERE curr = 'USD'
AND date >= '2025-11-01'
AND date < '2025-12-01';

Я приложил только один пример, чтобы не раздувать размер статьи, но наша машина приложила ещё пару примеров, например, если есть отдельная таблица курсов и нужно конвертировать комиссию из другой валюты в USD. В целом ИИ — это очень мощный инструмент для написания SQL запросов.

Валидация

Ещё одним хорошим примером использования ИИ является валидация самых разных вещей. Например, какого-нибудь JSON, или как недавно у нас в банке менялся формат для передачи SWIFT сообщений и нужно было валидировать файлы ISO 20022. Конечно, нужно относиться к тому, что выдает ИИ, с осторожностью, но как быстрая проверка, для того, чтобы оперативно подсветить, что может быть не так, эта штука хороша.

Пример промпта:

Правильно ли составлен json? { «name»: «Иван», «age»: 37, «mother»: { «name»: «Ольга», «age»: 58 }, «children»: [ «Маша», «Игорь», «Таня» ], «married»: true, «dog»: null }

Ответ ИИ:

Да, JSON составлен полностью правильно — синтаксис корректный.

Проверка по правилам JSON:

  • Все ключи в двойных кавычках — ✔️

  • Строковые значения тоже в двойных кавычках — ✔️

  • Числа записаны без кавычек — ✔️

  • Булево значение (true) валидно — ✔️

  • null валидно — ✔️

  • Объект и массивы корректно закрыты — ✔️

Этот JSON без ошибок и корректно распарсится любым стандартным парсером.

Можно использовать, например, в случае, когда вам дают задание найти ошибки. Или вы делаете mock, и хотите взять реальный запрос, сделав некий рандомайз по значениям полей.

Итоги

ИИ в руках тестировщика, QA-инженера — это сильный инструмент, позволяющий ускорить и оптимизировать собственную работу. Скажу честно, по началу идет тяжеловато и не всегда приходят идеи по использованию AI в реальной работе, но со временем происходит привыкание 😀 Однако, я бы не сказал, что он делает за вас всю работы и вы начинаете тупеть. Он скорее как ваш личный очень способный стажер, которому можно давать задания, но нужно за ним перепроверять, потому что иногда он что-то недопонял, а иногда понял, но сделал криво-косо. В других статьях рассмотрим другие примеры использования искусственного интеллекта в работе тестировщика.

Связанные вопросы