ChatGPT — чат-бот с искусственным интеллектом, который стал незаменимым инструментом для многих людей и компаний. Но может ли он быть полезен для тестировщиков?

В качестве отправной точки можно обратиться к ChatGPT, чтобы выяснить, какие преимущества он может предложить тестировщикам программного обеспечения. Сервис выделил несколько областей, в которых он может быть полезен:
- Генерация тестовых сценариев.
- Воспроизведение ошибок и отчётность.
- Формирование тестовых данных.
- Исследовательское тестирование.
- Помощь в автоматизации тестирования.
- Юзабилити-тестирование.
- Постоянное обучение и обмен знаниями.
Кратко рассмотрим несколько из вышеупомянутых областей и изучим их результаты.
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.
Тест-кейсы
В качестве примера для генерации тест-кейсов можно выбрать интернет-магазин. Все необходимые требования были указаны в следующем запросе:
Помоги, пожалуйста, создать тест-кейсы с описанием, предварительными условиями и ожидаемыми результатами для новой функции в интернет-магазине, реализующей опцию бесплатной доставки для определённых товаров. Значок бесплатной доставки должен отображаться на страницах корзины, оформления и подтверждения заказа. Не все товары имеют опцию бесплатной доставки. Пожалуйста, напиши позитивные и негативные тест-кейсы.
Сервис сгенерировал следующие тест-кейсы:
- Значок бесплатной доставки отображается в корзине.
- Значок бесплатной доставки отображается при оформлении заказа.
- Значок бесплатной доставки отображается на странице подтверждения заказа.
- Отсутствие значка бесплатной доставки в корзине.
- Отсутствие значка бесплатной доставки при оформлении заказа.
- Значок бесплатной доставки не отображается на странице подтверждения заказа.
Полный пример одного из тест-кейсов:
Описание: значок бесплатной доставки отображается в корзине.
Предварительные условия: на сайте есть товары с бесплатной доставкой и товары без бесплатной доставки.
Товар с бесплатной доставкой добавлен в корзину.Шаги воспроизведения:
1. Добавить товар с бесплатной доставкой в корзину.
2. Просмотреть страницу корзины.Ожидаемый результат: на странице корзины должен отображаться значок «бесплатная доставка» или пометка рядом с товаром, для которого действует бесплатная доставка.
Далее можно изменить запрос, добавив тест-кейс, описывающий обработку нескольких товаров в корзине.
Добавь тест-кейс для нескольких товаров в корзине.
ChatGPT вернул ещё несколько тест-кейсов со следующими описаниями:
- Значок бесплатной доставки отображается в корзине с несколькими товарами.
- Отсутствие значка бесплатной доставки в корзине с несколькими товарами без опции бесплатной доставки.
- Значок бесплатной доставки отображается в корзине с несколькими товарами, один из которых с опцией бесплатной доставки.
Стоит отметить, что ChatGPT возвращает хорошо структурированные описания, предусловия и ожидаемые результаты.
Для дальнейшего изучения этого вопроса добавим следующий запрос:
Укажи другие возможные тест-кейсы.
ChatGPT сгенерировал ещё несколько тест-кейсов:
- Возможность бесплатной доставки зависит от общей суммы заказа.
- Применение опции бесплатной доставки.
- Повторная проверка бесплатной доставки после удаления товара.
Последние тест-кейсы основаны на предположениях. Поэтому следует проверить полученные ответы и согласовать их с критериями приёмки проекта, чтобы убедиться в их точности.
Ограничения:
Существуют области, где требуется более обширные знания, что может ограничить возможность ChatGPT генерировать точные тест-кейсы.
Рекомендации:
Во-первых, очень важно составить чёткие и подробные требования. Чем конкретнее сформулирован запрос, тем более точными будут полученные от ChatGPT ответы.
Во-вторых, необходимо перепроверить ответы, предоставленные ChatGPT. Иногда он может делать предположения, которые не соответствуют действительности, и выдавать некорректные результаты. Поэтому важно тщательно оценивать и проверять сгенерированные ответы.
В-третьих, после просмотра ответов можно изменить запрос, предоставить дополнительную информацию, запросить повторную генерацию ответа, а также выбрать ответы, которые наиболее подходят и соответствуют заданному вопросу.
Тестовые данные
Рассмотрим, как ChatGPT может быть использован для генерации тестовых данных.
Запрос:
Сгенерируй тестовые данные для проверки поля номера мобильного телефона, которое должно принимать только цифровые символы. Номер мобильного телефона содержит 10 цифр. Предоставь только негативные тест-кейсы.
Полученный результат:
- Поле содержит алфавитные символы: abcdefghij.
- Поле содержит специальные символы: !@#$%^&*().
- Поле содержит комбинацию букв и цифр: abc1234567.
- Поле содержит менее 10 цифр: 123456789.
- Поле содержит более 10 цифр: 12345678901.
- Поле не заполнено.
Также можно сгенерировать данные для таблиц в Excel:
Сгенерирую случайные данные для следующих столбцов таблицы в Excel: имя, фамилия, номер телефона, город, страна — по 20 строк каждого.

Сервис справился с задачей за несколько секунд. Это занимает намного меньше времени, чем ввод данных вручную или поиск тестовых наборов данных в Google.
Отладка
Далее стоит проверить, сможет ли ChatGPT обнаружить ошибку в SQL-запросе:
Можешь ли ты проверить, что не так с SQL-запросом:
SELECT customers_id, SUM(invoice.total) AS total_order_amount
FROM customers
JOIN invoice ON customers.customer_id = customers.customer_id
GROUP BY customers.customer_id
HAVING total_order_amount > 100
ORDER BY customers.customer_id
LIMIT 10;
Сервис нашёл ошибку, исправил её и дал очень полезное пояснение.

Автоматизированное тестирование
Теперь можно проверить возможности ChatGPT в создании автоматизированных скриптов:
Можешь ли ты создать скрипт автоматизации с использованием Cypress на Javascript? Мне нужен скрипт для функции поиска:
Окно поиска имеет идентификатор searchBox.
- Я захожу на сайт xyz.com.
- Набираю в поисковой строке «зеркало» и нажимаю клавишу Enter.
Я должен быть перенаправлен на страницу поиска с заголовком «Результаты по запросу „зеркало“».
В результате сервис сгенерировал готовый фрагмент кода, который можно просто скопировать.

Далее можно переработать скрипт, чтобы использовать его в рамках методологии разработки на основе поведение (BDD).
Можешь ли ты переделать этот скрипт под методологию разработки на основе поведения с помощью Cucumber?
Полученный ответ:


Сервис также предоставил рекомендации по созданию необходимых каталогов и обновлению зависимостей.
Заключение
ChatGPT отлично справляется с созданием тест-кейсов, тестовых данных и даже автоматизированных скриптов простой и средней сложности. Сервис может послужить в качестве ценного помощника, ускоряя выполнение различных задач. Однако для эффективного использования возможностей ChatGPT важно понимать его сильные и слабые стороны. Пока он ещё не может полностью выполнить работу тестировщика. Но уже сейчас сервис отлично подходит для оптимизации рабочего процесса и преодоления определённых трудностей.
Перевод статьи «ChatGPT for QA Professionals».