Про исправление ошибок, привносящее новые ошибки

Помню свое первое исправление ошибки, из-за которого все сломалось еще больше, чем было до.

Я только прошел испытательный срок в фирме «1С» и мне отсыпали ошибок по новой зоне ответственности. Одна из них была в том, что в отчете нельзя было выбрать год, только месяц. Исправление выглядело простым: немного поправил логику и проверил, что отчет работает идеально. Заложил изменения в хранилище и отправил на проверку.

На следующий день ко мне подошли три коллеги. У одного — сломалось закрытие месяца, у второго — отчёт, у третьего — выбор периода вообще перестал открываться. Я был в шоке. Моя такая маленькая правка вызвала лавину проблем в самых неожиданных местах.

Так я узнал, что регрессионное тестирование — не просто скучная формальность, а процесс, который может спасти от проблем. Автотестов тогда у нас еще не было и релизы проверялись вручную всеми разработчиками около недели. Это помогало, но не всегда: релизы выходили сильно реже, а качество порой страдало (см. левую часть графика)

Сейчас такое тестирование еженочно проводится с помощью автотестов и каждое утро известно насколько хорош релиз. Такие ошибки точно не пройдут. Как и мое чувство чувство стыда, за то исправление.

А у вас бывало такое? Делитесь своими историями, как исправление ломало что-то еще 👀

Никита Арипов | 1C. Подписаться