Как управлять техническим долгом в тестировании
Что проверяют
Видите ли вы долг в самом тестировании, а не только в коде продукта, и умеете ли гасить его без остановки релизов. Интервьюеру важно, как вы находите такой долг, чем измеряете и как объясняете бизнесу, зачем на него тратить время. Следом обычно спрашивают про нестабильные автотесты.
Как отвечать
Сначала назовите, из чего складывается долг:
- нестабильные тесты: падают через раз, команда привыкает перезапускать и перестаёт верить красному прогону;
- хрупкие локаторы и ожидания: длинные XPath по вёрстке,
sleepвместо явных ожиданий; - перекос пирамиды: почти всё проверяется через UI, хотя быстрее и надёжнее проверить это на уровне API или юнит-тестов;
- устаревшие кейсы: сценарии в TestRail или Qase про давно изменённую функциональность, тесты с
@Disabledилиskipбез задачи на починку; - ручная регрессия: повторяющиеся проверки, которые так и не автоматизировали.
Дальше процесс:
- учёт: долг заводится задачами в общем бэклоге с оценкой, иначе его не видно;
- метрики: доля нестабильных тестов, время прогона регресса, число падений не из-за багов продукта, количество отключённых тестов. Их динамика и есть аргумент для бизнеса;
- приоритет по риску: сначала то, что прикрывает критичные сценарии и сильнее всего мешает, например тест, который ложно падает в каждом прогоне;
- постоянный бюджет: фиксированная доля времени в каждом спринте плюс правило «тронул тест, приведи его в порядок». Разовый «месяц рефакторинга» случается редко;
- карантин: нестабильный тест выносится из основного прогона с задачей и сроком, а не удаляется молча.
Приведите свои цифры: сколько было нестабильных тестов, насколько сократился прогон.
Где спотыкаются
Сводят всё к проценту покрытия. Высокое покрытие с пустыми проверками это тоже долг, только незаметный.
Предлагают «автоматизировать всё» как решение. Плохо написанные автотесты сами становятся главным источником долга.
Говорят о долге языком команды: «код тестов ужасен». Бизнесу понятнее «регресс идёт шесть часов вместо двух, и каждый релиз сдвигается на день».