Тестовое покрытие кода без исходного кода?
Какие существуют инструменты, которые могут выполнять анализ покрытия кода на уровне машинного кода, а не на уровне исходного кода? Я ищу возможное решение для нечеткого тестирования программного обеспечения, к которому у меня нет доступа к исходному коду.
4 ответа
Я думаю, что инструментальные средства кода покрытия инструментов тестирования IBM Rational.
Если у вас есть такой инструмент, но нет доступа к источнику, что конкретно будет означать покрытие кода, кроме 100%?
Если бы у вас не было 100% покрытия, вы бы знали, что ничего не выполняли. Но у тебя не было бы возможности узнать что.
Старый пост... но мои два цента.
Если у вас есть несколько jar-файлов и вы знаете, какие классы / методы вы используете, вы можете использовать jma с помощью Emma и запускать свое приложение-пример для этих jar-файлов.
В моем случае у меня есть фляги, которые на самом деле являются проприетарными компонентами (для генерации HTML-кода), которые наша компания использует для создания своих веб-страниц. У нас есть пример приложения, использующего эти компоненты, и несколько тестов, которые выполняются на примере приложения. Я написал задачу ant для копирования зависимостей maven в каталог, инструментирования их и запуска тестов для этих инструментальных jar-файлов. Эта задача вызывается из POM Maven и, следовательно, является частью процесса сборки.
Кроме того, в рамках процесса сборки мы обрабатываем данные покрытия emma для создания отчета. В этом отчете показаны классы и методы в банке, для которых у нас нет исходного кода! Надеюсь это поможет.
Если у вас есть количество точек входа (общедоступные методы), вы можете проверить покрытие для этого. Я не знаю никакого инструмента для этого, хотя. В противном случае вам придется проверить покрытие кода сборки, и я не знаю, возможно ли это.