Я працюю в невеликій компанії як сольний розробник. Я фактично єдиний розробник компанії. У мене є кілька (відносно) великих проектів, які я писав і підтримую регулярно, і жоден з них не має тестів для їх підтримки. Починаючи нові проекти, я часто замислююся, чи варто спробувати підхід до TDD. Це звучить як гарна ідея, але я, чесно кажучи, ніколи не можу виправдати зайву роботу.
Я багато працюю, щоб бути перспективним у своєму дизайні. Я усвідомлюю, що, безумовно, одного дня іншому розробникові доведеться підтримувати мій код або принаймні виправляти його. Я тримаю речі максимально просто і коментую та документую речі, які було б важко зрозуміти. І справа в тому, що ці проекти не такі великі чи складні, що гідний розробник би намагався їх осмислити.
Дуже багато прикладів тестів, які я бачив, доходять до дрібниць, охоплюючи всі аспекти коду. Оскільки я єдиний розробник і мені дуже близький код у всьому проекті, набагато ефективніше слідувати шаблону запису, а потім вручну. Я також вважаю, що вимоги та функції змінюються досить часто, що підтримка тестів додасть значну кількість тягаря до проекту. Час, який інакше можна витратити на вирішення потреб бізнесу.
Тож я щоразу закінчую тим самим висновком. Рентабельність інвестицій занадто низька.
Я час від часу встановлюю кілька тестів, щоб переконатися, що я правильно написав алгоритм, як, наприклад, підрахунок кількості років, які хтось був у компанії на основі дати їх найму. Але з точки зору покриття кодом я покрив близько 1% свого коду.
У моїй ситуації, ви все-таки знайдете спосіб зробити тестування підрозділу звичайною практикою, або я обґрунтовано уникаю цих витрат?
ОНОВЛЕННЯ: Кілька речей щодо моєї ситуації, яку я пропустив: Мої проекти - це всі веб-програми. Щоб покрити весь мій код, мені доведеться використовувати автоматизовані тести інтерфейсу користувача, і це область, де я досі не бачу великої користі від ручного тестування.