Примеры промптов ChatGPT для автоматизатора

Промпты лучше писать на английском, но и на русском тоже неплохие результаты.

1. Создание кастомного фреймворка

Промпт: «Опиши процесс создания кастомного инструмента автоматизации тестирования для {предназначение} с использованием {языка_программирования_и_фреймворка}, включая его основные характеристики, функциональные возможности, и главное должен быть удобный интерфейс.»

Ответ: В ответ на такой промпт ChatGPT довольно подробно (примерно на полторы страницы) и, главное, информативно описывает общие характеристики такого фреймворка. Указывая также библиотеки. Например, если ввести промпт: “нужен фреймворк для тестирования мобильных приложений, написанных на Java, с использованием фреймворка Appium”, то ChatGPT ответит:

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

1. Определение требований

Перед началом разработки важно четко определить функциональные и нефункциональные требования:

Целевое применение: Автоматизация функционального тестирования мобильных приложений.

Основные функции:

Поддержка тестирования как на iOS, так и на Android.

Возможность запуска тестов как на реальных устройствах, так и на эмуляторах/симуляторах.

Интеграция с системами непрерывной интеграции (CI), например, Jenkins.

Генерация и сохранение отчетов о результатах тестирования.

Управление версиями тестовых скриптов.

2. Выбор технологий

Язык программирования: Java.

Тестовый фреймворк: Appium, обеспечивающий интерфейс для автоматизации мобильных приложений.

Библиотеки и инструменты:

TestNG или JUnit для организации тест-кейсов и ассертов.

Maven или Gradle для управления зависимостями и сборкой проекта.

Allure или другая система для генерации отчетов.

3. Разработка архитектуры

Модульность: Разделение функционала на модули для обеспечения легкости расширения и поддержки.

MVC-паттерн (Model-View-Controller) для разделения логики приложения, интерфейса пользователя и управления данными.

4. Реализация пользовательского интерфейса

Front-end:

Если инструмент предполагается как настольное приложение, можно использовать JavaFX или Swing.

Для веб-интерфейса подойдут JSF, Spring MVC или Vaadin.

Особенности UI:

Чистый, интуитивно понятный интерфейс.

Панель управления для запуска/остановки тестов.

Визуализация статуса текущих тестов.

Просмотр результатов тестов в реальном времени.

5. Тестирование и деплоймент

Тестирование:

Unit-тесты для проверки каждого модуля.

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

Приемочные тесты для проверки всего инструмента в целом.

Деплоймент:

Использование Docker для контейнеризации приложения.

Автоматическая сборка и развертывание с помощью Jenkins.

6. Документация и поддержка

Разработка подробной документации для пользователей и разработчиков.

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

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

2. Оптимизация задач для отдельной платформы

Промпт: «Создай [инструмент/программу], который оптимизирует [задачу] для [платформы], используя [фреймворк автоматизации QA] и [язык программирования]».

Ответ: Описание инструмента оптимизации задач тестирования мобильных приложений на платформе Android с использованием фреймворка Appium и языка Java. Инструмент должен обеспечить эффективную автоматизацию и нормальное выполнение тестов.

3. Кастомный нагрузочный фреймворк

Промпт: «Объясни, как разработать кастомный инструмент тестирования производительности веб-приложений, связанных с {например е-магазина}, используя {язык_программирования_и_фреймворк}, например JMeter и Java, включая поддержку нагрузочного тестирования, стресс-тестирования и тестирования масштабируемости».

Ответ: ChatGPT подробно опишет процесс разработки пользовательского инструмента тестирования производительности веб-сайтов электронной коммерции с использованием JMeter и Java.

Для разработки кастомного инструмента тестирования производительности веб-приложений, таких как электронный магазин, используя JMeter и Java, вам нужно будет выполнить следующие шаги. Этот подход поможет создать инструмент, который поддерживает нагрузочное тестирование, стресс-тестирование и тестирование масштабируемости:

Шаг 1: Планирование и проектирование

Определите цели тестирования: Что вы хотите измерить? Например, время отклика, пропускную способность, максимальное количество одновременных пользователей и т.д.

Анализируйте архитектуру приложения: Понимание компонентов, взаимодействий и зависимостей приложения поможет в выборе точек тестирования.

Определите метрики для сбора: Решите, какие данные будут собираться во время тестирования (например, время ответа сервера, ошибки сервера, количество активных сессий).

Шаг 2: Установка и настройка JMeter

Установите JMeter: Скачайте и установите Apache JMeter с официального сайта.

Создайте тест-план в JMeter:

Добавьте Thread Group для определения количества пользователей и их поведения.

Настройте HTTP Request Samplers для отправки запросов к вашему веб-приложению.

Добавьте слушателей для анализа результатов (например, View Results Tree, Summary Report).

Шаг 3: Расширение JMeter с помощью Java

Создайте кастомные Samplers (обработчики запросов) с использованием Java:

Напишите классы Java, которые реализуют интерфейс org.apache.jmeter.samplers.Sampler.

Используйте Java API для выполнения запросов и обработки ответов.

Интегрируйте эти классы в JMeter, добавив соответствующие jar-файлы в папку lib/ext JMeter.

Создайте пользовательские обработчики результатов:

Разработайте классы, реализующие org.apache.jmeter.samplers.SampleListener или org.apache.jmeter.reporters.ResultCollector.

Используйте эти классы для дополнительной обработки и анализа данных тестирования.

Шаг 4: Нагрузочное и стресс-тестирование

Нагрузочное тестирование: Увеличивайте количество пользователей постепенно и измеряйте производительность приложения при различной нагрузке.

Стресс-тестирование: Продолжайте увеличивать нагрузку до тех пор, пока не достигнете точки отказа приложения. Это поможет определить его максимальную пропускную способность и устойчивость к сбоям.

Шаг 5: Тестирование масштабируемости

Проверьте масштабируемость: Тестируйте приложение на различных конфигурациях сервера или кластера, увеличивая ресурсы (например, CPU, память) и анализируйте, как это влияет на производительность.

Шаг 6: Анализ результатов

Сбор и анализ данных: Используйте JMeter Listeners и кастомные Java классы для сбора и анализа результатов. Определите узкие места и возможности для оптимизации.

Шаг 7: Оптимизация и повторение

Оптимизируйте веб-приложение на основе полученных данных.

Повторяйте тесты: Повторяйте тесты для проверки эффективности внесенных изменений.

Разработка собственных инструментов тестирования с использованием JMeter и Java требует глубоких знаний в области проектирования программного обеспечения и понимания работы веб-приложений. Начните с простых сценариев и постепенно углубляйтесь в более сложные аспекты тестирования производительности.

4. Кастомный фреймворк браузерного тестирования

Промпт: «Дай пошаговое руководство по созданию кастомного инструмента автоматизации браузеров с помощью {языка_и_фреймворка}, поддерживающего эмуляцию браузера, создание тестовых сценариев и анализ результатов».

Ответ: Результатом будет краткое руководство по созданию инструмента автоматизации браузера для e-commerce с помощью например Selenium WebDriver и Python, с примерами кода и планом действий.

5. Масштабирование фреймворка

Промпт: «Ключевые моменты при разработке расширяемого гибкого инструмента автоматизации тестирования {приложения} на {Java_и_фреймворке}, включая оптимизацию производительности, расширяемость и возможности совместной работы».

Ответ: ChatGPT даст общие советы по параллелизации тестов, манипуляциям с тестовыми данными на Java. Также советы по оптимизации производительности, профайлингу и мониторингу (даст советы по Prometheus и Grafana), и т.п.

6. Безопасность и комплаенс

Промпт: «Опиши лучшие практики обеспечения безопасности и соответствия требованиям (комплайенс) в кастомном фреймворке автоматизации QA для {приложения}, разработанном с использованием {языка_программирования_и_фреймворка}».

Ответ: В ответе будут советы по безопасности, например безопасные практики кодирования, шифрование данных и соответствие отраслевым стандартам. ChatGPT посоветует защищать тестовые данные путем путем изоляции тестовых окружений, четко разграничивать доступ, пользоваться OAuth или LDAP, безопасно хранить ключи, внедрять мониторинг и аудит, вовремя обновлять зависимости, и так далее.

7. Интеграция third-party библиотек

Промпт: «Объясни процесс интеграции библиотек и third-party инструментов тестирования в кастомное решение автоматизации QA медицинского приложения, уделяя особое внимание совместимости и бесшовным рабочим процессам».

Ответ: ChatGPT даст общие советы по бесшовной интеграции библиотек и других инструментов в кастомное решение для тестирования такого приложения, делая акцент на безопасности и надежности.

8. Специфические задачи

Промпт: «Дай совет по созданию [инструмента], дополняющего [фреймворк автоматизации QA] для автоматизации [задачи] с использованием [языка программирования]».

Ответ: Например, создание дополнения на Java к инструменту нагрузочного тестирования JMeter для автоматизации задач тестирования производительности мобильного игрового приложения.

9. Управление тест-кейсами и репортами

Промпт: «Нужен совет по разработке кастомного инструмента для управления тест-кейсами и управления репортами с использованием {языка_программирования_и_фреймворка}, включая поддержку создания, выполнения и анализа результатов тест-кейсов».

Ответ: Например, разработка инструмента на Python для управления тест-кейсами и репортами в agile-разработке.

10. Мобильный фреймворк

Промпт: «Опиши процесс создания инструмента тестирования и автоматизации мобильных приложений используя {язык_программирования_или_фреймворк}, включая поддержку эмуляции устройств, функционального тестирования и тестирования производительности.»

Ответ: В ответе будут шаги по созданию пользовательского инструмента, например для C# — Xamarin.UITest, NuGet и так далее.

Источник


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

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

Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Мы в Telegram

Наш официальный канал
Полезные материалы и тесты
Готовимся к собеседованию
Project- и Product-менеджмент

? Популярное

? Telegram-обсуждения

Наши подписчики обсуждают, как искали первую работу в QA. Некоторые ищут ее прямо сейчас.
Наши подписчики рассказывают о том, как не бояться задавать тупые вопросы и чувствовать себя уверенно в новой команде.
Обсуждаем, куда лучше податься - в менеджмент или по технической ветке?
Говорим о конфликтных ситуациях в команде и о том, как их избежать
$1100*
медианная зарплата в QA в июне 2023

*по результатам опроса QA-инженеров в нашем телеграм-канале

Собеседование

19%*
IT-специалистов переехало или приняло решение о переезде из России по состоянию на конец марта 2022

*по результатам опроса в нашем телеграм-канале

live

Обсуждают сейчас