Анализ покрытия для функциональных тестов - PullRequest
15 голосов
/ 09 апреля 2011

В проекте, над которым я работаю, у нас есть функциональные тесты, написанные на Selenium.Приложение претерпевает функциональные изменения с каждым выпуском функций.

Есть ли инструмент / механизм, который мы можем отслеживать пробелы в автоматизированных функциональных тестах, чтобы, по крайней мере, ручные тестировщики могли следить за этими областями?

Примечание: мыне занимаясь FTDD, поэтому охват функциональными тестами может быть довольно слабым, даже если мы обеспечиваем высокий охват модульными тестами.Мы используем NCover для проверки покрытия модульных тестов.

Ответы [ 5 ]

4 голосов
/ 10 мая 2011

Существует как минимум два (коммерческих, но дешевых) инструмента, о которых я знаю, которые позволяют подключаться к процессу IIS для сбора данных покрытия для приложений IIS.

NCover:

NCover включает ключ командной строки // iis.Этот переключатель настраивает среду покрытия в IIS и перезапускает веб-сервер.Вы будете запускать NCover следующим образом, чтобы проанализировать покрытие для ваших веб-приложений:

NCover.Console.exe nunit-console.exe TestAssembly.dll // iis Когда вы запустите NCover таким образом, IIS будет перезапущенПозвольте NCover контролировать ваше покрытие, и ваши тесты будут запущены.После завершения NCover остановит IIS и отсоединится.

См .: http://docs.ncover.com/how-to/code-coverage-of-asp-net-applications-on-iis/

DotCover с помощью реактивного мозга:

Dotcover имеет визуальныйстудийная интеграция, которая позволяет подключаться к приложению IIS так же, как если бы вы хотели отслеживать свое приложение IIS.Это, вероятно, также можно запустить с помощью инструмента командной строки dotCover, хотя на самом деле я никогда не пробовал этого.

См. http://www.jetbrains.com/dotcover/

Я думаю, что Rational и Microsoft Teamsystem также имеют решения, но онинемного дороже.

3 голосов
/ 10 мая 2011

Мы используем систему для тестирования, которая включает человека, создающего текстовое повествование - тестовый скрипт - для ручного тестирования функциональности.Это перечислено некоторым способом (например, [функциональность] -001).Затем наши тесты Selenium отмечаются как охватывающие одно или несколько перечислений.

Когда создается новая функциональность, пишутся и перечисляются новые тестовые сценарии.Затем с тестированием Selenium мы можем сравнить его список того, что автоматизировано относительно перечисленных тестовых сценариев - дельта - это то, что должно быть проверено вручную.

2 голосов
/ 11 мая 2011

Некоторые из наших средств тестирования (в настоящее время Java, C # и COBOL) предназначены для обработки подобных вещей.

Если вы запускаете свое приложение и выполняете определенную функциюВы можете использовать эти инструменты тестирования покрытия для сбора данных покрытия кода для этой конкретной функции.По сути, это запись всего кода, который выполняет функциональность.С некоторыми незначительными сценариями вы можете организовать запуск каждого теста на функциональность и получить данные покрытия кода для этого теста.

Собранные векторы покрытия теста можно объединить в сводный вектор с помощью инструмента, который даст вам кодномер покрытия для вашего кода на основе всего набора функциональных тестов.

Если вы измените базу кода, инструмент покрытия теста скажет вам, какие блоки кода были изменены (он сравнивается на уровне метода на предмет различий),Это, в свою очередь, может быть применено к векторам тестового покрытия, уже собранным для отдельных функций;если есть пересечение, вам нужно снова запустить функциональный тест, так как код, от которого он зависел, изменился.

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

0 голосов
/ 24 января 2019

Предложить функциональный инструмент покрытия для .net core

NCover: Не поддерживает ядро ​​.net

dotcover: Есть дефект в открытом состоянии

0 голосов
/ 11 мая 2011

NDepend имеет возможность отображать дельты покрытия кода между различными версиями.

с сайта NDepend (http://www.ndepend.com/Features.aspx#Coverage):

Написание автоматических тестов является основной практикой для повышения правильности кода.часть кода покрыта автоматическими тестами, что помогает улучшить тесты и, следовательно, помогает повысить корректность кода.

NDepend собирает данные покрытия кода из NCover ™ и Visual Studio Team System ™. Из этих данных NDepend выводит некоторые показателидля методов, типов, пространств имен и сборок: PercentageCoverage, NbLinesOfCodeCovered, NbLinesOfCodeNotCovered и BranchCoverage (только из NCover).

Эти метрики могут использоваться совместно с другими функциями NDepend. Например, вы можете знать, какой код был добавлен илиРеорганизован с момента последнего выпуска и не полностью покрыт тестами. Вы можете написать ограничение CQL для непрерывной проверки того, что набор классов покрыт на 100%. Вы можете перечислить, какие сложные методы требуют большес.

Демонстрация видео здесь: http://s3.amazonaws.com/NDependOnlineDemos/Coverage_viewlet_swf.html

...