Конференция для разработчиков мобильных приложений

21-22 апреля 2017, Санкт-Петербург

Конгрессный Центр «ПетроКонгресс», Лодейнопольская улица, дом 5

Mutation Testing: насколько хороши ваши тесты


День 1 /  / Зал 2  /  RU / Хардкор. Сложный низкоуровневый доклад, требующий от слушателя знаний технологии. /

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

Мутационное тестирование — один из таких инструментов: Есть некая функция и тест для этой функции. Любое семантическое изменение этой функции («мутант») должно ломать тест («уничтожать мутанта»). Если тест все ещё проходит, то мы считаем мутанта выжившим. Выжившие мутанты говорят о том, что либо тест, либо тестируемая функция могут быть улучшены.

Этот метод не получил широкого распространения, несмотря на то, что исследования в этой сфере ведутся с начала семидесятых годов. Одной из главных проблем является вычислительная стоимость.

В этом докладе я хочу представить Mull: систему для мутационного тестирования на основе LLVM. Использование JIT и runtime-компиляции делает эту систему доступной для повседневного использования.

Система применима для языков которые построены на основе LLVM: C, C++, Objective-C, Rust, Swift, etc.

Алексей Денисов, Uberchord GmbH

Алексей занимается профессиональной разработкой софта около семи лет. За это время успел поработать в разных областях и на разных платформах: iOS apps, web (backend), Linux desktop apps. Его настоящей страстью являются компиляторы и низкоуровневое программирование. Помимо этого, Алексей интересуется тестированием и качеством софта в целом. Благодаря этим интересам на свет появились два проекта:

  • System Under Test: блог о тестировании различных open source проектов (https://systemundertest.org)
  • Mull: система для мутационного тестрования на основе LLVM (https:// github.com/mull-project/mull)

Будучи помешанным на обмене знаниями, Алексей ведёт блог, делает доклады и организовывает LLVM Social в Берлине.


Все спикеры и доклады  

Контакты

Программа конференции

program@mobiusconf.com

Спонсоры

sponsors@mobiusconf.com

Партнеры

partners@mobiusconf.com