Поиск подходящих тестов для ревизии - PullRequest
1 голос
/ 18 января 2009

Мы используем cobertura в качестве инструмента покрытия кода. Тесты выполняются с использованием RFT-Rational Functional Tester (500 нечетных тестов). Запуск RFT занимает довольно много времени. Чтобы побудить разработчиков запускать тесты RFT, мы думаем об инструменте, который способен перечислять тесты, которые охватывают «набор изменений».

Подход примерно такой:

  1. На сервере интеграции запускайте каждый тест rft, создавайте базу данных для данных покрытия (файлы .ser для cobertura) по отдельным тестам
  2. для каждого набора изменений, найдите тесты, просматривая файлы .ser
  3. Обновить базу данных при повторном запуске тестов. По сути, база данных из прошлых прогонов используется для «угадывания» минимального теста для текущего набора изменений.

Для начала мы можем рассматривать набор изменений как просто список файлов. Однако это может быть строка изменения кода.

Есть комментарии? Существуют ли инструменты с этой возможностью? Только что узнал, что IntelliJ 8 имеет эту функцию для тестов, запускаемых в in. (Возможно, для модульных тестов)

1 Ответ

0 голосов
/ 09 января 2013

Текущее решение реализовано примерно (так же, как в вопросе)

  1. Сбор файла ser для каждого теста
  2. Создать базу данных затронутых классов и методов

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

Работает разумно, а не на 100%. Таким образом, фильтрация применяется только к изменениям, характерным для небольшой команды. Полный набор тестов запускается на основной ветке еженедельно

...