Re[10]: Тестирование бесполезно
От: Poopy Joe Бельгия  
Дата: 18.06.21 09:57
Оценка: +1
Здравствуйте, netch80, Вы писали:


N>Конечно, нет. Может, у тебя один тест, который проверяет, как main() разбирает аргументы, и он зелёный

Во, ты начинаешь что-то подозревать. Прикол в том, что это ничем не отличается ни от 1000, ни от 10000.

N>1) Разумность самих тестов (метода, набора тестовых данных), с точки зрения нахождения проблем реализации согласно задаче и выбранному методу.

И как ты проверяешь разумность?

N>2) Верификация кода (хотя бы визуальная) на то, что реализован действительно нужный подход (а не поставлен, грубо говоря, большой if на конкретные тестируемые случаи).

Жесть какая...

N>3) Достаточное покрытие нужного-по-ТЗ кода тестами (несмотря на всю условность этого понятия).

Достаточное это какое?

N>4) Доверие среде и библиотекам.

А нафига тогда все предыдущие?

N>Вот после этого можно говорить — не абсолютно, но с практически достаточной уверенностью — про отсутствие багов.

И че хоть раз такое происходило? Ну, только честно.

N>И да, в это я верю. Как-то практика показывает, что именно так и оно и работает

В стране с единорогами?

N>Были, где, грубо говоря, 90%. Сейчас крайне мало — но это потому, что ресурсов нет. А так я бы и сейчас добавил переменных.

Охотно верю, был демо проект, где 90% и реальный код, где их почти нет. Я ровно об этом.

N>Если ты используешь тесты ровно для этого — это твои личные ограничения.

Увы, не мои. Это ограничение самой методики. Вот честно, хотелось бы иметь волшебную технологию уровня "компилируется — в продакшн"

N>А почему ты в этом рассмотрении предполагаешь только внутренние кодовые тесты?

Потому что речь о ТDD. Впрочем, заказчика вообще никакие тесты не интересуют. Я, по-крайней мере, таких не видел.

N>Это ловится на других уровнях и другими методами.

Какими?

N>А кто только что писал про предыдущую спецификацию? Сам уже не помнишь, что писал?

Я вообще не понял, что ТЫ написал. Я либо впервые использовал слово спецификация, либо использовал его до этого. Оба утверждения твои и оба они не могут быть верными одновременно.

N>OK. Представим себе, что "спецификация" это "полное и точное ТЗ", и пойдём дальше. Так откуда взялась предыдущая спецификация?

I'm lost. Полное и точное ТЗ, это функциональные требования к системе, это функциональные тесты, в лучшем случае.
Спецификация о которой идет речь это спецификация на отдельные куски кода, которые ты покрываешь тестами. Представим, что теплое это мягкое и пойдем дальше.

N>Ну вот я выше и описал. Разница между "ничего не гарантируют" и "статистически гарантируют поиск >90% ошибок", по-твоему, важна или нет?

Нет, разумеется. Гарантия понятия бинарное, она либо есть, либо ее нет. И нет, тесты этого не гарантируют. Все что гарантируют тесты, это если у тебя измениться поведение функции которую проверяет тест, при условии, что тест проверяет конкретный случай, то он это покажет.

N>Сарказм понят, но не оценён. Нарвёшься на то, что будешь отказываться от доступных средств из-за гордыни.

От каких доступных средств я отказываюсь? От тестов? Это ты сам придумал.
От построения из них карго-культа? Так это ты нарвешься, думая, что они тебе чего-то там гарантируют.
Отредактировано 18.06.2021 9:59 Poopy Joe . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.