Как стать автором
Обновить

Притча о покрытии кода тестами

Время на прочтение2 мин
Количество просмотров42K
Автор оригинала: Alberto Savoia

Ранним утром программист спросил великого мастера:
— Я готов писать модульные тесты. К какому покрытию кода я должен стремиться?
Великий мастер ответил:
— Не переживай о покрытии, просто пиши хорошие тесты.
Программист улыбнулся, поклонился и ушел.

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

В конце дня пришел третий программист, и задал тот же вопрос о покрытии кода:
— Восемьдесят процентов и ни строчкой меньше! — строго ответил мастер ударяя кулаком по столу.
Третий программист улыбнулся, поклонился и ушел.

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

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

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

Молодой ученик и седой великий мастер допивали чай в задумчивом молчании…
Теги:
Хабы:
Всего голосов 143: ↑127 и ↓16+111
Комментарии65

Публикации

Истории

Работа

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
11 сентября
Митап по BigData от Честного ЗНАКа
Санкт-ПетербургОнлайн
14 сентября
Конференция Practical ML Conf
МоскваОнлайн
19 сентября
CDI Conf 2024
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн