Pull to refresh

Цель покрытия кода: 80 % и не меньше!

Reading time2 min
Views715
Original author: Alberto Savoia
Однажды рано утром молодой программист обратился к великому мастеру: «Я готов написать несколько модульных тестов. К какому покрытию кода я должен стремиться?».

Великий мастер ответил: «Не волнуйся о покрытии, просто напиши хорошие тесты».

Молодой программист улыбнулся, поклонился и ушёл.



В тот же день второй программист задал тот же вопрос.

Великий мастер указал на кастрюлю с кипящей водой и спросил: «Сколько зёрен риса я должен кинуть в кастрюлю?».

Программист, недоумевая, сказал: «Как я могу ответить? Это зависит от того, сколько людей нужно кормить, насколько они голодны, какая еда ещё будет, сколько есть риса и так далее».

«Именно!», — ответил великий мастер.

Второй программист улыбнулся, поклонился и ушёл.



К концу дня пришёл третий программист и задал тот же вопрос о покрытии кода.

«Восемьдесят процентов и не меньше!», — строго ответил мастер, стукнув кулаком по столу.

Третий программист улыбнулся, поклонился и ушёл.



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

Великий мастер встал со стула: «Давай выпьем чая и поговорим об этом».

После того, как они наполнили свои чашки дымящимся горячим зелёным чаем, великий мастер начал:

«Первый программист — новичок, он совсем недавно занимается тестированием. Сейчас у него много кода и нет тестов. Ему ещё многое предстоит; концентрироваться на покрытии кода сейчас ему будет тяжело и бесполезно. Ему лучше просто привыкать к написанию и запуску некоторых тестов. Он может начать беспокоиться о покрытии позже.

Второй программист довольно опытен, как в программировании, так и в тестировании. Когда я спросил, сколько зёрен риса я должен положить в кастрюлю, я помог ему понять, что объём необходимого тестирования зависит от ряда факторов, и он знает эти факторы лучше, чем я — это же его код. Здесь нет единственного простого ответа, и он достаточно умён, чтобы разобраться».

«Я понял», — ответил молодой ученик, «но если единственного простого ответа нет, то почему же вы ответили третьему программисту „Восемьдесят процентов и не меньше!“»?

Великий мастер рассмеялся: «Третьему программисту нужны только простые ответы — даже если простых нет… но потом он всё равно им не следует».

Молодой ученик и седой великий мастер закончили пить чай в задумчивом молчании.
Tags:
Hubs:
Total votes 15: ↑14 and ↓1+13
Comments2

Articles