Подтвердить что ты не робот

Обеспечение покрытия кода при модульном тестировании?

Я заметил, что, хотя у меня есть много доктрин в нашем Python-коде, когда я трассирую тестирование, используя описанные здесь методы:

traceit

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

4b9b3361

Ответ 2

У вас есть мандат от руководства, чтобы быть догматичным о получении 100% -ного покрытия кода вашими тестовыми случаями? Если нет, считаете ли вы, что касаться каждой строки кода является наиболее эффективным способом поиска ошибок в вашем коде? Предполагая, что у вас нет бесконечного времени и ресурсов для людей, вы, вероятно, должны сосредоточиться на разумном тестировании всего вашего нетривиального кода с акцентом на те части, которые, как известно разработчикам, были сложными для записи или подверженности ошибкам.

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