Какие типы тест-кейсов нецелесообразно автоматизировать?

Ответ

Автоматизация не всегда оправдана. Вот основные категории тест-кейсов, которые обычно не стоит автоматизировать:

  1. Одноразовые или редкие проверки – если тест выполняется один раз или очень редко, затраты на разработку и поддержку скрипта превышают выгоду.
  2. Тесты с нестабильными требованиями или UI – частые изменения в функционале или интерфейсе делают поддержку автотестов дорогой и неэффективной.
  3. Субъективные проверки (UX/Usability) – оценка удобства, дизайна или восприятия пользователем. Автоматизация не может заменить человеческое суждение.
    # НЕ для автоматизации: "Интуитивно ли расположены элементы меню?"
    # Это субъективная оценка, требующая ручного тестирования.
  4. Сложные физические или аппаратные взаимодействия – тестирование работы с принтерами, сканерами, специфическими жестами (мультитач) или датчиками.
  5. Критически важные сценарии перед релизом (Smoke/Sanity) – в момент выпуска версии надежнее выполнить ключевые проверки вручную, чтобы избежать рисков из-за возможных сбоев в автоматизации.
  6. Тесты с низким приоритетом или минимальным impact – если вероятность дефекта мала, а его влияние на бизнес незначительно, автоматизация не окупается.

Критерий решения: всегда оценивайте ROI (Return on Investment) – соотношение затрат на создание/поддержку автотеста и пользы от его повторного выполнения.

Ответ 18+ 🔞

Да ты послушай, что за дичь творится в этом нашем тестировании! Все вокруг кричат "автоматизируй всё, блядь!", а потом сидят и плачут, когда скрипты ломаются чаще, чем фичи. Так вот, слушай сюда, не всё, что шевелится, надо запихивать в автотесты, ёпта!

Вот тебе святая правда, проверенная на моих костылях:

  1. Одноразовое или раз в пятилетку – ну серьёзно, чувак. Ты будешь неделю писать скрипт, чтобы он запустился один раз и накрылся медным тазом? ROI, блядь, ноль ебать! Затраты на разработку просто съедят всю гипотетическую пользу. Лучше ручками разок ткнуть и забыть.

  2. Меняется чаще, чем перчатки у хирурга – если требования или интерфейс пляшут джигу-дрыгу с каждым спринтом, то твой автотест превращается в вечную головную боль. Ты будешь только его и править, а не новые штуки тестить. Поддержка сожрёт все твои ресурсы, вот тебе чих-пых в сраку.

  3. Про "удобненько-красивенько" – автоматизация тут бессильна, как хуй с горы. Она не скажет тебе, интуитивный ли интерфейс или дизайн говно.

    # Вот эту хуйню автоматом не проверишь:
    # "А не режет ли глаз, блядь, эта анимация? А кнопка не мелковата?"
    # Это ж чисто человеческое, субъективное восприятие.
  4. Железяки и физический мир – хочешь протестить, как софт жмёт кнопку на реальном принтере или ловит жест тремя пальцами? Удачи, ёперный театр! Настраивать эту адскую машинерию часто дольше и дороже, чем проверить вручную разок-другой.

  5. Перед самым выкатом, когда все трясутся – вот тут, блядь, нужно трезво мыслить. Твой дымовой тест (Smoke) перед релизом — это святое. Положиться на скрипт, который мог сломаться от обновления драйвера? Рисковать всем из-за глюка в автоматизации? Да ты шутишь! Критичный путь — только руками, медленно и вдумчиво. Чтобы не было потом: "ой, автотест проглотил баг, а мы всё зарелизили, пиздец".

  6. Какая-то незначительная хрень – если баг в этой фиче максимум вызовет лёгкое "хм" у одного пользователя из ста, а вероятность его появления — как у меня стать космонавтом, то зачем тратить время на автотест? Impact — ноль, приоритет — ниже плинтуса.

Главный принцип, блядь: считай окупаемость (ROI). Спроси себя: сколько сил и денег я вложу в написание и, что важнее, в поддержку этого скрипта, и сколько он сэкономит мне времени и нервов в будущем? Если первое перевешивает — брось эту затею, иди лучше кофе выпей. Автоматизация — это инструмент, а не священная корова, которую нужно доить до последнего.