RSS Блог "След бит"
Подписаться
Тестирование мутаций для эры агентов
Покрытие кода — опасная метрика, поскольку она измеряет выполнение, а не верификацию, потенциально скрывая непроверенную критически важную функциональность. Мутационное тестирование, которое систематически вносит ошибки, чтобы проверить, обнаруживают ли их тесты, решает эту проблему, отмечая непроверенный код. Исторически инструменты мутационного тестирования были медленными и специфичными для конкретного языка, что препятствовало их внедрению, особенно в блокчейне. Universalmutator, использующий regex, получил распространение, но имел ограничения с многострочными операторами и неэффективной приоритизацией мутантов. Slither-mutate улучшил скорость за счет приоритизации мутантов и более чистого цикла тестирования, но остался специфичным для Solidity.
Новые инструменты, MuTON и mewt, нацелены на преодоление этих проблем. MuTON предлагает первоклассную поддержку языков блокчейна TON, используя парсер tree-sitter для лучшего понимания языка и обработки многострочных операторов. Mewt служит языко-независимым ядром, также поддерживающим Solidity, Rust и Go. Оба инструмента хранят результаты в базе данных SQLite, обеспечивая постоянство и гибкую фильтрацию. AI-агенты теперь могут эффективно настраивать кампании и сортировать результаты, используя специализированные навыки.
Будущая разработка сосредоточена на генерации тестов, управляемой ИИ, которая кодирует требования, а не только обнаружение ошибок. Цель состоит в том, чтобы наделить AI-агентов скептицизмом и требовать внешней валидации для надежных наборов тестов. Пользователям рекомендуется установить MuTON и mewt, внести свой вклад в проекты с открытым исходным кодом и следить за новыми навыками ИИ, которые упростят мутационное тестирование. Эти достижения обещают превратить мутационное тестирование в более рутинную и эффективную часть разработки программного обеспечения.