Mermaid и ChatGPT для создания и управления тест-кейсами

Это краткое руководство по использованию диаграмм и графиков Mermaid и ChatGPT для составления карты пути пользователя и создания тест-кейсов для приложений.

Платформы

БЕСПЛАТНО СКАЧАТЬ КНИГИ в телеграм канале "Библиотека тестировщика"

Диаграмма Mermaid 

Для этой статьи была создана диаграмма на основе веб-сайта с главной страницей, возможностью входа и регистрации, а также областью входа в систему:

flowchart TD
    A[Homepage] -->|Click Login| B(Login Modal)
    A -->|Click Sign up| C(Registration Page)
    C -->|Click back| A
    B -->|Enter valid username and password| D[Login Button]
    B -->|Enter incorrect details| B
    B -->|Close Modal| A
    D -->|Click Login| E[Logged in lobby]
    C -->|Enter valid details| F[Submit Button]
    C -->|Enter incorrect details| C
    F -->|Click Submit| E
    E --> G[Logout Button] -->|Click Logout| A
Диаграмма Mermaid для веб-сайта

Как видно на фото, существует множество условий и путей прохождения сайта, которые могут потребовать тестирования.

В первую очередь следует понять сложность этого сайта и потенциальный объём тестирования.

Запрос:

«Какова цикломатическая сложность этой диаграммы?».

flowchart TD
    A[Homepage] -->|Click Login| B(Login Modal)
    A[Homepage] -->|Click Sign up| C(Registration Page)
    C -->|Click back| A
    B[Login Modal] --->|Enter valid username and password| D[Login Button]
    B -->|Enter incorrect details| B
    B -->|Close Modal| A
    D -->|Click Login| E[Logged in lobby]
    C -->|Enter valid details| F[Submit Button]
    C -->|Enter incorrect details| C
    F -->|Click Submit| E
    E --> G[Logout Button] -->|Click Logout| A

Ответ:

Процесс расчёта цикломатической сложности для представленной блок-схемы:

  • Количество граней (E): 17.
  • Количество узлов (N): 12.
  • Количество связанных компонентов (P): 1.

Цикломатическая сложность считается по следующей формуле:

V(G) = 17–12 + 2(1) = 17–12 + 2 = 5 + 2 = 7

Сложность этой блок-схемы равна 7. Этот показатель представляет собой количество независимых путей через блок-схему, и может быть использован для оценки объёма тестирования и выявления потенциально сложных и проблематичных областей в ПО.

Исходя из этого ответа, видно, что пользовательские пути из примера являются умеренно сложными. В соответствии с рекомендациями, где 0-5 — простые, 5-10 — умеренные и 10+ — с высоким уровнем сложности.

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

Запрос:

«Создай тест-кейсы на основе этой диаграммы, без указания шагов тестирования».

В результате создан список возможных тест-кейсов, которые можно использовать для предоставленной блок-схемы:

Успешный вход в систему с использованием действительных учётных данных.
Неудачный вход в систему с использованием недействительных учётных данных.
Успешная регистрация с использованием действительных данных.
Неудачная регистрация с использованием недействительных данных. 
Успешный выход из системы.
Переход с главной страницы в окно входа.
Переход с главной страницы на страницу регистрации.
Закрытие окна входа без попытки осуществить вход в систему.
Закрытие страницы регистрации без отправки каких-либо данных.
Закрытие страницы регистрации после ввода неполных или недействительных данных.
Закрытие окна входа после ввода недействительных данных. 
Переход на главную страницу со страницы регистрации.
Переход на главную страницу с окна входа в систему.
Успешная отправка формы регистрации.
Успешная отправка формы входа в систему после неудачной попытки. 
Нажатие кнопки «Выход» из «Личного кабинета».
Переход в «Личный кабинет» после успешной регистрации. 
Переход в «Личный кабинет» после успешного входа в систему.
Переход в «Личный кабинет» с главной страницы и последующий выход из системы. 
Переход на главную страницу после выхода из системы.

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

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

Запрос:

«Для путей пользователя, которые охватывают большинство узлов, создай тест-кейсы с шагами воспроизведения».

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

Путь 1: Успешный вход в систему (охватывает узлы A, B, D и E)

Тест-кейс 1: Успешный вход в систему с использованием действительных учётных данных 

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

Шаги воспроизведения:

Перейти на главную страницу (A).
Нажать кнопку «Вход».
Ввести действительные имя пользователя и пароль в окне входа в систему(B).
Нажать кнопку «Вход» (D).
Ожидаемый результат:

Пользователь должен перейти в «Личный кабинет» (E).

Путь 2: Успешная регистрация (охватывает узлы A, C, and E)

Тест-кейс 2: Успешная регистрация с использованием действительных данных

Описание: Проверка, что пользователь может успешно зарегистрироваться.

Шаги воспроизведения:

Перейти на главную страницу (A).
Нажать кнопку «Регистрация».
Ввести действительные и корректные данные на странице регистрации (C).
Нажать кнопку «Отправить» (F).
Ожидаемый результат:

Пользователь должен перейти в «Личный кабинет» (E).

Путь 3: Успешный выход из системы (охватывает узлы E and G)

Тест-кейс 3: Успешный выход из системы

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

Шаги воспроизведения:

Убедиться, что пользователь вошёл в «Личный кабинет» (E).
Нажать кнопку «Выход» (G).
Подтвердить действие, нажав кнопку «Выйти» (A).
Ожидаемый результат:

Пользователь выйдет из системы и будет перенаправлен на главную страницу (A).

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

Что дальше?

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

Перевод статьи «Using Mermaid + ChatGPT for Test Case generation and management».

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

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