Мнение опытного программиста об автотестах

6yrop


На ваших проектах автотесты покрывали не всю работу с базой?
Автотесты — это для идеальных проектов, где из время, стоимость, качество можно без труда выбрать все три состаяляющих. Ну, или если это совсем крошечный проект.
http://rsdn.ru/forum/db/6184948.1


В отличие от нашего героя Игорь Ткачёв выкладывает свои работы в open source.
Игорь написал библиотеку BLToolkit лет 8 назад, которую наш герой переизобрел в 2015 году.
Сейчас Игорь рекомендует использовать типизированный доступ к базе с помощью его новой библиотеки linq2db. BLToolkit осталась в прошлом.

Anna551

время, стоимость, качество можно без труда выбрать все три состаяляющих
То есть на любом взлетевшем стартапе - которых сейчас не так и мало. Да - они ограничены во времени - но имеют неплохую свободу в ресурсах.
В сервисах большого масштаба - цена ошибки как правило значительно выше цены программистов, чей труд направлен на ее минимизацию.

sergeikozyr

> Ну, или если это совсем крошечный проект.
"композиция? не, не слышали".
ещё есть ощущение насчёт тестов, что это типа статической типизации для архитектуры: если она слабая, то при написании тестов это видно сразу. Ну и коррекцию-улучшение отдельный кусков кода без них делать, очевидно, очень печально.

6yrop

http://habrahabr.ru/post/210518/
читаем комменты

6yrop

Ну и коррекцию-улучшение отдельный кусков кода без них делать, очевидно, очень печально.
Основная проблема тестов в том, что никто не знает какие тесты писать, а какие не писать. Поэтому не известно какие коррекции кода можно делать при наличии тестов.
Если меняется элемент кода X и есть find usages для этого элемента X, то можно безопасно менять X, проверив те места, которые нашел find usages. Тесты такой полноты не дают.

гы

"Основная проблема тестов в том, что никто не знает какие тесты писать, а какие не писать."

Я немного знаю. Если предстоят сложные переносы данных между базами с разной структурой - лучше написать тесты, которые тестируют правильность этих данных после переноса. Потому что проверять это вручную выйдет раз в сто медленнее и во столько же раз некачественнее.
Оставить комментарий
Имя или ник:
Комментарий: