Ответ
Писать автотесты целесообразно практически для любого приложения, где есть повторяющиеся сценарии проверок и важна стабильность. Однако приоритеты и подход различаются:
Высокий приоритет автоматизации:
- Критичные для бизнеса функции (платёжные операции, расчёты, выпуск документов). Падение здесь ведёт к прямым финансовым потерям или репутационным рискам.
- Часто изменяемый код (регрессия). Автотесты, интегрированные в пайплайн, мгновенно показывают, не сломало ли новое изменение старую логику.
- API и микросервисы. Автоматизация интеграционного тестирования здесь часто проще и надёжнее, чем UI-тесты.
- Сложные и длинные пользовательские сценарии (E2E). Например, полный путь оформления заказа от каталога до чека.
Практический пример приоритизации: В веб-проекте мы начали автоматизацию не с UI, а с API-слоя, используя Postman и Newman для CI:
- Написали коллекции тестов на основные endpoints (создание пользователя, получение данных, размещение заказа).
- Запускали их при каждом билде. Это быстро отлавливало проблемы в бизнес-логике бэкенда.
- UI-автотесты на Selenium писались уже для ключевых сценариев, которые прошли через стабильный API.
Автотесты — это инвестиция. Их стоит писать там, где они дадут максимальную отдачу в виде экономии времени на регресс и повышения уверенности в релизе.