Здравствуйте, __kot2, Вы писали:
__>>
"Сценарии покрыты на 100%"
__>>это примерно как заявить — код написан на 100% без ошибок. "ваши доказательства?"
__>ну кодом же вы как-то покрываете сценарии исполнения?
Бывает так, что в сложных, развитых проектах некоторые части кода не вызываются никогда за время эксплуатации (даже при массовом использовании).
__>>при чем тут вера, если это чисто математический факт: из теоремы райса вытекает, что не существует даже алгоритма, позволяющего проверить, покрывают ваши тесты 100% сценариев ошибок или нет, не говоря уже об автоматической генерации таких тестов.
__>вот есть Вася и Петя. и дали им задачу — написать автоисправление русского текста. задачи хитрая и четкого решения не имеющая.
__>Вася что-то написал, приносит код, мы открываем папочку с тестами и видим
__>чяща -> чаща
__>жыр -> жир
__>несделал -> не сделал
__>думаем, какой Вася молодец. вот мы сразу поняли, что кодом поддерживается, нам даже лезть в него не надо
Вася пробежал по таблице (базе) типичных ошибок и выдал исправление внесённое в вторую колонку таблицы для каждой их опечаток?
__>Петя отдает код и говорит "ну и задачку же вы мне подсунули". короче, говорит, я там что-то написал, я проверил у себя на компе там, я ему тест создал, просто опечаток понараскидал, он нашел 70%. улучшить можно, но пока не знаю как.
__>вы можете выбрать какой код развивать. и какой будете — Васин, который понятно что делает или Петин, который вообще непонятно что делает?
Действительно, у Васи всё понятно: опечатка — исправление. А у Пети не пойми что, какой-то нечёткий поиск, вероятности, проценты...
__>при этом, понимаете, Вася создал огромную ценность в виде минимальных некорректных примеров разных классов, а Петя просто проторчал в дебагере, выискивая какие-то опечатки, по всей видимости, еще и не все найденные. есть желание заниматься поиском его опечаток?
Ну, серьёзно: на практике есть классы задач, которые никак не покрываются тестами (классический пример — числа неограниченной длины) или же написание тестов превосходит по затратам написание кода на несколько порядков — это, как правило, задачи связанные с реальным миром: интерфейс, реалтайм системы, время, перегрузка входными данными от датчиков...