ИИ в тестировании: как ChatGPT ускоряет работу QA-инженера
Модели ИИ, или как их правильнее называть, машинное обучение (ML), уже значительно повлияли и будут продолжать влиять на эффективность многих профессий, и тестирование тут не исключение. Но к нему не стоит относиться, как к явлению, которое полностью заменит людей, а скорее стоит воспринимать модели ML, как инструмент, с помощью которого те, кто его используют, будут эффективнее тех, кто не использует. Поэтому, несмотря на то, что полноценное глубокое тестирование — это часто сложный и трудоемкий процесс, и машины его, вероятно, не заменят никогда, мы, как QA, можем значительно ускорить часть нашей работы с помощью ИИ. В этой статье на примере популярного ChatGPT я рассмотрю его практическое применение в разных аспектах тестирования.
Я буду использовать последнюю версию ChatGPT 5.1, но можно легко пользоваться и другими популярными моделями, например, chat.deepseek который в российских условиях проще в эксплуатации.
Перед тем как начнем, несколько практических рекомендаций:
- Это языковые модели, поэтому чем больше контекста вы опишите в вопросе/промпте (запрос, который вы пишите в модель), тем вероятнее вы увидите в ответе то, что вам нужно. Далее в примерах будут приведены вопросы и ответы модели.
- Сохраняйте рабочие промпты (prompt) — шаблоны запросов к ИИ, которые в дальнейшем можно переиспользовать для других подобных задач.
- Не указывайте в запросах внутреннюю информацию о компании, где работаете, или большие внутренние куски кода. Это будет нарушением безопасности. Вместо этого используйте замену данных на аналогичные, но не связанные с компанией, иными словами обезличивайте их.
Итак, теперь переходим к примерам использования.
Генерация чек-листов для типичных функциональностей
Часто можно столкнуться с проверкой типовых вещей, вроде чата, авторизации, полей ввода и т.п. ИИ может помочь составить верхнеуровневый список проверок, из которых затем можно написать полноценные тест-кейсы или чек-листы. Достаточно указать основные требования из документации.
Пример промпта:
Есть форма авторизации пользователя с указанием логина и пароля. В качестве логина может использоваться только почтовый адрес. Ограничение по логину — 16 знаков. Напиши чек-лист из 15 проверок этой функциональности.
Ответ ИИ:
Чек-лист: Авторизация с логином-почтой (≤ 16 символов)
1. Валидные сценарии
Успешная авторизация с корректными e-mail (до 16 символов) и паролем.
Успешная авторизация при вводе e-mail ровно 16 символов (пограничное значение).
Авторизация с разными валидными паролями (мин., макс., спецсимволы — если есть правила).
2. Негативные проверки по логину
Ввод e-mail длиннее 16 символов → ошибка/обрезание/блокировка, согласно требованиям.
Ввод строки короче минимально допустимой (если мин. длина есть; если нет — просто 1 символ).
Ввод e-mail без символа «@».
Ввод e-mail без доменной части (например, «user@»).
Ввод e-mail без локальной части («@mail.com»).
Ввод e-mail с пробелами внутри или в начале/конце.
Ввод запрещённых символов (напр., кириллица, эмодзи, <>[]{}).
3. Негативные проверки по паролю
Неверный пароль при корректном e-mail → проверка сообщения об ошибке.
Пустой пароль → ошибка.
4. Поведение UI и безопасность
Проверка маскирования пароля (символы скрыты).
Проверка кнопки “Показать пароль”, если есть.
Блокировка после N неуспешных попыток (если реализовано) или корректная обработка бесконечных попыток.
Как видим, у нас получился неплохой базовый чек-лист, в котором уже даже включены техники тест-дизайна (пограничные значения).
Генерация тестовых данных
Иногда нужно быстро получить список из рандомных данных определенного формата. ИИ с этим отлично справится.
Пример промпта:
Сгенерируй 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 в реальной работе, но со временем происходит привыкание 😀 Однако, я бы не сказал, что он делает за вас всю работы и вы начинаете тупеть. Он скорее как ваш личный очень способный стажер, которому можно давать задания, но нужно за ним перепроверять, потому что иногда он что-то недопонял, а иногда понял, но сделал криво-косо. В других статьях рассмотрим другие примеры использования искусственного интеллекта в работе тестировщика.