Найти в Дзене
Толкователь снов

5. Тестов нет, но вы держитесь

Многие понимают, что автоматическое тестирование нужно (а кто-то даже и этого не понимает), вместе с тем далеко не каждый из них следует этому пониманию. Пока система простая, работоспособность можно исчерпывающе проверить вручную. Вот только засада: сложность тестирования растёт гораздо быстрее, чем сложность самой системы. Со временем проверяются только новые функции и только успешные сценарии. Начинается непредсказуемость и хаос. Всё это подаётся под соусом нехватки времени, следуя зарекомендовавшим себя методологиям «тяп-ляп и в продакшн», «и так сойдёт» и «пользователь — лучший тестировщик». Наличие тестов тоже ничего не гарантирует. Тесты можно написать так, что они будут проходить, а продукт при этом будет неработоспособным, поэтому тестирование ради тестирования, чем тоже грешат, — это бесполезная трата времени. Я могу выделить основные аргументы в пользу написания тестов: 1) Хоть какая-то надежда на то, что продукт работает ожидаемым образом.
2) Хорошо написанные тесты дают по
Свет от проезжающих машин
Свет от проезжающих машин

Многие понимают, что автоматическое тестирование нужно (а кто-то даже и этого не понимает), вместе с тем далеко не каждый из них следует этому пониманию.

Пока система простая, работоспособность можно исчерпывающе проверить вручную. Вот только засада: сложность тестирования растёт гораздо быстрее, чем сложность самой системы. Со временем проверяются только новые функции и только успешные сценарии. Начинается непредсказуемость и хаос.

Всё это подаётся под соусом нехватки времени, следуя зарекомендовавшим себя методологиям «тяп-ляп и в продакшн», «и так сойдёт» и «пользователь — лучший тестировщик».

Наличие тестов тоже ничего не гарантирует. Тесты можно написать так, что они будут проходить, а продукт при этом будет неработоспособным, поэтому тестирование ради тестирования, чем тоже грешат, — это бесполезная трата времени.

Я могу выделить основные аргументы в пользу написания тестов:

1) Хоть какая-то надежда на то, что продукт работает ожидаемым образом.
2) Хорошо написанные тесты дают понимание того, как устроен продукт. У меня бывало так, что приходилось переписывать код, чтобы его можно было протестировать. И новый код был идеологически правильнее.
3) Ошибки реально отлавливаются, и старые, и новые.

Пишите, Шура, пишите (тесты).