> Иван, в вашей математике нет стоимости ошибки. > А стоимость ошибки может быть такая, > что даже линейное присвоение значений переменным необходимо проверять, > например: на допустимый диапазон значений...
если стоимость ошибки очень высока, то тогда либо высокое покрытие тестами становится оправданным, либо частичная выкатка. например у вас скажем проект (от фонаря) 'яндекс-поиск'. понятно что выкатив новый релиз с ошибкой вы рискуете тем что сразу десять миллионов пользователей на нее наткнутся. стоимость ошибки тут очень высока. соответственно путей два: либо очень сильно задирать стоимость тестов, либо идти по пути снижения стоимости ошибки. например - выкатывая изменения так, чтобы сперва их могли увидеть не более 1% пользователей. затем вторым этапом - не более 10% итп. > К тому же вы скромно умолчали о том, как же посчитать покрытие тестами. > А посчитать можно с помощью Devel::Cover. я говорил о своей эмпирике, а не о том как посчитать :) моя эмпирика такая: 1. человек ошибается где-то в 2% случаев (если считать покрытие тестами на компиляцию - 100%: в моей же статистике количество ошибок будет где-то 10-15% если тестов на компиляцию нет) 2. покрытие тестами 60%-70% - это уровень который стоит где-то 1/2 от стоимости написания собственно кода. 3. выше этого уровня стоимость тестов растет обычно неоправданно (можно как в приведенном выше примере снижать стоимости ошибок) ну и понятно, что если вы систему управления задвижками на атомном реакторе пишете, то рассуждения о стоимости тестов становятся вторичными -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
