Тестівус на тестовому покритті
Рано одного ранку програміст запитав у великого майстра:
«Я готовий написати кілька тестів на одиницю. До якого покриття коду я повинен прагнути? "
Великий майстер відповів:
"Не хвилюйтеся про покриття, просто напишіть кілька хороших тестів".
Програміст посміхнувся, вклонився і пішов.
...
Пізніше того ж дня другий програміст задав те саме питання.
Великий майстер вказав на горщик з окропом і сказав:
"Скільки зерен рису я повинен покласти в той горщик?"
Програміст, дивлячись спантеличено, відповів:
"Як я можу вам сказати? Це залежить від того, скільки людей потрібно годувати, наскільки вони голодні, яку іншу їжу ви подаєте, скільки рису у вас є і так далі ».
- Саме так, - сказав великий майстер.
Другий програміст посміхнувся, вклонився і пішов.
...
Наприкінці дня прийшов третій програміст і задав те саме питання щодо висвітлення коду.
"Вісімдесят відсотків і не менше!" - відповів майстер суворим голосом, ударивши кулаком по столу.
Третій програміст посміхнувся, вклонився і пішов.
...
Після цієї останньої відповіді молодий учень підійшов до великого майстра:
«Чудовий майстер, сьогодні я почув, що ви відповіли на те саме питання щодо висвітлення коду з трьома різними відповідями. Чому? "
Великий майстер підвівся зі свого крісла:
"Приходь, принеси зі мною свіжий чай і поговоримо про це".
Коли вони наповнили чашки курінням гарячого зеленого чаю, великий майстер почав відповідати:
«Перший програміст новий і тільки розпочинає тестування. Зараз у нього багато коду і відсутні тести. У нього довгий шлях; зосередження уваги на висвітленні коду в цей час було б гнітючим і зовсім марним. Йому краще просто звикнути писати та виконувати деякі тести. Пізніше він може турбуватися про покриття ».
“Другий програміст, з іншого боку, має достатній досвід і в програмуванні, і в тестуванні. Коли я відповів, запитуючи її, скільки зерен рису я повинен покласти в горщик, я допоміг їй зрозуміти, що необхідна кількість тестування залежить від ряду факторів, і вона знає ці фактори краще, ніж я - адже це її код . Єдиного, простого, відповіді немає, і вона досить розумна, щоб впоратися з правдою і працювати з цим ".
"Я бачу, - сказав молодий учень, - але якщо немає єдиної простої відповіді, то чому ви відповіли третьому програмісту" Вісімдесят відсотків і не менше "?"
Великий майстер сміявся так сильно і голосно, що його живіт, свідчення того, що він пив більше, ніж просто зелений чай, плиснув вгору і вниз.
"Третій програміст хоче лише простих відповідей - навіть коли простих відповідей немає ... і тоді в будь-якому разі не дотримується їх".
Молодий учень і запечений великий майстер закінчили пити чай у споглядальній тиші.