О пользе тестов
Делал сегодня огромный рефакторинг. Перелопатил под сотню файлов и тысячи строк. Очень сильно упростил внутреннюю структуру авто-дополнений Laravel Idea. Всё стало проще и красивее и быстрее и появилась возможность реализовывать кастомные авто-дополнения, в общем одни плюсы, но суть не в этом.
Я запустил после всего этого тесты и один из них упал. Я быстро нашёл мелкий баг (там банально не ту переменную заюзал). Если бы этого теста не было - оно ушло бы в релиз и его заметили бы пользователи. То, что работало раньше и перестало после рефакторинга, называется регрессионным багом. Основная польза тестов именно в этом! Они позволяют находить баги регрессии на очень ранней стадии, позволяя смело делать даже крупные рефакторинги.
Понимаю, что повторяю то, что вы уже раз 10 читали где-то, но сегодня прям типичный случай со мной произошёл.