Всем привет! Меня зовут Катя, я PO приложения для подготовки документации. Мы продвигаем подход Docs as Code среди нетехнических специалистов. В этой статье я расскажу, как мы сэкономили кучу времени: научили ChatGPT4 писать сценарии e2e-тестов для нашего WYSIWYG-редактора.

Дисклеймер №1

В приложении мы используем WYSIWYG-редактор на базе Tip-Tap. Опережая волну хейта: да, мы реально верим, что визивиг может быть удобным и понятным. Да, мы такой сделаем.

Дисклеймер №2

Тут не будет развернутого рассказа о настройке самих тестов, только о сценариях.

Предпосылки

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

Каждую готовую фичу мы тестируем в 3 этапа:

  1. Ручное тестирование разработчиком на соответствие требованиям из User Story.

  2. Ручное тестирование PO в хаотичном порядке.

  3. Автоматические e2e-тесты, чтобы точно знать, что ничего вокруг не отвалилось.

Главная головная боль — тестирование визуального редактора. В отличие от многих систем, мы не ограничиваем использование разных элементов внутри друг друга. Из-за этого нам приходится четко прописывать их взаимодействие. Как вы можете догадаться, автотесты нужны буквально на каждый пук.

С чего мы начали

Шаг 1. Настройка. Сначала, конечно, настроили сами тесты. Как — я не знаю, это сделали разработчики.

Для запуска - Cucumber, для написания - Genkin, для воспроизведения - Playwrite:)
Для запуска - Cucumber, для написания - Genkin, для воспроизведения - Playwrite:)

Шаг 2. Синтаксис. Затем договорились о синтаксисе для сценариев. Какие требования выдвигались:

  • Понятное описание происходящего (я уже подозревала, что придется самой писать сценарии).

  • Одинаковое именование сущностей в интерфейсе (сделали глоссарий).

Шаг 3. Подготовка сценариев. Тесты настроены, синтаксис согласован, можно писать. Я сделала пару фича-файлов и выдохлась. Долго, муторно, скучно.

Как автоматизировали

Каждый раз, решая баг по редактору, мы говорили: «даааа, надо бы писать тесты, дааа». Начать всегда тяжело, и чтобы это сделать, в стиле эффективного менеджера я пошла к ChatGPT со своими потребностями. Что в него загнала:

  1. Промпт. Содержал следующий текст:

    Действуй как профессиональный тестировщик.
    У тебя есть синтаксис для написания e2e-тестов:
    
    Сценарий: Удалить связь маркированного списка по нажатию на Backspace
      Пусть документ содержит
      """
        - text
        - (*)text
      """
      Когда жмем "Backspace"
      Тогда документ будет содержать
      """
        - text 
        (*)text
      """
      Когда жмем "Backspace"
      Тогда документ будет содержать
      """
        - text(*)text
      """
    
    Я тебе отправлю описание логики каждой фичи. Напиши сценарии тестирования,
    используя этот синтаксис. Должно получиться 22 сценария.
  2. Описание логики каждой фичи. Я их взяла из User Story и оформила списком. Примерно так:

    ...
    В статье можно создать нумерованный список:
    
    - когда нажимаем Ctrl + Shift + 7
    - когда пишем 1. и нажимаем пробел
    - когда нажимаем на нумерованный список в панели редактирования
    
    В статье можно создать маркированный список:
    
    - когда нажимаем Ctrl + Shift + 8
    - когда пишем - и нажимаем пробел
    - когда нажимаем на маркированный список в панели редактирования
    
    В список можно добавить пункты:
    
    - когда в конце первого пункта нажимаем Enter
    ...

И что же получилось...

А все получилось. 0 вопросов и претензий. Берем в работу, спасибо чату.

Резюмируем

ChatGPT молодец, а мы — не очень. Могли и раньше догадаться у него спросить.

Что не стоит упускать из внимания: любую работу (автоматизированную или ручную) нужно проверять. Чат, как и обычный человек, не всегда внимателен. Например, иногда терял позицию фокуса в тестах или объединял два сценария в один. Но этот парень обучаем — важно не переделывать за ним, а просить все переписать с исправлениями. Тогда В ЭТОМ ЧАТЕ он ошибаться больше не будет.

Комментарии (1)


  1. MAXH0
    11.10.2023 10:39
    +3

    Я смотрю внутренняя политика НЛО на ХАБРЕ на октябрь:
    "Надо дать больше инвайтов за странные статьи из песочницы."