N>>>Твои примеры с бухгалтерией, физическим или графическим движком мне кажутся неадекватными. В них есть много тонкостей, которые могут на второй уже версии сильно меняться. Например, следующий DirectX, или требование пересчёта баланса впараллель на нескольких ядрах вместо текущего одного ядра могут переломать всю архитектуру слоя поддержки. G>>И? Одна тонкость не ставит под сомнение существование самих движков.
N>Она подтверждает AVK: "стабильность участков кода обычно определяется уже после их написания".
Что ты понимаешь под стабильностью? Я говорил про части кода, на которые не влияют или мало влияют изменения требований для приложения. Граф. движок очень хорошо подходит.
G>> И уж точно не говорит о том что их нельзя покрывать тестами. N>Этого я и не говорю. Но уровень затрат ресурсов на покрытие тестами может и часто должен меняться в зависимости от того, насколько стабилизировались
внешние условия и представления об основах реализации. Нет смысла плотно покрывать тестами то, что может завтра быть вынесено к лешим.
Именно, но ведь не любой код одинаково подвержен изменениям? Или ты вообще не можешь сказать насколько подвержена изменениям тот или иной модуль?
N>>>Поэтому разумно просто отвести ресурсы на написание тестов, не конкретизируя, какие именно они должны быть. Где-то это юнит-тесты до каждой строчки кода, где-то — функциональный на группу классов. Осталось, чтобы руководитель согласился с критериями разумности. G>>Если рассматривать тесты только как пожиратель ресурсов, то их вообще писать не стоит. N>Вывод про "только" высосан из пальца.
Ты про другое не пишешь.
G>> Я например прекрасно вижу преимущества unit-тестов в виде формально проверяемых спецификаций, а также как регрессионное тестирование. N>Регрессионное — да. Формально проверяемая спецификация — нет. Для этого нужна верификация, а не тестирование.
Если язык позволяет статически верифицировать то да, а иначе только тестами. Других способов доказать что код соотвествует спецификации просто нет.
G>> Если вы не видите, то вам они не нужны. N>Грубый и бессмысленный наезд. Правильно было бы сказать, что они местами нужны больше, местами — меньше.
Это уже вам решать.
Я привел доводы когда можно использовать unit-тесты. Доводы соответствуют опыту. Не согласны — никто же не заставляет вас использовать unit-тест.
Своих же доводов вы не приводите. Это отчасти и подталкивает к мысли что вы не видите ценности тестов.