Авенир Воронов
Veai
Что значит «хорошо покрыть код тестами»? Ответ на этот вопрос менялся десятилетиями.
Сначала мы считали покрытые строки кода. Затем появились более быстрые алгоритмы сбора покрытия, метрики по инструкциям процессора, анализ комбинаций значений переменных, data coverage, фаззинг и тепловые карты выполнения. Позже исследователи начали изучать достижимость путей в программе, рациональность тестирования и даже пытались математически определить, когда тестов уже достаточно.
Но все эти подходы сталкивались с одной и той же проблемой: они хорошо работают с кодом, но почти не учитывают контекст. Насколько сценарий важен для бизнеса? Соответствует ли тест требованиям? Какие пользовательские сценарии действительно имеют значение, а какие можно не проверять?
В этом докладе проследим эволюцию подходов к оценке качества тестирования — от line coverage до context coverage, domain coverage и business coverage. Обсудим, как большие языковые модели меняют само представление о покрытии тестами, почему теперь можно учитывать требования, предметную область и бизнес-контекст, а также где проходят новые границы применимости LLM.
Доклад будет полезен разработчикам, тестировщикам, QA-автоматизаторам и архитекторам, которым интересно не только писать тесты, но и понимать, что именно действительно стоит тестировать и почему.
Veai