Из других ответов ясно, что 100% покрытие кода в тестах не означает 100% правильность кода или даже то, что все ошибки, которые могут быть обнаружены при тестировании, будут найдены (не говоря уже об ошибках, которые ни один тест не смог уловить).
Другой способ ответить на этот вопрос один из практики:
В реальном мире и даже на вашем собственном компьютере существует множество программных продуктов, которые разрабатываются с использованием набора тестов, обеспечивающих 100% охват, и в которых все еще есть ошибки, в том числе ошибки, которые можно выявить при более качественном тестировании.
В связи с этим возникает вопрос:
В чем смысл инструментов покрытия кода?
Инструменты покрытия кода помогают определить области, которые никто не проверял. Это может быть хорошо (код явно корректен даже без тестирования), его невозможно решить (по какой-то причине путь не может быть найден), или это может быть расположение большой вонючей ошибки либо сейчас, либо после будущих модификаций.
В некотором смысле проверка правописания сопоставима: что-то может «пройти» проверку правописания и быть написано с ошибками таким образом, чтобы соответствовать слову в словаре. Или это может "потерпеть неудачу", потому что правильных слов нет в словаре. Или это может пройти и быть полной ерундой. Проверка орфографии - это инструмент, который помогает вам определить места, которые вы, возможно, пропустили при чтении корректуры, но так же, как он не может гарантировать полное и правильное чтение корректуры, поэтому охват кода не может гарантировать полное и правильное тестирование.
И, конечно же, неправильный способ использовать проверку орфографии отлично подходит для каждого предложения, которое он предлагает, так что уклонение становится хуже, чем если бы мы оставили это в кредит.
С охватом кода может быть соблазнительно, особенно если у вас почти идеальный 98%, заполнить дела, чтобы найти оставшиеся пути.
Это равносильно исправлению с проверкой орфографии, шить, что это все слова погода или узел, это все подходящие слова. В результате получается беспорядок.
Однако, если вы рассмотрите, какие тесты действительно нужны непокрытым путям, инструмент покрытия кода выполнит свою работу; не в том, чтобы пообещать вам правильность, а в том, чтобы указать на некоторую работу, которую нужно было сделать.