Правила программирования на С и С++. Главы 1-6 - Тестовые подпрограммы не должны быть интерактивными

ОГЛАВЛЕНИЕ

 

75. Тестовые подпрограммы не должны быть интерактивными.

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

И, кстати, не удаляйте эту тестовую процедуру; просто используйте предложение #ifdef TEST для включения или выключения этой подпрограммы из компиляции. Если вы похожи на меня, то вы утром удалите эту тестовую функцию, а уже к обеду она вам понадобиться снова, даже если вы не пользовались ей последние два года.