Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Я только что вспомнил старое обсуждение в твиттере об измерении эффективности тестов и о том, какие действия следует предпринять, если тесты больше не представляют ценности. Вот моё мнение.
Автоматизация важная часть стратегии тестирования. Однако это не то что реализуется один раз, а затем работает вечно. Пока приложение развивается ваши автотесты должны развиваться вместе с ним.
Автоматизация тестирования VS Приложение
К любому серьезному проекту автоматизации стоит относиться как к любому другому проекту - его необходимо рефакторить, расширять, обновлять или даже портировать на другой фреймворк. Во время этих процессов сценарии тестирования (и их реализацию) необходимо регулярно пересматривать.
Практики, которые применяются на основном приложении должны также применяться на проекте с автотестами: код ревью, планирование и ретроспективы.
Проверка эффективности тестов
Тесты могут быть более или менее эффективны в зависимости от нескольких факторов:
Насколько воспроизводимы результаты тестов?
Как долго проходят тесты?
Сколько времени требуется для поддержки тестов?
Насколько понятны результаты прогона тестов?
Насколько надежны тесты?
Насколько ценная обратная связь?
Все эти моменты важны, но основной критерий для автотеста - это затраты на его поддержку в сравнении с его ценностью для проекта.
Что это значит для ваших тестов?
Выстраиваем процесс
Важно выстроить процесс работы с автотестами, требующими поддержки и особенно с нестабильными(flacky) тестами. Если сразу не уделять должного внимание к автотестам доверие к ним упадет и в конечном итоге упавшие тесты будут полностью игнорироваться
Обычно мы делаем это так:
Это неполный процесс, я просто хотел здесь показать основную идею.
Let it go, let it go...
Если тест не проходит несколько раз и его починка может занять много времени, он обычно проверяется по схеме указанной выше.
Это необходимо делать регулярно, это поможет автотестам оставаться быстрыми, актуальными, отзывчивыми и значимыми.