5 мощных промптов ChatGPT для тестировщиков

Перевод статьи «5 Powerful ChatGPT prompts for QA».

Пока рано говорить о том, что ИИ заменит тестировщиков в ближайшем будущем. Но необходимо понимать, что мы должны быть знакомы с написанием промптов – ввода в ЧатГПТ, чтобы быть продуктивными в своей работе.

Поэтому я начала изучать возможности ChatGPT, проверяя различные промпты, релевантные для QA-процессов, чтобы затем применять их при исполнении своих рабочих обязанностей.

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

В этом блоге я поделюсь некоторыми из моих проверенных промптов ChatGPT для QA, которые я сохранила в своем блокноте для регулярного использования.

Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.

Промпты ChatGPT для QA

Я считаю, что ChatGPT не может быть решающим для тестировщиков, поскольку тестирование ПО требует понимания контекста. ChatGPT может быть не в состоянии понять весь контекст и тонкости конкретного программного приложения, или его взаимодействия.

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

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

Аналогично, при тестировании адресной формы ChatGPT можно использовать для генерации тестовых данных с минимальными усилиями.

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

  • Генерация тест-кейсов для проверки изменений кода.
  • Генерация тестовых данных.
  • Обзор кода для выявления потенциальных проблем.
  • Генерация кода для автоматизации тестирования.
  • Помощь в документировании.

1 – Тест-кейсы изменений в коде приложения

Позиция опытного QA-специалиста с глубокими знаниями в области кодирования и лучших практик кодирования. Мне нужны примеры тест-кейсов проверки измененного кода, внесенное в наше приложение разработчиком. Для создания тест-кейсов следуй приведенным ниже рекомендациям, если что-то не ясно уточни перед созданием тест-кейсов.
1. Сгенерируй тест-кейсы, которые охватывают как положительные, так и отрицательные сценарии. При необходимости сгенерируй несколько тест-кейсов, различающихся по тестовым данным, чтобы охватить различные положительные и отрицательные сценарии.
2. Нужен тест-кейс, который проходит через обработку ошибок (блок catch) измененного кода. Если в коде нет блока catch, то предложи тест-кейсы, которые должны быть обработаны в блоке catch.
3. Нужны тест-кейсы охватывающие нефункциональные аспекты. Например, concurrency.
4. Тест-кейсы должны быть релевантны данному коду и не должны быть разработаны на основе предположений.

5. Тест-кейсы должны быть в табличном формате.

Как использовать этот промпт

Когда нужна помощь ChatGPT для создания подробных тест-кейсов для конкретного изменения кода. Это полезно во время проверки кода, чтобы убедиться, что разработчик добавил необходимые тесты, охватывающие как положительные, так и отрицательные сценарии. Используя этот пример, я могу обнаружить несколько потенциальных крайних случаев.

Например проверка изменения такого кода:

function calculateDiscount(bin) {
  // Visa range (5111 - 5222)
  const visaPattern = /^5[1-2]\d{2}/;

  // MasterCard range (4111 - 4444)
  const masterCardPattern = /^4[1-4]\d{2}/;

  if (visaPattern.test(bin)) {
    return 15.0; // Visa discount
  } else if (masterCardPattern.test(bin)) {
    return 10.0; // MasterCard discount
  } else {
    return 0.0; // No discount for other card types
  }
}

2 – Пример ревью кода в ChatGPT

Роль : QA (тестировщика) , следуй приведенным ниже инструкциям по проверке корректности предоставленного мной кода.

Цель: Проверить корректность предоставленного кода. Определи потенциальные крайние случаи, обработай исключительные сценарии, и убедись, что код соответствует заданным требованиям. Дополнительно предложи мне список тест-кейсов к этому коду. Вот указания по проверке кода:
1. Понимание кода: Дай очень высокоуровневое объяснение кода и его назначения.
2. Проверка правильности ввода: Протестируй код с различными валидными, невалидными, недопустимыми символами юникода и т.д., чтобы убедиться в ожидаемом поведении. Выделите входные данные, которые могут не очень правильно обрабатываться кодом.
3. Граничные случаи: Проверить минимальное и максимальное возможное значение входного сигнала и соответствующие переменные.
4. Обработка исключений: Пропиши исключения и ошибки, чтобы проверить эффективность обработки исключений.
5. Проверить, есть ли в коде нефункциональные проблемы, например, утечки памяти, оцени, подходит ли код для многопоточности.
6. Соображения безопасности: Проверить основные аспекты безопасности и есть ли потенциальные уязвимости, такие как SQL-инъекции, межсайтовый скриптинг и т.д.

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

Вот мой код: <_Вставить_Код_>.

Когда использовать этот пример

Я использую такие промпты, чтобы получить в ChatGPT советы по измененному коду. Я пытаюсь понять качество кода и, основываясь на советах ChatGPT, пытаюсь понять, можно ли что-то улучшить. Кроме того, это помогает обнаружить например уязвимости в системе безопасности.

3 – Промпт для создания тестовых данных

Мне нужна поддержка в создании полного набора тестовых данных для тщательной оценки устойчивости и функциональности поля ввода. Должны быть проверки чувствительности к регистру, в том числе вводы как с прописными, так и со строчными символами (например, “TestInput” и “testinput”). Также должны быть пробельные символы до и после, чтобы оценить, как система обрабатывает пробелы вокруг вводимых данных (например, ” Input123__”). Протестируй поле ввода с сочетанием символов, включая алфавитно-цифровые и специальные символы (например, “Input@123”). Проверить варианты ввода только цифр (например, “123456”) и только букв (например, “AlphaString”). Оцени поведение системы при вводе данных максимальной и минимальной допустимой длины. Проверить реакцию поля ввода на пустой ввод и оценить, как оно обрабатывает дубликаты. Проверить “сложные” символы и строки, типа Powerلُلُصّبُلُلصّبُررً ॣ ॣh ॣ ॣ ॣ冗), символы юникода и латиницы, чтобы оценить безопасность и интернационализацию системы. Проверить крайние случаи, такие как null-символы и потенциальные попытки инъекций (например, “<script>alert(‘XSS’)</script>”).

Сгенерировать тестовые данные для этого поля ввода <input-field> в табличном формате.

Когда использовать этот промпт

Ответ от ChatGPT, для поля ввода имейла.

Тест-кейсВводОписание
1test@example.comОсновной валидный формат электронного адреса
2Test@Example.comПроверка чувствительности к регистру (верхний регистр)
3tEsT@eXaMpLe.CoMПроверка чувствительности к регистру (смешанный регистр)
4user123@domain.comБуквенно-цифровые символы
5user.123@domain.comБуквенно-цифровые символы с точкой
6user@123domain.comБуквенно-цифровые символы в домене
7user@domain.123Буквенно-цифровые символы в домене верхнего уровня
8__input@example.comПробел в начале строки
9input@example.com__Пробел в конце строки
10543543Только цифровые символы
11AlphaStringТолько буквенные символы
12special@characters!Специальные символы
13123456Ввод только цифр с минимально допустимой длиной
14AВвод только букв, с минимально допустимой длиной
15verylongemailaddress1234567890@domain.comМаксимально допустимая длина
16Пустая строка
17test@example.comtest@example.comДубликат
18Powerلُلُصّبُلُلصّبُررً ॣ ॣh ॣ ॣ冗Строка с символами юникода
19<script>alert(‘XSS’)</script>Попытка потенциальной инъекции (XSS)
20user@exåmple.comЛатинские буквы с диакритическими знаками
21user@exámple.comСимволы Юникода с диакритическими знаками
22user@domain..comДвоеточие в домене
23user@domaincomОтсутствие точки в домене
24user@domain.cОдиночный символ в домене верхнего уровня
25user@domain.com.Точка в конце домена

4 – Генерация кода автотеста в ChatGPT

Ниже приведен пример промпта для генерации кода даты, с детализацией.

Напиши на языке Java функцию для генерации будущей даты из текущей. Функция должна принимать входной параметр ‘NumberOfDays’ (N), представляющий количество дней, которые нужно добавить к сегодняшней дате. На выходе должна получиться строка даты, отформатированная как YYYY-DD-MM. Имплементируй функцию для точного вычисления будущей даты путем добавления указанного количества дней к текущей дате. Убедись, что функция должным образом обрабатывает крайние случаи и придерживается заданного формата даты.

5 – Промпт ChatGPT чтобы сгенерировать документацию

Специфика вашей подсказки может отличаться, но важно, чтобы в ней был такой же уровень детализации. Четко укажите каждый важный элемент, чтобы повысить релевантность ответа.

Мне нужна помощь в разработке описания листа Excel, которым я собираюсь поделиться с другими командами. Наша команда управляет сайтом магазина, и недавно мы ввели фичу, которая предлагает скидки в зависимости от стоимости корзины. Чтобы тщательно протестировать эту фичу, необходимо сотрудничество между командами, для проведения сквозного тестирования. Цель документа – систематически записывать тест-кейсы, выполненные разными командами, их результаты, найденные дефекты и важные артефакты, такие как скриншоты. Нужен формат электронных таблиц, позволяющий легко обмениваться информацией между командами. Цель – создать упорядоченный удобный документ для отслеживания процесса тестирования и его результатов.

🔥 Какой была ваша первая зарплата в QA и как вы искали первую работу? 

Мега обсуждение в нашем телеграм-канале о поиске первой работы. Обмен опытом и мнения.

Читать в телеграм

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *