2009-03-29 4 views
3

Я ищу инструмент статического анализа со зрелостью шины, который также производит анализ покрытия покрытия кода. Например, все нестатические функции в libfoo.c должны присутствовать в libfoo.h, тем самым все функции в libfoo.h должны иметь модульные тесты.анализ шины и тестирования покрытия?

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

Я работаю над проектом, который движется очень быстро, всевозможные вещи добавляются ежедневно, я надеюсь найти какой-то инструмент для статического анализа, который поможет обеспечить достаточный охват тестирования. Его большая, географически распределенная команда, которая означает, что материал получает совершенные 24/7, мне нужны ночные сборки, чтобы быть умнее.

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

CCAN работает над чем-то подобным, однако его будет за несколько месяцев до того, как будет написано что-либо существенное. Мне также нужно что-то зрелое.

Заранее благодарим за ссылки на любые драгоценные камни.

+1

«Испытательный охват» - это динамический анализ; вы не можете знать, что вы тестировали, если вы (динамически) не запускаете тесты (и динамически определяете, какой код получил запуск в результате). Splint - инструмент статического анализа; таким образом, он не может измерить охват тестирования. Поэтому я не понимаю, как их сочетать. Вы можете уточнить? –

ответ

5

Документация GCC указывает читателю на gcov для анализа покрытия кода. В этой статье доктора Доббса за 2005 год по адресу Defensive programming содержится обсуждение использования gcov.

+0

Спасибо за Оборонительную ссылку программирования. –

+0

gcov - это хорошо, я надеялся на что-то, встроенное в de-linter (не столько профиль). Все, что мне действительно нужно, это анализ покрытия, не основанный на том, сколько раз что-то действительно вводится, а просто используется. –

0

Возможно, вас заинтересовала выписка: What is the best command-line tool to clean up code? Я не знаю, поможет ли она, но есть много замечательных предложений.

+0

Я очень доволен шинами, на что я надеюсь, это что-то вроде этого, что также обеспечивает анализ охвата тестированием. Мне просто нужно знать (ночно), если функции, которые действительно должны быть протестированы, не проверяются. –

Смежные вопросы