2008-11-11 3 views
2

Я работаю над проектом, который только что сказал, что нам нужно включить инструмент тестирования Parasoft C++ в любые изменения кода в будущем. Проблема, с которой я сталкиваюсь, заключается в том, что у нас есть методы с очень небольшими изменениями, и теперь кажется, что мы вынуждены единично тестировать весь метод. Многие из этих методов составляют сотни или тысячи строк кода. Я точно знаю, что если мне нужно полностью протестировать методы, мы столкнемся с устранением старых проблем, таких как проверки нулевого указателя, и наш бюджет и рабочая сила не смогут справиться с этими исправлениями.parasoft C++ unit test question

Кто-нибудь знает, может ли parasoft протестировать небольшие части метода? или если другая структура тестирования модулей будет работать лучше.

ответ

6

Внесите небольшое изменение, которое вы делаете в новом методе, проверьте это. Затем измените оригинал, чтобы вызвать новый метод.

Вы проверите изменения и получите небольшой рефакторинг для лучшего кода.

+0

Звучит неплохо, когда я работаю, я буду помнить об этом. Большинство изменений не имеют смысла создавать новые методы, но могут быть хорошей возможностью реорганизовать больше, чем просто изменения. – 2008-11-11 15:15:32

1

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

Одно уродливое предложение состоит в том, чтобы использовать #include для включения небольших фрагментов кода непосредственно в методы, с тем же #include, который использовался для включения этого кода в метод тестирования, который устанавливает переменные, используемые этим кодом.

Я рекомендую книгу Майкла Пера Working Effectively with Legacy Code за советом о том, как добавить тестирование на большую базу кода. Он также доступен в Интернете по адресу Safari.