View on GitHub

Обеспечение качества и тестирование (Семинар)

Курс читается на Факультете компьютерных наук Высшей школы экономики

Семинар 7

Мутации исходного кода.

Слайды

Видео

Пример

Java-проект со скриптом сборки для Maven, который демонстрирует использование Pitest для мутационного тестирования, находится здесь. В проекте используются тесты на JUnit 5. Настроено измерение тестового покрытия при помощи JaCoCo.

Для запуска мутационного тестирования нужно запустить следующие задания Maven-а:

  1. compile - скомпилировать код;
  2. test - скомпилировать тесты;
  3. pitest:mutationCoverage - запустить Pitest.

Отчет о тестировании Pitest (в формате HTML) будет в папке example/target/pit-reports. Отчет о покрытии JaCoCo (в формате HTML) будет в папке example/target/site/jacoco Можно сравнить эти отчеты и заметить, что покрытие кода на 100% не всегда означает, что код был полностью протестирован.

В IntelliJ IDEA все выглядит так:

IntelliJ IDEA.

Домашнее задание

Срок сдачи без штрафа: 14.11.2020

Задание

Результат

Примеры мутантов

Ссылки

Литература

  1. Мутационное тестирование (Wikipedia).
  2. Про мутационное тестирование (Хабр).
  3. Pitest.
  4. Пример работы с PIT mutator (Хабр).
  5. Еще про мутационное тестирование.
  6. Pitest example.
  7. JaCoCo для Maven.
  8. JUnit 5 with Maven.
  9. JS.
  10. Python.