Ответ
Писать автотесты целесообразно практически для любого приложения, где есть повторяющиеся сценарии проверок и важна стабильность. Однако приоритеты и подход различаются:
Высокий приоритет автоматизации:
- Критичные для бизнеса функции (платёжные операции, расчёты, выпуск документов). Падение здесь ведёт к прямым финансовым потерям или репутационным рискам.
- Часто изменяемый код (регрессия). Автотесты, интегрированные в пайплайн, мгновенно показывают, не сломало ли новое изменение старую логику.
- API и микросервисы. Автоматизация интеграционного тестирования здесь часто проще и надёжнее, чем UI-тесты.
- Сложные и длинные пользовательские сценарии (E2E). Например, полный путь оформления заказа от каталога до чека.
Практический пример приоритизации: В веб-проекте мы начали автоматизацию не с UI, а с API-слоя, используя Postman и Newman для CI:
- Написали коллекции тестов на основные endpoints (создание пользователя, получение данных, размещение заказа).
- Запускали их при каждом билде. Это быстро отлавливало проблемы в бизнес-логике бэкенда.
- UI-автотесты на Selenium писались уже для ключевых сценариев, которые прошли через стабильный API.
Автотесты — это инвестиция. Их стоит писать там, где они дадут максимальную отдачу в виде экономии времени на регресс и повышения уверенности в релизе.
Ответ 18+ 🔞
Смотри, давай без этих ваших умных книжек, на пальцах. Писать автотесты — это как брать в аренду робота-уборщика. В хрущёвке на сорок квадратов он нихуя не нужен, а вот в трёхэтажном особняке — спасение, иначе сдохнешь со шваброй в руках.
Где этот робот прям пиздец как нужен (высокий приоритет):
- То, от чего бабки и репутация зависят. Платёжки, расчёты, документы. Упало тут — всё, пиши пропало. Это как фундамент дома, ёпта. Тут не «автоматизируем когда-нибудь», а «автоматизируем вчера, блядь». Доверия ебать ноль к ручным проверкам в таких местах.
- Код, который меняют каждые пять минут. Пришёл новый чувак, поправил кнопочку, а сломал логику отправки письма. Регресс, Карл! Автотест в CI/CD впендюрит ему красный крестик сразу, и все поймут, что он распиздяй. Экономия нервов — овердохуища.
- API и всякие микросервисы. Это вообще благодать для автоматизации. Интерфейс стабильный, проверить быстро. Не то что эти ебушки-воробушки с Selenium, где сегодня селектор работает, а завтра фронтендер всё перелопатил и тест накрылся медным тазом.
- Длинные, нудные, как поход к тёще, сценарии. Типа «выбрать товар, добавить в корзину, оформить, оплатить, получить смс». Ручками это делать — терпения ноль ебать. Пусть машина страдает.
Как мы на проекте делали, чтоб не обосраться:
Не стали сразу хуй с горы делать и лепить сотню UI-тестов. Это долго и хрупко. Поступили хитрее:
- Взялись за API. Все эти ваши POST, GET запросы. Насрали коллекций в Postman, чтобы проверить, что бэкенд вообще жив и адекватен.
- Запускали это добро в CI (у нас Jenkins был) через Newman. Каждый новый билд — и уже подозрение ебать чувствую, если что-то пошло не так. Ломается бизнес-логика — узнаём через минуту, а не через неделю тестирования.
- И только потом, на стабильный фундамент, навесили ключевые UI-проверки на Selenium. Чтоб убедиться, что и фронт не подводит. Но не всё подряд, а самое главное.
Короче, суть в чём. Автотесты — это не религиозный догмат «надо везде». Это инструмент, чувак. Вкладываешь время сейчас, чтобы потом не орать «на бэке всё сломалось, а мы три дня ручками кликали и не заметили». Пиши их там, где боль от падения максимальна, а ручная проверка отнимает ядрёна вошь времени. Всё остальное — да похуй, можно и ручками, если дешевле.