Если веб-приложение содержит ошибки в коде, оно может работать неправильно или вообще не работать. Исправление таких ошибок может потребовать много времени и ресурсов, особенно если ошибки обнаруживаются на стадии тестирования или в производственной среде. Чтобы уменьшить риски и сэкономить время, разработчики могут использовать методы автоматического тестирования, такие как модульное (unit-тестирование), скриншотное тестирование (snapshot), интеграционное тестирование (integration) и сквозное тестирование (E2E - End to End).
Автоматическое (автоматизированное) тестирование позволяет быстро обнаруживать и исправлять ошибки в коде, улучшая качество и надежность веб-приложения. Кроме того, автоматические тесты могут быть интегрированы в процесс непрерывной интеграции CI, который является важным звеном в цепочке построения проекта.
| unit | integration | e2e | |
|---|---|---|---|
| Где выполняются | Node.js | Node.js | Node.js + Browser |
| Для чего используются | библиотечный код и сложная ветвистая логика | пользовательские сценарии, взаимодействие модулей | критичные пользовательские сценарии |
| Настройка окружения | изолированные | изолированные | нужны отдельные API и стенды |
| Скорость выполнения | быстрые | быстрые | медленные |
| Бизнес ценность | маленькая | средняя | высокая |
CI один из вариантов интеграции через SonarQube позволяет автоматически выполнять тестирование при каждом изменении кода, что помогает быстро обнаружить ошибки и предотвратить их попадание в Production.