[Moscow.pm] Вопрос противникам тестов [was: гребаные тестовые задания]

Ivan Petrov i.petro.77.00 на gmail.com
Чт Дек 10 04:32:39 PST 2015


> 1) Не всякий код разумно покрывать тестами, есть вещи которые очень тяжело
> покрыть тестами.
> Некоторый код вырабатывался годами, когда TDD в принципе не было и люди над
> кодом думали.

если мы хотим в дальнейшем развивать код, то покрывать тестами
необходимо, даже если это дается тяжело

> 2) Не всякий код можно выкинуть и переписать особенно, если его мегабайты и он
> старый.

если мы хотим РАЗВИВАТЬ код, то его либо покрывать тестами, либо
переписывать.
по достижении какого-то уровня сложности этого не избежать.

почему сдохла ICQ? потому что они не могли вносить в свой код
изменения. им было дешевле его продать. покупатель в итоге затратив
чудовищные усилия код отрефакторил и добавил в протокол аудио/видео,
однако рынок уже потерян.

почему дохнут вполне успешные проекты вообще? потому что не могут
догонять функционал до современных требований.
почему они это не могут делать? потому что код в дерьмовом состоянии.

> Наше образование  из того же разряда --- оно вырабатывалось годами.

то что код в плохом состоянии не означает что его нельзя плавно
перевести в хорошее состояние.
то же и с образованием

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

тесты можно составлять по разному. вопросы могут иметь несколько
ответов. замените radiobutton на checkbox и будет счастье.
кроме того в ЕГЭ далеко не везде чистые тесты. есть и задачи и тп.

то есть "тест" - это общее понятие. но это не тест в буквальном виде,
это все-таки госЭКЗАМЕН

> 4) Я смотрю на образование в начальной школе и вижу, что гораздо "легче"
> проверять знания на выходе, и выкинуть куски, которые тестами не покрываются, и
> добавить всякой мишуры, чтобы сохранить объем материала.

материала увы убавили, годов начшколе прибавили.
но эта проблема не связана с тестированием.

все ж таки направление развития кода определяют не тесты, а бизнес.
а тесты позволяют контроллировать систему: удерживать ее в
редактируемом состоянии.
поэтому претензии по деградации современного образования надо
адресовать не системе тестирования, а "бизнесу"

как-то так.

> 5) тестирование на выходе, не улучшает качество продукта. --- Макконел говорит
> одно наличие тестов дает какие-то 20% к качеству кода.

я бы поспорил про 20%, но даже если просто согласиться с этой цифрой,
то это довольно немало.

> В чем плюс тестов --- так они позволяют относительно безболезненно делать
> мелкие правки кода и рефакторинг.

вот, это самое главное

> И какой плюс в рефакторинге образования?

в чем плюс рефакторинга?
возможность развития в соответствии с изменением внешних требований


Подробная информация о списке рассылки Moscow-pm