Мутационное тестирование. Если в коде появится ошибка - заметят ли ее наши тесты?
Программный комитет ещё не принял решения по этому докладу
Целевая аудитория
Тезисы
Высокий code coverage создаёт ощущение надёжности. Но факт исполнения строки не означает, что тест способен обнаружить дефект в ней. Код может быть покрыт, при этом тесты остаются нечувствительными к типичным ошибкам: инверсии условий, граничным случаям, подмене операторов сравнения или изменению возвращаемых значений.
В докладе разберём мутационное тестирование в Golang с практической точки зрения: как его внедрять в существующий проект, как интерпретировать mutation score и как использовать его в повседневной разработке. Обсудим влияние на CI, стоимость запуска, ограничения подхода и место mutation testing рядом с coverage - как метрики, отвечающей на другой вопрос о качестве тестов.
Разработчик с более чем 10-летним опытом и разнообразной экспертизой. Последние 5 лет специализируется на Golang.