Как называется такой подход к разработке, тестировани и баг-фиксу? Работал на проекте, где совершенно не было тестов, но и завала по багам так же не было.
Вот почему то вспомнилось и приспичило узнать, есть ли название следующему подходу:
Весь код заливается через строгий и тщательный код-ревью. На дев сервере тестится только руками, зачастую мелкие баги попадают в продакшн.
Баг фикс организован таким образом, что клиент где-то натыкается на ошибку, ошибка сразу репортится в канал Slack и сохраняется в базе, как необработанная. Ошибка анализируется по стеку и переменным окружения, которые прилагаются к записи этой ошибки. Исправляется и заливается хот-фикс.
Сама ошибка, фактически - это отловленный Exception, который записывается в базу со всей доступной информацией. Если, например, произошла некоторая абстрактная ошибка, то при фиксе ставится исключение уже с человеческим названием, и если вдруг из за изменения некоторого модуля снова попадаем в ту же исключительную ситуацию - получаем уже абсолютно точное название, по которому понятно, что за ошибка произошла и можно даже вспомнить, где её искать (хотя, к ошибки крепится номер файла и строки, так что можно и не вспоминать).
Минусы очевидны - логические ошибки таким образом не выловишь, только по обращению клиента. Ну и, само собой, автотесты предусмотрели бы ошибку заранее.
Плюсы - не тратится время на тесты, благодаря чему быстрее пилятся фичи. Всё более стихийно, проект "чаще ошибается", но быстрее развивается и адаптируется под клиента, что очень важно, особенно в условиях жесткой конкуренции.
Это просто такой компромиссный способ разработки продукта с баг-фиксом малой кровью, или у такого подхода есть название и он является в некоторой степени вполне рабочей альтернативой? Хотелось бы узнать больше и почитать на эту тему.
Нашел и прочитал пару статей о статическом и динамическом анализе кода и сначала подумал, что это о моём вопросе. Но как оказалось, сходство только в том, что в динамическом анализе тоже используется рабочая версия программы, а не тестовая, фиктивная.
А может просто поздно, мозг устал и пытается выжать важное из неважного, - просто проект без тестов. Чего я привязался и ищу что-то глубокое? Кто знает...

21 Авг 2019 в 06:29
341 +1
0
Ответы
1

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

Однако, стоит помнить, что такой подход не исключает необходимости тестирования и предупреждения ошибок заранее, так как постоянное реагирование на возникающие проблемы может быть неэффективным и привести к накоплению технического долга. Идеальным вариантом является использование комплексного подхода, включающего в себя как реактивную, так и проактивную разработку, а также автоматизированные тесты и регулярные код-ревью.

20 Апр 2024 в 13:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир