Там какой-либо SW должен генерировать модульные тесты в C и встраиваемых приложениях? Причина, которую я спрашиваю, состоит в том, что мой босс сказал мне, что получил известие от кого-то, что "Вам нужен инструмент, чтобы проанализировать код и создать 80% всех соответствующих тестовых сценариев автоматически, остающиеся 20%, на которые Вы используете все свое время и внимание", еще потребовалось бы "слишком много времени".
Я - очень скептик об этом операторе и не вижу ясно, какие тесты, которые могли быть автоматические сгенерированный и если они будут хорошо работать вообще.
Я могу, однако, видеть, что было бы возможно генерировать тесты интерфейсного модуля автоматически для API:s.
Таким образом, кто-то может просветить меня по этой проблеме?
У вашего босса не тот конец палки.
Я не знаю инструментов, которые генерируют модульные тесты за вас.
Возможно, он путает покрытие кода и модульное тестирование. Хотя они и связаны между собой, на самом деле это разные вопросы.
Покрытие кода инструментирует ваш код и после завершения работы выдает вам информацию о том, какая часть вашего исходного кода была использована в процессе работы. Это полезно при модульном тестировании, так как эффективно показывает, что вы протестировали и где вам нужно сосредоточить свою работу.
Довольно легко охватить первые две трети кода, но уменьшающаяся отдача означает, что для достижения магических 100% требуется много времени и усилий.
Поиск в Google "генератора модульных тестов" обнаруживает множество вещей, но я не знаю, хороши ли они и подойдут ли они вашему случаю.
Это не модульное тестирование, но вы можете выполнить некоторую проверку кода с помощью lint или связанных инструментов. См .: http://www.lysator.liu.se/c/ten-commandments.html Я думаю, что текущий инструмент с открытым исходным кодом - это splint http://www.splint.org/
. В книгах Джона Бентли есть хорошее обсуждение роли кода "строительных лесов", включая тестовые каркасы.
Здесь мы используем CANtata , где я работаю для генерации модульных тестов / покрытия кода. Это прилично, хотя я думаю, что это немного дороговато.
Мы используем IBM RTRT
http://www-01.ibm.com/software/awdtools/test/realtime/index.html
Хотя в нашем случае мы не используем его для генерации тестов, но я видел некоторые возможности для генерации хотя бы скелета.