Выбор ответа Senior Процессы и метрики качества обновлено

Что значит 100% покрытия кода

Вопрос

Руководитель говорит: «У нас 100% покрытие кода тестами, значит багов нет». Что неверно в этом рассуждении?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Покрытие показывает, что код выполнялся, но не что результат проверен. Тест может выполнить строку и ничего не проверить (нет утверждений), может не попасть на граничное значение, а отсутствующую в коде функциональность покрытие не видит вовсе.

Варианты ответа

  1. Ничего: 100% покрытия гарантирует, что каждая строка проверена и багов нет
  2. 100% покрытия недостижимо на реальном коде, значит цифра посчитана неверно
  3. Покрытие кода относится к ручному тестированию, автотесты оно не учитывает
  4. Покрытие показывает, что код выполнялся, но не что результат проверенправильный ответ

Разбор

Тест может выполнить строку и ничего не проверить (нет утверждений), может не попасть на граничное значение, а отсутствующую в коде функциональность покрытие не видит вовсе. Это тот же принцип: тестирование показывает наличие дефектов, но не доказывает отсутствие. 100% достижимо на небольших модулях. Покрытие кода измеряют при прогоне автотестов, а не ручных.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.