Перейти к основному содержимому

Метрики

Тесты — это такой же код, качество которого требует пристального контроля. Но чтобы управлять чем-то, необходимо уметь это измерять.

Рассмотрим основные показатели:

🛡️ Защита от регресса

Одна из главных функций тестов — защита от регресса. Она позволяет избежать нежелательного изменения поведения приложения при модификации деталей реализации, снижая вероятность случайных ошибок.

🔧 Устойчивость к рефакторингу

Тесты не должны препятствовать рефакторингу или значительно увеличивать его затраты по времени. Рефакторинг кода должен быть незаметным для тестов.

📈 Поддерживаемость

Тесты должны быть простыми в написании и обновлении. Если они требуют значительных ресурсов для поддержки, это обесценивает всю работу по оптимизации разработки — в данном контексте их проще не писать вовсе.

⚡ Быстродействие

Если тесты выполняются слишком медленно, их будут запускать реже. А редкий запуск увеличивает вероятность появления дефектов, что усложняет их обнаружение. В худшем случае долгие тесты игнорируются вовсе, что сводит их пользу к нулю. Это также негативно влияет на скорость и динамику рефакторинга.

примечание

storyshots делает особый акцент на быстродействие, в том числе из-за специального UI-режима, интерактивность в котором требует высокой скорости выполнения тестов.

Определив данные измерения, можно сформировать ряд требований, направленных на их максимизацию.