Мутационное тестирование. Если в коде появится ошибка - заметят ли ее наши тесты?

Безопасность и контроль качества

Программный комитет ещё не принял решения по этому докладу

Целевая аудитория

Middle/Senior Go-разработчики которые уже пишут тесты и хотят делать это лучше и эффективнее

Тезисы

Высокий code coverage создаёт ощущение надёжности. Но факт исполнения строки не означает, что тест способен обнаружить дефект в ней. Код может быть покрыт, при этом тесты остаются нечувствительными к типичным ошибкам: инверсии условий, граничным случаям, подмене операторов сравнения или изменению возвращаемых значений.

В докладе разберём мутационное тестирование в Golang с практической точки зрения: как его внедрять в существующий проект, как интерпретировать mutation score и как использовать его в повседневной разработке. Обсудим влияние на CI, стоимость запуска, ограничения подхода и место mutation testing рядом с coverage - как метрики, отвечающей на другой вопрос о качестве тестов.

Разработчик с более чем 10-летним опытом и разнообразной экспертизой. Последние 5 лет специализируется на Golang.

Видео