Модульное тестирование (Unit testing)

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

Основные цели:

  • проверить валидную работу каждого модуля (UI-компонента, функции, хука, класса) по отдельности;
  • изолирование блоков кода друг от друга, вследствие можно достичь более грамотной декомпозиции кода;
  • документация кода, например при погружении в бизнес-логику компонента.

Как проводится?

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

Скриншотное тестирование (SnapShot)

Скриншотное тестирование (SnapShot testing) - это автоматизированный тип тестирования, основанный на сравнении изменений в Node-узлах. Сравнение происходит при прогоне тестов между ранее сгенерированным скриншотом (файлом) отрисованного Node-узла и фактическим Node-узлом, с учетом дочерних элементов.

Основные цели:

  • проверка верстки и стилей - обнаруживает непреднамеренные визуальные изменения;
  • улучшение отслеживания изменений.

Интеграционное тестирование (Integration)

Интеграционное тестирование (Integration testing) - это автоматизированный тип тестирования логически связанных между собой модулей (компонентов, связанных потоков данных, таких как Redux, Router и т.п.)

Основные цели:

  • выявление ошибочных кейсов при взаимодействии модулей;
  • проверка обмена данными между модулями, например:
    • передача пропсов или других атрибутов между компонентами;
    • передача рендер компонентов в зависимости от роута (URL) пользователя;
    • управление данными между состоянием и пользовательским интерфейсом (Redux, Zustand, useState, useReducer и т.п.)
  • проверка работоспособности с внешними источниками данных (клиент - сервер, API -модулей)

Как проводится?

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

Это изолированные тесты, но с объявленными зависимостями

Сквозное тестирование (E2E)

Сквозное тестирование (End to End) - это заключительный способ проверки функциональности и производительности приложения с точки зрения пользователя. E2E-тестирование имитирует реальное поведение пользователя с системой, чтобы проверить, что все интегрированные части работают бесперебойно.

Основные цели:

  • тестирование в максимально приближенном к боевому (production) окружению;
  • имитация поведения пользователя с тестируемым ПО;
  • проверка пользовательского интерфейса с учетом основных и альтернативных сценариев бизнес логики;
  • проверка зависимостей и целостности данных при взаимодействии с другими системами.

Как проводится?

PS: На текущий момент данный этап тестирования реализуется с помощью ручных тестировщиков при приемочном и регресс тестировании.


Назад