Мутационное тестирование намеренно вносит небольшие изменения в код и проверяет, обнаруживают ли их тесты. Оно помогает отличить выполнение строки от проверки её правильного поведения.
Что такое мутационное тестирование (Mutation Testing) и как оно помогает оценить реальное качество и покрытие тестами кодовой базы?
Мутационное тестирование намеренно вносит небольшие изменения в код и проверяет, обнаруживают ли их тесты. Оно помогает отличить выполнение строки от проверки её правильного поведения.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Мутационное тестирование намеренно вносит небольшие изменения в код и проверяет, обнаруживают ли их тесты. Оно помогает отличить выполнение строки от проверки её правильного поведения.
Например, инструмент меняет > на >= или удаляет возврат: если тесты остаются зелёными, возможно, не проверен граничный случай. Погибший мутант выявлен тестами; выживший требует разбора, но может быть семантически эквивалентным исходному коду. Mutation score полезен как сигнал, не абсолютная оценка качества. Запуски дороги, поэтому начинают с критичной логики и ограниченных участков. Цель — усилить содержательные проверки, а не добавить тесты исключительно ради искусственной цифры.