Тестирование на мутации происх... Заметка
RSS Блог "След бит"

Тестирование на мутации происходит в DAML

Компания выпустила Mewt, движок мутационного тестирования с открытым исходным кодом, который выявляет пробелы в наборах тестов, и теперь расширила его для поддержки DAML, языка, используемого для приложений Canton Network. Mewt читает DAML, генерирует мутанты и запускает их через существующие наборы тестов, чтобы подсчитать количество выживших мутантов. Этот подсчет указывает, насколько хорошо проверяет набор тестов, обеспечивая более точную меру эффективности тестов, чем традиционные отчеты о покрытии кода. Отчеты о покрытии кода могут вводить в заблуждение, поскольку они только указывают, был ли выполнен код, а не то, откажут ли тесты, если код перестанет работать должным образом. Мутационное тестирование, с другой стороны, оценивает тесты, саботируя код и проверяя, откажут ли тесты, обеспечивая более полную меру эффективности тестов. Поддержка DAML в Mewt включает два новых мутационных теста, нацеленных на примитивы авторизации, которые являются распространенными источниками ошибок в контрактах DAML. Инструмент может быть легко интегрирован в существующие рабочие процессы, а его вывод дает четкое представление о том, какие тесты отсутствуют и нуждаются в написании. Используя Mewt, разработчики могут гарантировать, что их тесты являются всеобъемлющими и эффективными, снижая риск ошибок и недочетов в их коде. Компания планирует продолжать совершенствовать Mewt, включая добавление большего количества мутаций и улучшение его способности обнаруживать эквивалентные мутанты, которые представляют собой изменения, не влияющие на поведение кода. В целом, Mewt предоставляет разработчикам мощный инструмент для повышения качества и эффективности их тестов, а его поддержка DAML является важным шагом в обеспечении надежности и безопасности приложений Canton Network. Использование Mewt может помочь разработчикам выявлять и исправлять ошибки на ранних стадиях процесса разработки, снижая общую стоимость и время, необходимые для поставки высококачественного программного обеспечения.