[Moscow.pm] Встреча Moscow.pm в феврале

Ivan Petrov i.petro.77.00 на gmail.com
Ср Янв 22 06:04:46 PST 2014


> Иван, в вашей математике нет стоимости ошибки.
> А стоимость ошибки может быть такая,
> что даже линейное присвоение значений переменным необходимо проверять,
> например: на допустимый диапазон значений...

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

например у вас скажем проект (от фонаря) 'яндекс-поиск'.
понятно что выкатив новый релиз с ошибкой вы рискуете тем что сразу
десять миллионов пользователей на нее наткнутся. стоимость ошибки тут
очень высока.

соответственно путей два: либо очень сильно задирать стоимость тестов,
либо идти по пути снижения стоимости ошибки.
например - выкатывая изменения так, чтобы сперва их могли увидеть не
более 1% пользователей. затем вторым этапом - не более 10% итп.

> К тому же вы скромно умолчали о том, как же посчитать покрытие тестами.
> А посчитать можно с помощью Devel::Cover.

я говорил о своей эмпирике, а не о том как посчитать :)

моя эмпирика такая:

1. человек ошибается где-то в 2% случаев (если считать покрытие
тестами на компиляцию - 100%: в моей же статистике количество ошибок
будет где-то 10-15% если тестов на компиляцию нет)
2. покрытие тестами 60%-70% - это уровень который стоит где-то 1/2 от
стоимости написания собственно кода.
3. выше этого уровня стоимость тестов растет обычно неоправданно
(можно как в приведенном выше примере снижать стоимости ошибок)

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


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