THREADQAОбразовательная платформа
    THREADQA
    Главная
    Xpath Playground
    Услуги
    Блог
    FAQ
    Для компаний
    Roadmap
    1. Блог
    2. ИИ и тренды
    3. ChatGPT и Claude для написания автотестов: 10 промптов для QA инженера
    Все статьи
    ИИ и тренды
    6 апреля 2026 г. 12 мин чтения

    ChatGPT и Claude для написания автотестов: 10 промптов для QA инженера

    Как использовать ChatGPT и Claude для автоматизации тестирования: генерация тестов по контексту проекта, анализ существующего кода, написание pytest и JUnit тестов. 10 готовых промптов с примерами.

    Почему большинство промптов для QA не работают

    Главная ошибка при использовании ChatGPT и Claude для написания тестов — слишком общие промпты. Напиши тест для формы логина — и ты получишь шаблонный код который не имеет ничего общего с твоим реальным проектом.

    Хороший промпт для QA строится на трёх принципах: контекст проекта (стек, архитектура, соглашения), пример существующего кода (по аналогии с чем писать), конкретная задача (что именно нужно протестировать).

    Промпт 1: API тест на Python с requests по аналогии

    Самый мощный приём — показать AI существующий тест и попросить написать аналогичный для нового endpoint. AI подхватывает стиль, паттерны и соглашения твоего проекта.

    ПромптAPI тест по аналогии (Python + requests)
    У меня есть тест для получения списка машин:
    
    import pytest
    import requests
    
    BASE_URL = "https://api.carrent.com"
    
    def test_get_cars_list():
        # Given
        headers = {"API-Key": "test_api_key_123"}
        
        # When
        response = requests.get(f"{BASE_URL}/api/cars", headers=headers)
        
        # Then
        assert response.status_code == 200
        assert len(response.json()) > 0
        assert "brand" in response.json()[0]
        assert "model" in response.json()[0]
        assert "price_per_day" in response.json()[0]
    
    Напиши аналогичный тест для получения информации о конкретной машине.
    Требования:
    - GET /api/cars/{car_id}
    - Возвращает 200 и данные машины при существующем id
    - Возвращает 404 при несуществующем id
    - В ответе должны быть поля: id, brand, model, year, price_per_day, is_available
    
    Напиши два теста: позитивный (машина найдена) и негативный (машина не найдена).
    Сохрани тот же стиль, структуру Given-When-Then и паттерны assertions.

    Промпт 2: UI тест на Playwright с простыми локаторами

    Для UI тестов покажи AI существующую структуру страницы и локаторы — он напишет тест который работает с реальными элементами.

    ПромптUI тест поиска машин (Python + Playwright)
    Вот HTML форма поиска машин на главной странице:
    
    <div class="search-form">
        <input type="text" id="brand-input" placeholder="Марка авто">
        <input type="text" id="city-input" placeholder="Город">
        <button id="search-btn">Найти машину</button>
    </div>
    
    <div class="results">
        <div class="car-card" data-testid="car-card">
            <h3 class="car-title">Toyota Camry</h3>
            <p class="car-price">2500 ₽/день</p>
        </div>
    </div>
    
    Напиши Playwright тест который:
    1. Открывает главную страницу https://carrent.com
    2. Вводит в поле "Марка авто" значение "Toyota"
    3. Вводит в поле "Город" значение "Москва"
    4. Нажимает кнопку "Найти машину"
    5. Проверяет что появились результаты поиска
    6. Проверяет что первая карточка содержит текст "Toyota"
    
    Используй простые локаторы: #brand-input, #city-input, #search-btn.
    Добавь ожидания загрузки результатов.
    Код должен быть простым и понятным для начинающих.

    Промпт 3: API тест на Java с RestAssured

    Дай AI спецификацию endpoint и попроси написать набор тестов с проверкой разных сценариев.

    ПромптAPI тесты бронирования (Java + RestAssured)
    Вот спецификация API endpoint для бронирования машины:
    
    POST /api/bookings
    Content-Type: application/json
    
    Request body:
    {
      "car_id": "string",
      "start_date": "2026-05-01",
      "end_date": "2026-05-05",
      "driver_name": "string",
      "phone": "string"
    }
    
    Response 201:
    {
      "booking_id": "uuid",
      "car_id": "...",
      "total_price": 10000,
      "status": "confirmed"
    }
    
    Response 400: {"error": "Invalid dates"}
    Response 404: {"error": "Car not found"}
    Response 409: {"error": "Car already booked for these dates"}
    
    Напиши тесты на Java с JUnit 5 + RestAssured для всех сценариев:
    1. Успешное бронирование (201)
    2. Бронирование несуществующей машины (404)
    3. Бронирование с некорректными датами: end_date раньше start_date (400)
    4. Бронирование уже занятой машины (409)
    
    Используй RestAssured методы: given(), when(), then().
    Проверяй статус код и структуру ответа.
    Код должен быть простым без лишних абстракций.

    Промпт 4: UI тест на Java с Selenide

    Для Selenide тестов опиши простой пользовательский сценарий — AI напишет понятный код.

    ПромптUI тест каталога (Java + Selenide)
    Напиши тест на Java с Selenide для просмотра каталога машин.
    
    Сценарий:
    1. Открыть страницу https://carrent.com/catalog
    2. Найти фильтр по классу машины (селектор: select#car-class)
    3. Выбрать "Премиум"
    4. Подождать загрузки результатов
    5. Проверить что все карточки машин (.car-card) содержат бадж "Премиум"
    6. Проверить что карточек больше 0
    7. Кликнуть на первую карточку
    8. Проверить что открылась страница с деталями машины (URL содержит /cars/)
    
    Требования:
    - Используй Selenide API: open(), $(selector), $$(selector), selectOption()
    - Добавь явные ожидания где нужно
    - Проверяй URL после переходов
    - Код должен быть читаемым и простым
    
    Не используй Page Object, просто прямые селекторы.

    Промпт 5: Параметризованные тесты на Python

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

    ПромптПараметризованная валидация (Python + pytest)
    Напиши параметризованный тест для валидации телефона при бронировании.
    
    Endpoint: POST /api/bookings
    Поле phone должно быть:
    - В формате +7XXXXXXXXXX (11 цифр после +7)
    - Или в формате 8XXXXXXXXXX (11 цифр, начинается с 8)
    
    Тестовые данные для негативных сценариев:
    1. Пустой телефон → 400 "Phone is required"
    2. Короткий телефон "+79123" → 400 "Invalid phone format"
    3. Телефон с буквами "+7912abc4567" → 400 "Invalid phone format"
    4. Телефон без + или 8: "9123456789" → 400 "Invalid phone format"
    
    Позитивные:
    5. "+79123456789" → 201 успешно
    6. "89123456789" → 201 успешно
    
    Используй @pytest.mark.parametrize со всеми сценариями.
    Каждый тест проверяет статус код и текст ошибки.
    Для позитивных тестов проверь что бронирование создалось.

    Промпт 6: Простой E2E тест на Java

    Опиши полный флоу действий пользователя — AI напишет последовательный тест со всеми шагами.

    ПромптE2E тест бронирования (Java + RestAssured)
    Напиши E2E тест на Java который проверяет полный процесс бронирования машины через API.
    
    Шаги:
    1. Получить список доступных машин: GET /api/cars?is_available=true
    2. Выбрать первую машину из списка (сохранить car_id)
    3. Создать бронирование: POST /api/bookings
       Body: {
         "car_id": car_id из шага 1,
         "start_date": "2026-06-01",
         "end_date": "2026-06-05",
         "driver_name": "Тестовый Водитель",
         "phone": "+79991234567"
       }
    4. Сохранить booking_id из ответа
    5. Получить информацию о бронировании: GET /api/bookings/{booking_id}
    6. Проверить что статус = "confirmed"
    7. Проверить что car_id совпадает с car_id из шага 1
    8. Отменить бронирование: DELETE /api/bookings/{booking_id}
    9. Проверить что машина снова доступна: GET /api/cars/{car_id}
       Поле is_available должно быть true
    
    Используй JUnit 5 + RestAssured.
    После каждого запроса проверяй статус код.
    Сохраняй переменные между шагами.
    В конце обязательно очисти данные (отмени бронирование).

    Промпт 7: UI тест с API подготовкой данных

    Самый надежный подход — создать данные через API, проверить через UI. Так тесты работают стабильно.

    ПромптUI тест с API setup (Python + Playwright + requests)
    Напиши тест который создает бронирование через API и проверяет его отображение на UI.
    
    Подготовка через API (requests):
    1. GET /api/cars?is_available=true — получить доступную машину
    2. POST /api/bookings — создать бронирование для этой машины
       Сохранить booking_id
    
    UI проверка через Playwright:
    1. Открыть страницу "Мои бронирования" https://carrent.com/my-bookings
    2. Найти карточку бронирования по booking_id
    3. Проверить что отображается марка машины
    4. Проверить что отображаются даты бронирования
    5. Проверить что статус = "Подтверждено"
    6. Кликнуть кнопку "Отменить бронирование"
    7. Подтвердить отмену в модальном окне
    8. Проверить что карточка исчезла со страницы
    
    Требования:
    - Используй pytest фикстуры для создания бронирования через API
    - UI проверки через Playwright
    - После теста удали бронирование через API DELETE /api/bookings/{id}
    - Локаторы простые: [data-booking-id="{booking_id}"], .cancel-btn
    
    Покажи код с фикстурой и тестом.

    Промпт 8: Проверка JSON схемы ответа

    Важно проверять не только статус код, но и структуру ответа — AI поможет написать валидацию схемы.

    ПромптВалидация JSON схемы (Java + RestAssured)
    Напиши тест который проверяет структуру JSON ответа при получении машины.
    
    Endpoint: GET /api/cars/{id}
    
    Ожидаемая структура ответа:
    {
      "id": "string (uuid)",
      "brand": "string",
      "model": "string",
      "year": "integer (2000-2026)",
      "price_per_day": "integer (> 0)",
      "is_available": "boolean",
      "features": ["string", "string"],
      "location": {
        "city": "string",
        "address": "string"
      }
    }
    
    Напиши JUnit 5 + RestAssured тест который:
    1. Отправляет GET запрос
    2. Проверяет статус 200
    3. Проверяет что все поля присутствуют
    4. Проверяет типы полей (string, integer, boolean, array, object)
    5. Проверяет что year в диапазоне 2000-2026
    6. Проверяет что price_per_day > 0
    7. Проверяет что features это массив строк
    
    Используй RestAssured JsonPath для проверки структуры.
    Проверки должны быть понятными и читаемыми.

    Промпт 9: Анализ упавших тестов

    AI отлично справляется с анализом логов и поиском причин падений — экономит время на дебаг.

    ПромптАнализ падений тестов
    Проанализируй почему упали тесты и предложи решение.
    
    Упавшие тесты (5 из 30):
    
    1. test_get_car_by_id - AssertionError: Expected 200, got 500
       Traceback: Internal Server Error
       URL: GET /api/cars/123e4567-e89b-12d3-a456-426614174000
       
    2. test_get_car_by_id_not_found - AssertionError: Expected 404, got 500  
       URL: GET /api/cars/nonexistent-id
       
    3. test_create_booking - AssertionError: Expected field 'total_price' in response
       Status: 201
       Response: {"booking_id": "...", "status": "confirmed"}
       
    4. test_filter_cars_by_city - AssertionError: Expected > 0 results, got empty array
       URL: GET /api/cars?city=Москва
       
    5. test_cancel_booking - Timeout after 30s
       URL: DELETE /api/bookings/abc123
    
    Контекст:
    - Тесты падают после деплоя новой версии API вчера вечером
    - В changelog: "Оптимизация БД запросов, добавление кеширования"
    - Окружение: staging
    
    Задачи:
    1. Определи возможные причины для каждого падения
    2. Это баги в приложении или нужно обновить тесты?
    3. Какие падения критичные и требуют немедленного фикса?
    4. Составь краткий отчет для разработчиков (5 предложений)
    5. Что нужно проверить в первую очередь?

    Промпт 10: Генерация чек-листа для тестирования

    AI быстро составит полный чек-лист для ручного или автоматизированного тестирования новой фичи.

    ПромптЧек-лист для новой фичи
    Составь чек-лист для тестирования новой фичи: фильтр машин по цене.
    
    Описание фичи:
    На странице каталога добавили слайдер для фильтрации по цене.
    - Минимальная цена: 500 ₽/день
    - Максимальная цена: 10000 ₽/день
    - По умолчанию: от 500 до 10000 (показываются все машины)
    - При изменении слайдера результаты обновляются автоматически
    
    API endpoint:
    GET /api/cars?min_price=1000&max_price=5000
    
    Задачи:
    1. Составь список функциональных проверок (10-15 пунктов)
    2. Добавь UI проверки (расположение, анимации, валидация)
    3. Добавь API проверки (корректность фильтрации)
    4. Добавь граничные случаи (min=max, некорректные значения)
    5. Добавь проверки производительности (время обновления результатов)
    
    Формат чек-листа:
    - [ ] Название проверки
    - Ожидаемый результат
    - Приоритет (High/Medium/Low)
    
    Раздели на секции: Позитивные сценарии, Негативные, UI, API, Граничные случаи.

    Главное правило: контекст решает всё

    • ▸Всегда вставляй существующий код — AI пишет по аналогии намного лучше чем с нуля
    • ▸Указывай стек явно — pytest/Playwright или JUnit/Selenide, RestAssured/requests
    • ▸Показывай реальные примеры API ответов или HTML структуры
    • ▸Описывай бизнес-логику простыми словами — AI лучше понимает контекст
    • ▸Итерируй — уточняй промпты если результат не подходит

    Claude vs ChatGPT для QA Automation

    Claude лучше справляется с длинными кодовыми базами и рефакторингом — можно вставить весь файл и он не потеряет контекст. Отлично анализирует логи и группирует ошибки.

    ChatGPT сильнее в генерации разнообразных тест-кейсов и написании документации. Лучше понимает бизнес-логику и предлагает граничные случаи.

    GitHub Copilot удобнее всего для написания кода прямо в IDE — видит весь проект и предлагает автодополнение на лету.

    Изучи автоматизацию тестирования с нуля

    На курсах ThreadQA по Java QA Automation и Python QA Automation ты научишься писать профессиональные автотесты на Selenide, Playwright, RestAssured и requests. Первые уроки бесплатно.

    #chatgpt автотесты#claude qa automation#ai написание тестов#промпты для qa#chatgpt тестирование#llm qa automation#ai генерация тест кейсов

    Хочешь практиковаться, а не только читать?

    Курсы по Java, Python и iOS автоматизации. Первые уроки бесплатно.

    Начать бесплатно

    Читайте также

    ИИ и тренды
    11 мин

    ИИ в автоматизации тестирования: что реально работает в 2026

    Как искусственный интеллект меняет QA Automation в 2026 году: AI-генерация тестов, self-healing тесты, agentic QA. Реальные инструменты и практические примеры для QA инженеров.

    Общие темы:chatgpt автотесты
    ИИ и тренды
    8 мин

    Self-healing тесты: как ИИ автоматически чинит сломанные автотесты

    Что такое self-healing тесты в QA Automation, как они работают и почему снижают время на поддержку тестов с 40% до 10%. Практический гайд для QA инженеров.

    Карьера
    15 мин

    5 главных трендов в QA Auto/SDET в 2026 году

    Ключевые тренды развития QA Automation в 2026: M-shape специалисты, инфраструктурные навыки, архитектуры распределенных систем, возврат к KPI и интеграция ИИ в ежедневную работу.

    Все статьи блога →
    THREADQAОбразовательная платформа
    VK

    О платформе

    Образовательная платформа для разработчиков и тестировщиков. Обучаем современным технологиям и помогаем строить успешную карьеру в IT.

    Онлайн 24/7

    Курсы

    • Про ThreadQA
    • iOS Курс
    • Java Курс
    • Python Курс

    Услуги

    • Мок-собеседования
    • QA Буткемп
    • Записи собеседований

    Документы

    • Публичная оферта
    • Политика конфиденциальности
    • Условия использования

    Контакты

    • Email
      info@threadqa.ru
    • Telegram
      @penolegrus
    © 2026•ThreadQA LMS•Все права защищены