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